Martin Betak has uploaded a new change for review. Change subject: frontend: Builders on frontend ......................................................................
frontend: Builders on frontend Change-Id: I7cbd0f8c79ae13dd368a7542262397168c363f57 Signed-off-by: Martin Betak <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/BuilderExecutor.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CommonUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsVmBaseToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsVmBaseToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/QuotaUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/SingleQxlUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyUnitToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyVmBaseToVmBaseBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/VmSpecificUnitToVmBuilder.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmSnapshotListModel.java 18 files changed, 292 insertions(+), 284 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/23474/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/BuilderExecutor.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/BuilderExecutor.java index f57eeaa..be33032 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/BuilderExecutor.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/BuilderExecutor.java @@ -22,6 +22,14 @@ private BuilderList<S, D> builders; /** + * Helper method that constructs the @{link BuilderExecutor} from given builders and immediately utilizes him + * to perform build from <code>source</code> to <code>destination</code>. + */ + public static <S, D> void build(S source, D destination, Builder<S, D>... builders) { + new BuilderExecutor<S, D>(builders).build(source, destination); + } + + /** * Asynchronous version of this class. Use it when any builder in the chain is asynchronous * * @param callback diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CommonUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CommonUnitToVmBaseBuilder.java new file mode 100644 index 0000000..908a52a --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CommonUnitToVmBaseBuilder.java @@ -0,0 +1,31 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.DisplayType; +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.EntityModel; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class CommonUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + vm.setVmType(model.getVmType().getSelectedItem()); + vm.setVdsGroupId(model.getSelectedCluster().getId()); + vm.setTimeZone(model.getTimeZone().getIsAvailable() && model.getTimeZone().getSelectedItem() != null ? model.getTimeZone() + .getSelectedItem().getTimeZoneKey() : ""); //$NON-NLS-1$ + vm.setDefaultBootSequence(model.getBootSequence()); + vm.setDomain(model.getDomain().getIsAvailable() ? model.getDomain().getSelectedItem() : ""); //$NON-NLS-1$ + vm.setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage().getSelectedItem() : ""); //$NON-NLS-1$ + vm.setMemSizeMb(model.getMemSize().getEntity()); + vm.setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); + vm.setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); + vm.setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); + vm.setSsoMethod(model.extractSelectedSsoMethod()); + vm.setNumOfSockets(model.getNumOfSockets().getSelectedItem()); + vm.setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) / model.getNumOfSockets().getSelectedItem()); + vm.setDeleteProtected(model.getIsDeleteProtected().getEntity()); + vm.setOsId(model.getOSType().getSelectedItem()); + vm.setVncKeyboardLayout(vm.getVncKeyboardLayout()); + vm.setDefaultDisplayType(model.getDisplayProtocol().getSelectedItem().getEntity()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsUnitToVmBaseBuilder.java new file mode 100644 index 0000000..ade567c --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsUnitToVmBaseBuilder.java @@ -0,0 +1,19 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class DedicatedVmForVdsUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + // host migration configuration + VDS defaultHost = model.getDefaultHost().getSelectedItem(); + if (model.getIsAutoAssign().getEntity()) { + vm.setDedicatedVmForVds(null); + } else { + vm.setDedicatedVmForVds(defaultHost.getId()); + } + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsVmBaseToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsVmBaseToVmBaseBuilder.java new file mode 100644 index 0000000..f5ed458 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/DedicatedVmForVdsVmBaseToVmBaseBuilder.java @@ -0,0 +1,11 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; + +public class DedicatedVmForVdsVmBaseToVmBaseBuilder extends BaseSyncBuilder<VmBase, VmBase> { + @Override + protected void build(VmBase source, VmBase destination) { + destination.setDedicatedVmForVds(source.getDedicatedVmForVds()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsUnitToVmBaseBuilder.java new file mode 100644 index 0000000..0d54260 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsUnitToVmBaseBuilder.java @@ -0,0 +1,15 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VM; +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class KernelParamsUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + vm.setInitrdUrl(model.getInitrd_path().getEntity()); + vm.setKernelUrl(model.getKernel_path().getEntity()); + vm.setKernelParams(model.getKernel_parameters().getEntity()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToVmBaseBuilder.java new file mode 100644 index 0000000..baae745 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToVmBaseBuilder.java @@ -0,0 +1,16 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; + +/** + * Created by mbetak on 1/20/14. + */ +public class KernelParamsVmBaseToVmBaseBuilder extends BaseSyncBuilder<VmBase, VmBase> { + @Override + protected void build(VmBase source, VmBase destination) { + destination.setInitrdUrl(source.getInitrdUrl()); + destination.setKernelUrl(source.getKernelUrl()); + destination.setKernelParams(source.getKernelParams()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsUnitToVmBaseBuilder.java new file mode 100644 index 0000000..e6c25d8 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsUnitToVmBaseBuilder.java @@ -0,0 +1,13 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class MigrationOptionsUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + vm.setMigrationSupport(model.getMigrationMode().getSelectedItem()); + vm.setMigrationDowntime(model.getSelectedMigrationDowntime()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsVmBaseToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsVmBaseToVmBaseBuilder.java new file mode 100644 index 0000000..874a1e8 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/MigrationOptionsVmBaseToVmBaseBuilder.java @@ -0,0 +1,12 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; + +public class MigrationOptionsVmBaseToVmBaseBuilder extends BaseSyncBuilder<VmBase, VmBase> { + @Override + protected void build(VmBase source, VmBase destination) { + destination.setMigrationSupport(source.getMigrationSupport()); + destination.setMigrationDowntime(source.getMigrationDowntime()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/QuotaUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/QuotaUnitToVmBaseBuilder.java new file mode 100644 index 0000000..d2b3b95 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/QuotaUnitToVmBaseBuilder.java @@ -0,0 +1,14 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class QuotaUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + if (model.getQuota().getIsAvailable() && model.getQuota().getSelectedItem() != null) { + vm.setQuotaId(model.getQuota().getSelectedItem().getId()); + } + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/SingleQxlUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/SingleQxlUnitToVmBaseBuilder.java new file mode 100644 index 0000000..64a3891 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/SingleQxlUnitToVmBaseBuilder.java @@ -0,0 +1,12 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class SingleQxlUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + vm.setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyUnitToVmBaseBuilder.java new file mode 100644 index 0000000..76264a0 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyUnitToVmBaseBuilder.java @@ -0,0 +1,12 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class UsbPolicyUnitToVmBaseBuilder extends BaseSyncBuilder<UnitVmModel, VmBase> { + @Override + protected void build(UnitVmModel model, VmBase vm) { + vm.setUsbPolicy(model.getUsbPolicy().getSelectedItem()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyVmBaseToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyVmBaseToVmBaseBuilder.java new file mode 100644 index 0000000..b2a33c5 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/UsbPolicyVmBaseToVmBaseBuilder.java @@ -0,0 +1,11 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; + +public class UsbPolicyVmBaseToVmBaseBuilder extends BaseSyncBuilder<VmBase, VmBase> { + @Override + protected void build(VmBase source, VmBase destination) { + destination.setUsbPolicy(source.getUsbPolicy()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/VmSpecificUnitToVmBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/VmSpecificUnitToVmBuilder.java new file mode 100644 index 0000000..b16b5b2 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/VmSpecificUnitToVmBuilder.java @@ -0,0 +1,14 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VM; +import org.ovirt.engine.ui.uicommonweb.builders.BaseSyncBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class VmSpecificUnitToVmBuilder extends BaseSyncBuilder<UnitVmModel, VM> { + @Override + protected void build(UnitVmModel model, VM vm) { + vm.setVmtGuid(model.getTemplate().getSelectedItem().getId()); + vm.setVmDescription(model.getDescription().getEntity()); + vm.setComment(model.getComment().getEntity()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java index d80a5e1..400e736 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java @@ -33,6 +33,13 @@ import org.ovirt.engine.ui.uicommonweb.Cloner; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CommonUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.DedicatedVmForVdsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.MigrationOptionsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.SingleQxlUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyUnitToVmBaseBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; @@ -455,55 +462,19 @@ pool.setSpiceProxy(model.getSpiceProxy().getEntity()); } - Guid default_host; - VDS defaultHost = model.getDefaultHost().getSelectedItem(); - if (model.getIsAutoAssign().getEntity()) - { - default_host = null; - } - else - { - default_host = defaultHost.getId(); - } - VM vm = new VM(); vm.setVmtGuid((model.getTemplate().getSelectedItem()).getId()); + BuilderExecutor.build(model, vm.getStaticData(), + new CommonUnitToVmBaseBuilder(), + new KernelParamsUnitToVmBaseBuilder(), + new MigrationOptionsUnitToVmBaseBuilder(), + new DedicatedVmForVdsUnitToVmBaseBuilder(), + new SingleQxlUnitToVmBaseBuilder(), + new UsbPolicyUnitToVmBaseBuilder()); vm.setName(name); - vm.setVmOs(model.getOSType().getSelectedItem()); - vm.setDeleteProtected(model.getIsDeleteProtected().getEntity()); - vm.setSsoMethod(model.extractSelectedSsoMethod()); - vm.setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - vm.setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); - vm.setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); - vm.setVmDomain(model.getDomain().getIsAvailable() ? model.getDomain() - .getSelectedItem() : ""); //$NON-NLS-1$ - vm.setVmMemSizeMb(model.getMemSize().getEntity()); - vm.setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - vm.setVdsGroupId(model.getSelectedCluster().getId()); - vm.setTimeZone((model.getTimeZone().getIsAvailable() && model.getTimeZone() - .getSelectedItem() != null) ? model.getTimeZone().getSelectedItem().getTimeZoneKey() - : ""); //$NON-NLS-1$ - vm.setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - vm.setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) - / model.getNumOfSockets().getSelectedItem()); - vm.setUsbPolicy(model.getUsbPolicy().getSelectedItem()); vm.setStateless(false); - vm.setDefaultBootSequence(model.getBootSequence()); - vm.setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage() - .getSelectedItem() : ""); //$NON-NLS-1$ - vm.setDedicatedVmForVds(default_host); - vm.setKernelUrl(model.getKernel_path().getEntity()); - vm.setKernelParams(model.getKernel_parameters().getEntity()); - vm.setInitrdUrl(model.getInitrd_path().getEntity()); - vm.setMigrationSupport(model.getMigrationMode().getSelectedItem()); - vm.setMigrationDowntime(model.getSelectedMigrationDowntime()); - vm.setDefaultVncKeyboardLayout(model.getVncKeyboardLayout().getSelectedItem()); - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - vm.setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); vm.setCustomProperties(model.getCustomPropertySheet().serialize()); - vm.setVmType(model.getVmType().getSelectedItem()); vm.setAllowConsoleReconnect(model.getAllowConsoleReconnect().getEntity()); AddVmPoolWithVmsParameters param = @@ -511,7 +482,7 @@ param.setStorageDomainId(Guid.Empty); param.setDiskInfoDestinationMap(model.getDisksAllocationModel() - .getImageToDestinationDomainMap()); + .getImageToDestinationDomainMap()); param.setConsoleEnabled(model.getIsConsoleDeviceEnabled().getEntity()); param.setVirtioScsiEnabled(model.getIsVirtioScsiEnabled().getEntity()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java index ea239d9..d2169f2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java @@ -31,6 +31,14 @@ import org.ovirt.engine.ui.uicommonweb.Cloner; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CommonUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.DedicatedVmForVdsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.MigrationOptionsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.QuotaUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.SingleQxlUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyUnitToVmBaseBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; @@ -428,63 +436,26 @@ } // Save changes. - template.setVmType(model.getVmType().getSelectedItem()); + BuilderExecutor.build(model, template, + new CommonUnitToVmBaseBuilder(), + new KernelParamsUnitToVmBaseBuilder(), + new MigrationOptionsUnitToVmBaseBuilder(), + new QuotaUnitToVmBaseBuilder(), + new DedicatedVmForVdsUnitToVmBaseBuilder(), + new SingleQxlUnitToVmBaseBuilder(), + new UsbPolicyUnitToVmBaseBuilder()); template.setName(name); - template.setOsId(model.getOSType().getSelectedItem()); - template.setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); template.setAllowConsoleReconnect(model.getAllowConsoleReconnect().getEntity()); template.setDescription(model.getDescription().getEntity()); template.setComment(model.getComment().getEntity()); - template.setDomain(model.getDomain().getIsAvailable() ? model.getDomain().getSelectedItem() : ""); //$NON-NLS-1$ - template.setMemSizeMb(model.getMemSize().getEntity()); - template.setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - template.setVdsGroupId((model.getSelectedCluster()).getId()); - template.setTimeZone((model.getTimeZone().getIsAvailable() && model.getTimeZone().getSelectedItem() != null) ? (model.getTimeZone() - .getSelectedItem()).getTimeZoneKey() - : ""); //$NON-NLS-1$ - template.setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - template.setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) - / model.getNumOfSockets().getSelectedItem()); - template.setUsbPolicy(model.getUsbPolicy().getSelectedItem()); template.setStateless(model.getIsStateless().getEntity()); template.setRunAndPause(model.getIsRunAndPause().getEntity()); - template.setDeleteProtected(model.getIsDeleteProtected().getEntity()); - template.setSsoMethod(model.extractSelectedSsoMethod()); - template.setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - template.setDefaultBootSequence(model.getBootSequence()); - template.setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage().getSelectedItem() : ""); //$NON-NLS-1$ template.setAutoStartup(model.getIsHighlyAvailable().getEntity()); - template.setKernelUrl(model.getKernel_path().getEntity()); - template.setKernelParams(model.getKernel_parameters().getEntity()); - template.setInitrdUrl(model.getInitrd_path().getEntity()); - template.setVncKeyboardLayout(model.getVncKeyboardLayout().getSelectedItem()); template.setCreatedByUserId(selectedItem.getCreatedByUserId()); - template.setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); - template.setMigrationDowntime(model.getSelectedMigrationDowntime()); - - if (model.getQuota().getIsAvailable() && model.getQuota().getSelectedItem() != null) { - template.setQuotaId(model.getQuota().getSelectedItem().getId()); - } - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - template.setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); EntityModel<Integer> prioritySelectedItem = model.getPriority().getSelectedItem(); template.setPriority(prioritySelectedItem.getEntity()); - - // host migration configuration - VDS defaultHost = model.getDefaultHost().getSelectedItem(); - if (model.getIsAutoAssign().getEntity()) - { - template.setDedicatedVmForVds(null); - } - else - { - template.setDedicatedVmForVds(defaultHost.getId()); - } - - template.setMigrationSupport(model.getMigrationMode().getSelectedItem()); model.startProgress(null); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java index de00a7a..7daea8e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java @@ -42,6 +42,16 @@ import org.ovirt.engine.ui.uicommonweb.ConsoleOptionsFrontendPersister.ConsoleContext; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CommonUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.DedicatedVmForVdsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsVmBaseToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.MigrationOptionsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.QuotaUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.SingleQxlUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyVmBaseToVmBaseBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.ConsoleModelsCache; @@ -595,40 +605,21 @@ VM tempVar = new VM(); tempVar.setId(vm.getId()); - tempVar.setVmType(model.getVmType().getSelectedItem()); - tempVar.setVmOs(model.getOSType().getSelectedItem()); - tempVar.setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); - tempVar.setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); + BuilderExecutor.build(model, tempVar.getStaticData(), + new CommonUnitToVmBaseBuilder(), + new QuotaUnitToVmBaseBuilder(), + new SingleQxlUnitToVmBaseBuilder()); + BuilderExecutor.build(vm.getStaticData(), tempVar.getStaticData(), + new KernelParamsVmBaseToVmBaseBuilder(), + new UsbPolicyVmBaseToVmBaseBuilder()); tempVar.setAllowConsoleReconnect(model.getAllowConsoleReconnect().getEntity()); - tempVar.setVmDomain(model.getDomain().getIsAvailable() ? model.getDomain().getSelectedItem() : ""); //$NON-NLS-1$ - tempVar.setVmMemSizeMb(model.getMemSize().getEntity()); - tempVar.setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - tempVar.setVdsGroupId(model.getSelectedCluster().getId()); - tempVar.setTimeZone(model.getTimeZone().getIsAvailable() && model.getTimeZone().getSelectedItem() != null ? model.getTimeZone() - .getSelectedItem().getTimeZoneKey() : ""); //$NON-NLS-1$ - tempVar.setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - tempVar.setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) - / model.getNumOfSockets().getSelectedItem()); - tempVar.setDeleteProtected(model.getIsDeleteProtected().getEntity()); - tempVar.setSsoMethod(model.extractSelectedSsoMethod()); tempVar.setStateless(model.getIsStateless().getEntity()); tempVar.setRunAndPause(model.getIsRunAndPause().getEntity()); - tempVar.setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - tempVar.setDefaultBootSequence(model.getBootSequence()); tempVar.setAutoStartup(model.getIsHighlyAvailable().getEntity()); - tempVar.setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage().getSelectedItem() : ""); //$NON-NLS-1$ - tempVar.setUsbPolicy(vm.getUsbPolicy()); - tempVar.setInitrdUrl(vm.getInitrdUrl()); - tempVar.setKernelUrl(vm.getKernelUrl()); - tempVar.setKernelParams(vm.getKernelParams()); - tempVar.setDefaultVncKeyboardLayout(vm.getDefaultVncKeyboardLayout()); tempVar.setMigrationDowntime(vm.getMigrationDowntime()); VM newvm = tempVar; - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - newvm.setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); EntityModel<Integer> prioritySelectedItem = model.getPriority().getSelectedItem(); newvm.setPriority(prioritySelectedItem.getEntity()); @@ -639,10 +630,6 @@ model.getDescription().getEntity()); addVmTemplateParameters.setPublicUse(model.getIsTemplatePublic().getEntity()); - - if (model.getQuota().getSelectedItem() != null) { - newvm.setQuotaId(model.getQuota().getSelectedItem().getId()); - } addVmTemplateParameters.setDiskInfoDestinationMap(model.getDisksAllocationModel() .getImageToDestinationDomainMap()); @@ -1021,68 +1008,29 @@ // Save changes. VmTemplate template = model.getTemplate().getSelectedItem(); - gettempVm().setVmType(model.getVmType().getSelectedItem()); + BuilderExecutor.build(model, gettempVm().getStaticData(), + new CommonUnitToVmBaseBuilder(), + new KernelParamsUnitToVmBaseBuilder(), + new QuotaUnitToVmBaseBuilder(), + new MigrationOptionsUnitToVmBaseBuilder(), + new DedicatedVmForVdsUnitToVmBaseBuilder(), + new SingleQxlUnitToVmBaseBuilder(), + new UsbPolicyUnitToVmBaseBuilder()); + gettempVm().setVmtGuid(template.getId()); gettempVm().setName(name); - gettempVm().setVmOs(model.getOSType().getSelectedItem()); - gettempVm().setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); - gettempVm().setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); gettempVm().setAllowConsoleReconnect(model.getAllowConsoleReconnect().getEntity()); gettempVm().setVmDescription(model.getDescription().getEntity()); - gettempVm().setVmDomain(model.getDomain().getIsAvailable() ? model.getDomain() - .getSelectedItem() : ""); //$NON-NLS-1$ - gettempVm().setVmMemSizeMb(model.getMemSize().getEntity()); - gettempVm().setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - Guid newClusterID = model.getSelectedCluster().getId(); - gettempVm().setVdsGroupId(newClusterID); - gettempVm().setTimeZone((model.getTimeZone().getIsAvailable() && model.getTimeZone() - .getSelectedItem() != null) ? model.getTimeZone() - .getSelectedItem().getTimeZoneKey() : ""); //$NON-NLS-1$ - gettempVm().setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - gettempVm().setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) - / model.getNumOfSockets().getSelectedItem()); - gettempVm().setUsbPolicy(model.getUsbPolicy().getSelectedItem()); gettempVm().setStateless(model.getIsStateless().getEntity()); gettempVm().setRunAndPause(model.getIsRunAndPause().getEntity()); - gettempVm().setDeleteProtected(model.getIsDeleteProtected().getEntity()); - gettempVm().setSsoMethod(model.extractSelectedSsoMethod()); - gettempVm().setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - gettempVm().setDefaultBootSequence(model.getBootSequence()); - gettempVm().setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage() - .getSelectedItem() : ""); //$NON-NLS-1$ gettempVm().setAutoStartup(model.getIsHighlyAvailable().getEntity()); - gettempVm().setDefaultVncKeyboardLayout(model.getVncKeyboardLayout().getSelectedItem()); - - gettempVm().setInitrdUrl(model.getInitrd_path().getEntity()); - gettempVm().setKernelUrl(model.getKernel_path().getEntity()); - gettempVm().setKernelParams(model.getKernel_parameters().getEntity()); gettempVm().setCustomProperties(model.getCustomPropertySheet().serialize()); - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - gettempVm().setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); EntityModel<Integer> prioritySelectedItem = model.getPriority().getSelectedItem(); gettempVm().setPriority(prioritySelectedItem.getEntity()); - if (model.getQuota().getSelectedItem() != null) { - gettempVm().setQuotaId(model.getQuota().getSelectedItem().getId()); - } - gettempVm().setCpuPinning(model.getCpuPinning().getEntity()); - gettempVm().setMigrationDowntime(model.getSelectedMigrationDowntime()); - - VDS defaultHost = model.getDefaultHost().getSelectedItem(); - if (model.getIsAutoAssign().getEntity()) - { - gettempVm().setDedicatedVmForVds(null); - } - else - { - gettempVm().setDedicatedVmForVds(defaultHost.getId()); - } - - gettempVm().setMigrationSupport(model.getMigrationMode().getSelectedItem()); if (model.getIsNew()) { @@ -1141,6 +1089,7 @@ else { Guid oldClusterID = ((VM) selectedItem.getEntity()).getVdsGroupId(); + Guid newClusterID = model.getSelectedCluster().getId(); if (oldClusterID.equals(newClusterID) == false) { Frontend.getInstance().runAction(VdcActionType.ChangeVMCluster, new ChangeVMClusterParameters(newClusterID, diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java index a3c57c4..ebb14f8 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java @@ -61,6 +61,19 @@ import org.ovirt.engine.ui.uicommonweb.TagsEqualityComparer; import org.ovirt.engine.ui.uicommonweb.TypeResolver; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.builders.Builder; +import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CommonUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.DedicatedVmForVdsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.DedicatedVmForVdsVmBaseToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsVmBaseToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.MigrationOptionsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.MigrationOptionsVmBaseToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.QuotaUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.SingleQxlUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyVmBaseToVmBaseBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.ConsoleModelsCache; @@ -1305,45 +1318,21 @@ VM tempVar = new VM(); tempVar.setId(vm.getId()); - tempVar.setVmType(model.getVmType().getSelectedItem()); - if (model.getQuota().getSelectedItem() != null) { - tempVar.setQuotaId(model.getQuota().getSelectedItem().getId()); - } - tempVar.setVmOs(model.getOSType().getSelectedItem()); - tempVar.setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); - tempVar.setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); + BuilderExecutor.build(model, tempVar.getStaticData(), + new CommonUnitToVmBaseBuilder(), + new QuotaUnitToVmBaseBuilder(), + new SingleQxlUnitToVmBaseBuilder()); + BuilderExecutor.build(vm.getStaticData(), tempVar.getStaticData(), + new KernelParamsVmBaseToVmBaseBuilder(), + new DedicatedVmForVdsVmBaseToVmBaseBuilder(), + new MigrationOptionsVmBaseToVmBaseBuilder(), + new UsbPolicyVmBaseToVmBaseBuilder()); tempVar.setAllowConsoleReconnect(model.getAllowConsoleReconnect().getEntity()); - tempVar.setVmDomain(model.getDomain().getIsAvailable() ? model.getDomain().getSelectedItem() : ""); //$NON-NLS-1$ - tempVar.setVmMemSizeMb(model.getMemSize().getEntity()); - tempVar.setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - tempVar.setVdsGroupId(model.getSelectedCluster().getId()); - tempVar.setTimeZone(model.getTimeZone().getIsAvailable() && model.getTimeZone().getSelectedItem() != null ? (model.getTimeZone() - .getSelectedItem()).getTimeZoneKey() - : ""); //$NON-NLS-1$ - tempVar.setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - tempVar.setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) - / model.getNumOfSockets().getSelectedItem()); tempVar.setStateless(model.getIsStateless().getEntity()); tempVar.setRunAndPause(model.getIsRunAndPause().getEntity()); - tempVar.setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - tempVar.setDeleteProtected(model.getIsDeleteProtected().getEntity()); - tempVar.setSsoMethod(model.extractSelectedSsoMethod()); - tempVar.setDefaultBootSequence(model.getBootSequence()); tempVar.setAutoStartup(model.getIsHighlyAvailable().getEntity()); - tempVar.setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage().getSelectedItem() : ""); //$NON-NLS-1$ - tempVar.setUsbPolicy(vm.getUsbPolicy()); - tempVar.setInitrdUrl(vm.getInitrdUrl()); - tempVar.setKernelUrl(vm.getKernelUrl()); - tempVar.setKernelParams(vm.getKernelParams()); - tempVar.setDedicatedVmForVds(vm.getDedicatedVmForVds()); - tempVar.setMigrationSupport(vm.getMigrationSupport()); - tempVar.setDefaultVncKeyboardLayout(vm.getDefaultVncKeyboardLayout()); - tempVar.setMigrationDowntime(vm.getMigrationDowntime()); VM newvm = tempVar; - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - newvm.setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); EntityModel<Integer> prioritySelectedItem = model.getPriority().getSelectedItem(); newvm.setPriority(prioritySelectedItem.getEntity()); @@ -1876,71 +1865,35 @@ // Save changes. VmTemplate template = model.getTemplate().getSelectedItem(); - getcurrentVm().setVmType(model.getVmType().getSelectedItem()); + BuilderExecutor.build(model, getcurrentVm().getStaticData(), + new CommonUnitToVmBaseBuilder(), + new QuotaUnitToVmBaseBuilder(), + new KernelParamsUnitToVmBaseBuilder(), + new DedicatedVmForVdsUnitToVmBaseBuilder(), + new MigrationOptionsUnitToVmBaseBuilder(), + new UsbPolicyUnitToVmBaseBuilder()); + getcurrentVm().setVmtGuid(template.getId()); getcurrentVm().setName(name); - if (model.getQuota().getSelectedItem() != null) { - getcurrentVm().setQuotaId(model.getQuota().getSelectedItem().getId()); - } - getcurrentVm().setVmOs(model.getOSType().getSelectedItem()); - getcurrentVm().setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); getcurrentVm().setSingleQxlPci(model.getIsSingleQxlEnabled().getEntity()); getcurrentVm().setAllowConsoleReconnect(model.getAllowConsoleReconnect().getEntity()); getcurrentVm().setVmDescription(model.getDescription().getEntity()); getcurrentVm().setComment(model.getComment().getEntity()); - getcurrentVm().setVmDomain(model.getDomain().getIsAvailable() ? model.getDomain().getSelectedItem() - : ""); //$NON-NLS-1$ - getcurrentVm().setVmMemSizeMb(model.getMemSize().getEntity()); - getcurrentVm().setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - Guid newClusterID = model.getSelectedCluster().getId(); - getcurrentVm().setVdsGroupId(newClusterID); - getcurrentVm().setTimeZone((model.getTimeZone().getIsAvailable() && model.getTimeZone().getSelectedItem() != null) ? model.getTimeZone() - .getSelectedItem().getTimeZoneKey() - : ""); //$NON-NLS-1$ - getcurrentVm().setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - getcurrentVm().setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) - / model.getNumOfSockets().getSelectedItem()); - getcurrentVm().setUsbPolicy(model.getUsbPolicy().getSelectedItem()); getcurrentVm().setStateless(model.getIsStateless().getEntity()); getcurrentVm().setRunAndPause(model.getIsRunAndPause().getEntity()); - getcurrentVm().setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - getcurrentVm().setDeleteProtected(model.getIsDeleteProtected().getEntity()); - getcurrentVm().setSsoMethod(model.extractSelectedSsoMethod()); - getcurrentVm().setDefaultBootSequence(model.getBootSequence()); - getcurrentVm().setIsoPath(model.getCdImage().getIsChangable() ? model.getCdImage().getSelectedItem() - : ""); //$NON-NLS-1$ getcurrentVm().setAutoStartup(model.getIsHighlyAvailable().getEntity()); - - getcurrentVm().setInitrdUrl(model.getInitrd_path().getEntity()); - getcurrentVm().setKernelUrl(model.getKernel_path().getEntity()); - getcurrentVm().setKernelParams(model.getKernel_parameters().getEntity()); getcurrentVm().setCustomProperties(model.getCustomPropertySheet().serialize()); getcurrentVm().setBalloonEnabled(balloonEnabled(model)); - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - getcurrentVm().setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); EntityModel<Integer> prioritySelectedItem = model.getPriority().getSelectedItem(); getcurrentVm().setPriority(prioritySelectedItem.getEntity()); getcurrentVm().setCpuPinning(model.getCpuPinning().getEntity()); - getcurrentVm().setDefaultVncKeyboardLayout(model.getVncKeyboardLayout().getSelectedItem()); if (model.getCpuSharesAmount().getIsAvailable() && model.getCpuSharesAmount().getEntity() != null) { // $NON-NLS-1$ getcurrentVm().setCpuShares(model.getCpuSharesAmount().getEntity()); } - - if (model.getIsAutoAssign().getEntity()) { - getcurrentVm().setDedicatedVmForVds(null); - } - else { - VDS defaultHost = model.getDefaultHost().getSelectedItem(); - getcurrentVm().setDedicatedVmForVds(defaultHost.getId()); - } - - getcurrentVm().setMigrationSupport(model.getMigrationMode().getSelectedItem()); - getcurrentVm().setMigrationDowntime(model.getSelectedMigrationDowntime()); getcurrentVm().setUseHostCpuFlags(model.getHostCpu().getEntity()); @@ -2059,6 +2012,7 @@ // runEditVM: should be true if Cluster hasn't changed or if // Cluster has changed and Editing it in the Backend has succeeded: Guid oldClusterID = selectedItem.getVdsGroupId(); + Guid newClusterID = model.getSelectedCluster().getId(); if (oldClusterID.equals(newClusterID) == false) { ChangeVMClusterParameters parameters = diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmSnapshotListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmSnapshotListModel.java index b361a41..08521eb 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmSnapshotListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmSnapshotListModel.java @@ -33,6 +33,13 @@ import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.Linq.SnapshotByCreationDateCommparer; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CommonUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.DedicatedVmForVdsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.MigrationOptionsUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.QuotaUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.UsbPolicyUnitToVmBaseBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; @@ -612,57 +619,25 @@ // Save changes. VmTemplate template = model.getTemplate().getSelectedItem(); - getcurrentVm().setVmType(model.getVmType().getSelectedItem()); + BuilderExecutor.build(model, template, + new CommonUnitToVmBaseBuilder(), + new KernelParamsUnitToVmBaseBuilder(), + new QuotaUnitToVmBaseBuilder(), + new MigrationOptionsUnitToVmBaseBuilder(), + new DedicatedVmForVdsUnitToVmBaseBuilder(), + new UsbPolicyUnitToVmBaseBuilder()); + getcurrentVm().setVmtGuid(template.getId()); getcurrentVm().setName(name); - getcurrentVm().setVmOs(model.getOSType().getSelectedItem()); - getcurrentVm().setNumOfMonitors(model.getNumOfMonitors().getSelectedItem()); getcurrentVm().setVmDescription(model.getDescription().getEntity()); getcurrentVm().setComment(model.getComment().getEntity()); - getcurrentVm().setVmDomain(model.getDomain().getIsAvailable() ? - model.getDomain().getSelectedItem() : ""); //$NON-NLS-1$ - getcurrentVm().setVmMemSizeMb(model.getMemSize().getEntity()); - getcurrentVm().setMinAllocatedMem(model.getMinAllocatedMemory().getEntity()); - Guid newClusterID = model.getSelectedCluster().getId(); - getcurrentVm().setVdsGroupId(newClusterID); - getcurrentVm().setTimeZone( - (model.getTimeZone().getIsAvailable() && model.getTimeZone().getSelectedItem() != null) ? - (model.getTimeZone().getSelectedItem()).getTimeZoneKey() : ""); //$NON-NLS-1$ - getcurrentVm().setNumOfSockets(model.getNumOfSockets().getSelectedItem()); - getcurrentVm().setCpuPerSocket(Integer.parseInt(model.getTotalCPUCores().getEntity()) / - model.getNumOfSockets().getSelectedItem()); - getcurrentVm().setUsbPolicy(model.getUsbPolicy().getSelectedItem()); getcurrentVm().setStateless(model.getIsStateless().getEntity()); - getcurrentVm().setSmartcardEnabled(model.getIsSmartcardEnabled().getEntity()); - getcurrentVm().setDeleteProtected(model.getIsDeleteProtected().getEntity()); - getcurrentVm().setSsoMethod(model.extractSelectedSsoMethod()); - getcurrentVm().setDefaultBootSequence(model.getBootSequence()); - getcurrentVm().setIsoPath(model.getCdImage().getIsChangable() ? - model.getCdImage().getSelectedItem() : ""); //$NON-NLS-1$ getcurrentVm().setAutoStartup(model.getIsHighlyAvailable().getEntity()); - getcurrentVm().setInitrdUrl(model.getInitrd_path().getEntity()); - getcurrentVm().setKernelUrl(model.getKernel_path().getEntity()); - getcurrentVm().setKernelParams(model.getKernel_parameters().getEntity()); getcurrentVm().setCustomProperties(model.getCustomProperties().getEntity()); - if (model.getQuota().getIsAvailable() && model.getQuota().getSelectedItem() != null) { - getcurrentVm().setQuotaId(model.getQuota().getSelectedItem().getId()); - } - - getcurrentVm().setDefaultVncKeyboardLayout(model.getVncKeyboardLayout().getSelectedItem()); - - getcurrentVm().setMigrationDowntime(model.getSelectedMigrationDowntime()); - - EntityModel<DisplayType> displayProtocolSelectedItem = model.getDisplayProtocol().getSelectedItem(); - getcurrentVm().setDefaultDisplayType(displayProtocolSelectedItem.getEntity()); EntityModel<Integer> prioritySelectedItem = model.getPriority().getSelectedItem(); getcurrentVm().setPriority(prioritySelectedItem.getEntity()); - VDS defaultHost = model.getDefaultHost().getSelectedItem(); - getcurrentVm().setDedicatedVmForVds( - model.getIsAutoAssign().getEntity() ? null : defaultHost.getId()); - - getcurrentVm().setMigrationSupport(model.getMigrationMode().getSelectedItem()); getcurrentVm().setUseHostCpuFlags(model.getHostCpu().getEntity()); getcurrentVm().setDiskMap(behavior.getVm().getDiskMap()); -- To view, visit http://gerrit.ovirt.org/23474 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7cbd0f8c79ae13dd368a7542262397168c363f57 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Betak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
