Martin Betak has uploaded a new change for review. Change subject: frontend: Refactor Vm Behavior classes ......................................................................
frontend: Refactor Vm Behavior classes Change-Id: I10a67a8b63e2c8c0eda0f59c88be11dadbe9872e Signed-off-by: Martin Betak <[email protected]> --- A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToUnitBuilder.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java 8 files changed, 69 insertions(+), 61 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/28213/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java new file mode 100644 index 0000000..2a9b314 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java @@ -0,0 +1,21 @@ +package org.ovirt.engine.ui.uicommonweb.builders.vm; + +import org.ovirt.engine.core.common.businessentities.VmBase; +import org.ovirt.engine.ui.uicommonweb.builders.CompositeBuilder; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; + +public class CoreVmBaseToUnitBuilder extends CompositeBuilder<VmBase, UnitVmModel> { + public CoreVmBaseToUnitBuilder() { + super( + new SerialNumberPolicyVmBaseToUnitBuilder() + ); + } + + @Override + protected void postBuild(VmBase vm, UnitVmModel model) { + model.getBootMenuEnabled().setEntity(vm.isBootMenuEnabled()); + model.getVncKeyboardLayout().setSelectedItem(vm.getVncKeyboardLayout()); + model.getIsDeleteProtected().setEntity(vm.isDeleteProtected()); + model.selectSsoMethod(vm.getSsoMethod()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToUnitBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToUnitBuilder.java new file mode 100644 index 0000000..b283f37 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/KernelParamsVmBaseToUnitBuilder.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 KernelParamsVmBaseToUnitBuilder extends BaseSyncBuilder<VmBase, UnitVmModel> { + @Override + protected void build(VmBase vm, UnitVmModel model) { + model.getInitrd_path().setEntity(vm.getInitrdUrl()); + model.getKernel_path().setEntity(vm.getKernelUrl()); + model.getKernel_parameters().setEntity(vm.getKernelParams()); + } +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java index 3b05ccc..f2774e5 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java @@ -12,7 +12,8 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; -import org.ovirt.engine.ui.uicommonweb.builders.vm.SerialNumberPolicyVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsVmBaseToUnitBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel; import org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes.ExistingVmInstanceTypeManager; @@ -128,6 +129,10 @@ { // This method will be called even if a VM created from Blank template. + BuilderExecutor.build(vm.getStaticData(), getModel(), + new CoreVmBaseToUnitBuilder(), + new KernelParamsVmBaseToUnitBuilder()); + // Update model state according to VM properties. getModel().getName().setEntity(vm.getName()); getModel().getDescription().setEntity(vm.getVmDescription()); @@ -141,17 +146,8 @@ getModel().getIsRunAndPause().setEntity(vm.isRunAndPause()); getModel().getIsRunAndPause().setIsAvailable(vm.getVmPoolId() == null); - getModel().getIsDeleteProtected().setEntity(vm.isDeleteProtected()); - getModel().selectSsoMethod(vm.getSsoMethod()); - - getModel().getKernel_parameters().setEntity(vm.getKernelParams()); - getModel().getKernel_path().setEntity(vm.getKernelUrl()); - getModel().getInitrd_path().setEntity(vm.getInitrdUrl()); - getModel().getCpuSharesAmount().setEntity(vm.getCpuShares()); updateCpuSharesSelection(); - - getModel().getVncKeyboardLayout().setSelectedItem(vm.getDefaultVncKeyboardLayout()); updateRngDevice(getVm().getId()); updateTimeZone(vm.getTimeZone()); @@ -181,10 +177,6 @@ } }), vm.getRunOnVds()); } - - BuilderExecutor.build(vm.getStaticData(), getModel(), new SerialNumberPolicyVmBaseToUnitBuilder()); - - getModel().getBootMenuEnabled().setEntity(vm.isBootMenuEnabled()); } private int calculateHostCpus() { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java index 407fa04..beb9bd8 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java @@ -23,7 +23,7 @@ import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; -import org.ovirt.engine.ui.uicommonweb.builders.vm.SerialNumberPolicyVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreVmBaseToUnitBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; @@ -303,6 +303,8 @@ private void initTemplate() { + BuilderExecutor.build(vm.getStaticData(), getModel(), new CoreVmBaseToUnitBuilder()); + // Update model state according to VM properties. getModel().getMemSize().setEntity(this.vm.getVmMemSizeMb()); getModel().getMinAllocatedMemory().setEntity(this.vm.getMinAllocatedMem()); @@ -314,8 +316,6 @@ getModel().getNumOfSockets().setSelectedItem(this.vm.getNumOfSockets()); getModel().getIsStateless().setEntity(this.vm.isStateless()); getModel().getIsRunAndPause().setEntity(this.vm.isRunAndPause()); - getModel().getIsDeleteProtected().setEntity(this.vm.isDeleteProtected()); - getModel().selectSsoMethod(this.vm.getSsoMethod()); updateSelectedCdImage(this.vm.getStaticData()); updateTimeZone(this.vm.getTimeZone()); @@ -338,14 +338,9 @@ getModel().getUsbPolicy().setSelectedItem(this.vm.getUsbPolicy()); getModel().getIsSmartcardEnabled().setEntity(this.vm.isSmartcardEnabled()); - getModel().getVncKeyboardLayout().setSelectedItem(this.vm.getDefaultVncKeyboardLayout()); getModel().setSelectedMigrationDowntime(this.vm.getMigrationDowntime()); initPriority(this.vm.getPriority()); - - BuilderExecutor.build(vm.getStaticData(), getModel(), new SerialNumberPolicyVmBaseToUnitBuilder()); - - getModel().getBootMenuEnabled().setEntity(vm.isBootMenuEnabled()); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java index 0d31e28..20ea510 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java @@ -14,7 +14,8 @@ import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; -import org.ovirt.engine.ui.uicommonweb.builders.vm.SerialNumberPolicyVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsVmBaseToUnitBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemType; @@ -88,11 +89,13 @@ if (template != null) { // Copy VM parameters from template. + + BuilderExecutor.build(template, getModel(), + new CoreVmBaseToUnitBuilder(), + new KernelParamsVmBaseToUnitBuilder()); + setSelectedOSType(template, getModel().getSelectedCluster().getArchitecture()); doChangeDefautlHost(template.getDedicatedVmForVds()); - - getModel().getIsDeleteProtected().setEntity(template.isDeleteProtected()); - getModel().selectSsoMethod(template.getSsoMethod()); getModel().getIsStateless().setEntity(template.isStateless()); @@ -105,13 +108,6 @@ } updateTimeZone(template.getTimeZone()); - - getModel().getVncKeyboardLayout().setSelectedItem(template.getVncKeyboardLayout()); - - // By default, take kernel params from template. - getModel().getKernel_path().setEntity(template.getKernelUrl()); - getModel().getKernel_parameters().setEntity(template.getKernelParams()); - getModel().getInitrd_path().setEntity(template.getInitrdUrl()); if (!template.getId().equals(Guid.Empty)) { @@ -150,10 +146,6 @@ getModel().getVmInitModel().init(template); getModel().getVmInitEnabled().setEntity(template.getVmInit() != null); - - BuilderExecutor.build(template, getModel(), new SerialNumberPolicyVmBaseToUnitBuilder()); - - getModel().getBootMenuEnabled().setEntity(template.isBootMenuEnabled()); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java index f673bd2..6d755d1 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java @@ -11,7 +11,8 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; -import org.ovirt.engine.ui.uicommonweb.builders.vm.SerialNumberPolicyVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsVmBaseToUnitBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel; import org.ovirt.engine.ui.uicommonweb.models.pools.PoolModel; @@ -109,10 +110,13 @@ updateQuotaByCluster(vmBase.getQuotaId(), vmBase.getQuotaName()); // Copy VM parameters from template. + + BuilderExecutor.build(vmBase, getModel(), + new CoreVmBaseToUnitBuilder(), + new KernelParamsVmBaseToUnitBuilder()); + setSelectedOSType(vmBase, getModel().getSelectedCluster().getArchitecture()); getModel().getVmType().setSelectedItem(vmBase.getVmType()); - getModel().getIsDeleteProtected().setEntity(vmBase.isDeleteProtected()); - getModel().selectSsoMethod(vmBase.getSsoMethod()); getModel().getIsRunAndPause().setEntity(false); boolean hasCd = !StringHelper.isNullOrEmpty(vmBase.getIsoPath()); @@ -124,13 +128,6 @@ } updateTimeZone(vmBase.getTimeZone()); - - getModel().getVncKeyboardLayout().setSelectedItem(vmBase.getVncKeyboardLayout()); - - // By default, take kernel params from template. - getModel().getKernel_path().setEntity(vmBase.getKernelUrl()); - getModel().getKernel_parameters().setEntity(vmBase.getKernelParams()); - getModel().getInitrd_path().setEntity(vmBase.getInitrdUrl()); if (!vmBase.getId().equals(Guid.Empty)) { @@ -164,10 +161,6 @@ getModel().getVmInitModel().init(vmBase); getModel().getVmInitEnabled().setEntity(vmBase.getVmInit() != null); - - BuilderExecutor.build(vmBase, getModel(), new SerialNumberPolicyVmBaseToUnitBuilder()); - - getModel().getBootMenuEnabled().setEntity(vmBase.isBootMenuEnabled()); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java index f7e8b05..e3ee926 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java @@ -15,7 +15,8 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; -import org.ovirt.engine.ui.uicommonweb.builders.vm.SerialNumberPolicyVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreVmBaseToUnitBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.KernelParamsVmBaseToUnitBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel; @@ -169,6 +170,11 @@ private void initTemplate() { // Update model state according to VM properties. + + BuilderExecutor.build(template, getModel(), + new CoreVmBaseToUnitBuilder(), + new KernelParamsVmBaseToUnitBuilder()); + getModel().getName().setEntity(template.getName()); getModel().getDescription().setEntity(template.getDescription()); getModel().getComment().setEntity(template.getComment()); @@ -185,15 +191,8 @@ getModel().getNumOfSockets().setSelectedItem(template.getNumOfSockets()); getModel().getIsStateless().setEntity(template.isStateless()); getModel().getIsRunAndPause().setEntity(template.isRunAndPause()); - getModel().getIsDeleteProtected().setEntity(template.isDeleteProtected()); - getModel().selectSsoMethod(template.getSsoMethod()); getModel().getIsSmartcardEnabled().setEntity(template.isSmartcardEnabled()); - getModel().getVncKeyboardLayout().setSelectedItem(template.getVncKeyboardLayout()); getModel().setSelectedMigrationDowntime(template.getMigrationDowntime()); - - getModel().getKernel_parameters().setEntity(template.getKernelParams()); - getModel().getKernel_path().setEntity(template.getKernelUrl()); - getModel().getInitrd_path().setEntity(template.getInitrdUrl()); getModel().getIsSingleQxlEnabled().setEntity(template.getSingleQxlPci()); @@ -221,8 +220,6 @@ getModel().getTemplateVersionName().setEntity(template.getTemplateVersionName()); initPriority(template.getPriority()); - - BuilderExecutor.build(template, getModel(), new SerialNumberPolicyVmBaseToUnitBuilder()); } private void initCdImage() diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java index 064cf6f..8d2a6c7 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java @@ -31,6 +31,10 @@ import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.Linq; +import org.ovirt.engine.ui.uicommonweb.builders.Builder; +import org.ovirt.engine.ui.uicommonweb.builders.BuilderExecutor; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreUnitToVmBaseBuilder; +import org.ovirt.engine.ui.uicommonweb.builders.vm.CoreVmBaseToUnitBuilder; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; -- To view, visit http://gerrit.ovirt.org/28213 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I10a67a8b63e2c8c0eda0f59c88be11dadbe9872e 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
