Arik Hadas has uploaded a new change for review.

Change subject: webadmin: reduce duplicated code
......................................................................

webadmin: reduce duplicated code

Change-Id: If8f420419b2a0b5789e0337450fc3c5576bb2d8f
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmParameters.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
2 files changed, 38 insertions(+), 84 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/32643/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmParameters.java
index ad777a6..be69ccf 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmParameters.java
@@ -10,6 +10,7 @@
     private static final long serialVersionUID = 8641610721114989096L;
 
     private ArrayList<DiskImage> diskInfoList;
+    private boolean thinProvisioning;
 
     public AddVmParameters() {
     }
@@ -29,4 +30,12 @@
     public void setDiskInfoList(ArrayList<DiskImage> value) {
         diskInfoList = value;
     }
+
+    public boolean isThinProvisioning() {
+        return thinProvisioning;
+    }
+
+    public void setThinProvisioning(boolean cloneDisks) {
+        this.thinProvisioning = cloneDisks;
+    }
 }
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 1643aea..6359f71 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
@@ -2124,13 +2124,33 @@
     }
 
     private void saveNewVm(final UnitVmModel model) {
+        if (model.getProgress() != null)
+        {
+            return;
+        }
+
+        model.startProgress(null);
+
+        VM vm = getcurrentVm();
+        
vm.setUseLatestVersion(constants.latestTemplateVersionName().equals(model.getTemplate().getSelectedItem().getTemplateVersionName()));
+
+        AddVmParameters params = new AddVmParameters(vm);
+        
params.setDiskInfoDestinationMap(model.getDisksAllocationModel().getImageToDestinationDomainMap());
+        params.setThinProvisioning(model.getProvisioning().getEntity());
+        
params.setSoundDeviceEnabled(model.getIsSoundcardEnabled().getEntity());
+        
params.setVirtioScsiEnabled(model.getIsVirtioScsiEnabled().getEntity());
+        
params.setConsoleEnabled(model.getIsConsoleDeviceEnabled().getEntity());
+        params.setBalloonEnabled(balloonEnabled(model));
+        
params.setCopyTemplatePermissions(model.getCopyPermissions().getEntity());
+        setRngDeviceToParams(model, params);
+        setVmWatchdogToParams(model, params); //TODO: verify
+
+        Frontend.getInstance().runAction(VdcActionType.AddVm, params, 
getUnitVmModelNetworkAsyncCallback(model), this);
+    }
+
+    private UnitVmModelNetworkAsyncCallback 
getUnitVmModelNetworkAsyncCallback(final UnitVmModel model) {
         if (getcurrentVm().getVmtGuid().equals(Guid.Empty))
         {
-            if (model.getProgress() != null)
-            {
-                return;
-            }
-
             VmInterfaceCreatingManager addVmFromScratchNetworkManager =
                     new VmInterfaceCreatingManager(new 
VmInterfaceCreatingManager.PostVnicCreatedCallback() {
                         @Override
@@ -2144,20 +2164,7 @@
                         }
                     });
 
-            model.startProgress(null);
-
-            AddVmParameters parameters = new AddVmParameters(getcurrentVm());
-            
parameters.setSoundDeviceEnabled(model.getIsSoundcardEnabled().getEntity());
-            
parameters.setConsoleEnabled(model.getIsConsoleDeviceEnabled().getEntity());
-            
parameters.setVirtioScsiEnabled(model.getIsVirtioScsiEnabled().getEntity());
-            parameters.setBalloonEnabled(balloonEnabled(model));
-
-            setVmWatchdogToParams(model, parameters);
-            setRngDeviceToParams(model, parameters);
-
-            Frontend.getInstance().runAction(VdcActionType.AddVmFromScratch,
-                    parameters,
-                    new UnitVmModelNetworkAsyncCallback(model, 
addVmFromScratchNetworkManager) {
+            return new UnitVmModelNetworkAsyncCallback(model, 
addVmFromScratchNetworkManager) {
                 @Override
                 public void executed(FrontendActionAsyncResult result) {
                     getWindow().stopProgress();
@@ -2172,72 +2179,10 @@
                     }
                     super.executed(result);
                 }
-            }, this);
+            };
         }
-        else
-        {
-            if (model.getProgress() != null)
-            {
-                return;
-            }
-
-            if (model.getProvisioning().getEntity())
-            {
-                model.startProgress(null);
-
-                AsyncQuery _asyncQuery = new AsyncQuery();
-                _asyncQuery.setModel(this);
-                _asyncQuery.asyncCallback = new INewAsyncCallback() {
-                    @Override
-                    public void onSuccess(Object model1, Object result1)
-                    {
-                        VmListModel vmListModel = (VmListModel) model1;
-                        UnitVmModel unitVmModel = (UnitVmModel) 
vmListModel.getWindow();
-
-                        VM vm = vmListModel.getcurrentVm();
-                        
vm.setUseLatestVersion(constants.latestTemplateVersionName().equals(unitVmModel.getTemplate().getSelectedItem().getTemplateVersionName()));
-
-                        AddVmParameters param = new AddVmParameters(vm);
-                        
param.setDiskInfoDestinationMap(unitVmModel.getDisksAllocationModel().getImageToDestinationDomainMap());
-                        
param.setSoundDeviceEnabled(model.getIsSoundcardEnabled().getEntity());
-                        
param.setVirtioScsiEnabled(model.getIsVirtioScsiEnabled().getEntity());
-                        
param.setConsoleEnabled(model.getIsConsoleDeviceEnabled().getEntity());
-                        param.setBalloonEnabled(balloonEnabled(model));
-                        
param.setCopyTemplatePermissions(model.getCopyPermissions().getEntity());
-                        setRngDeviceToParams(model, param);
-
-                        
Frontend.getInstance().runAction(VdcActionType.AddVmFromTemplate, param, new 
UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager), 
vmListModel);
-                    }
-                };
-                
AsyncDataProvider.getInstance().getTemplateDiskList(_asyncQuery, 
getcurrentVm().getVmtGuid());
-            }
-            else
-            {
-                if (model.getProgress() != null)
-                {
-                    return;
-                }
-
-                model.startProgress(null);
-
-                VM vm = getcurrentVm();
-                
vm.setUseLatestVersion(constants.latestTemplateVersionName().equals(model.getTemplate().getSelectedItem().getTemplateVersionName()));
-
-                AddVmParameters params = new AddVmParameters(vm);
-                
params.setDiskInfoDestinationMap(model.getDisksAllocationModel().getImageToDestinationDomainMap());
-                
params.setConsoleEnabled(model.getIsConsoleDeviceEnabled().getEntity());
-                params.setBalloonEnabled(balloonEnabled(model));
-                
params.setCopyTemplatePermissions(model.getCopyPermissions().getEntity());
-
-                ArrayList<VdcActionParametersBase> parameters = new 
ArrayList<VdcActionParametersBase>();
-                parameters.add(params);
-                
params.setSoundDeviceEnabled(model.getIsSoundcardEnabled().getEntity());
-                
params.setVirtioScsiEnabled(model.getIsVirtioScsiEnabled().getEntity());
-                setVmWatchdogToParams(model, params);
-                setRngDeviceToParams(model, params);
-
-                Frontend.getInstance().runAction(VdcActionType.AddVm, params, 
new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager), 
this);
-            }
+        else {
+            return new UnitVmModelNetworkAsyncCallback(model, 
defaultNetworkCreatingManager);
         }
     }
 


-- 
To view, visit http://gerrit.ovirt.org/32643
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If8f420419b2a0b5789e0337450fc3c5576bb2d8f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to