Moti Asayag has uploaded a new change for review.

Change subject: engine: Rely on engine entities
......................................................................

engine: Rely on engine entities

The attach/detach networks to/from clusters commands
rely on entities provided by the clients, although
the entity could have other values than in the engine
db. In order to avoid such a discrepancy, the networks
are being retrieved internally.

Change-Id: I62f05855c09e5fdee862d18dcce59c343baeafa9
Signed-off-by: Moti Asayag <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
2 files changed, 18 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/23029/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
index 6959b9e..d10ef44 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/AttachNetworkToVdsGroupCommand.java
@@ -85,7 +85,7 @@
             }
         });
 
-        if (!getNetwork().isExternal() && getNetwork().getLabel() != null
+        if (!getPersistedNetwork().isExternal() && 
getPersistedNetwork().getLabel() != null
                 && 
NetworkHelper.setupNetworkSupported(getVdsGroup().getcompatibility_version())) {
             addNetworkToHosts();
         }
@@ -97,8 +97,8 @@
     private void addNetworkToHosts() {
         List<VdsNetworkInterface> nics =
                 
getDbFacade().getInterfaceDao().getAllInterfacesByLabelForCluster(getParameters().getVdsGroupId(),
-                        getNetwork().getLabel());
-        AddNetworkParametersBuilder builder = new 
AddNetworkParametersBuilder(getNetwork());
+                        getPersistedNetwork().getLabel());
+        AddNetworkParametersBuilder builder = new 
AddNetworkParametersBuilder(getPersistedNetwork());
         ArrayList<VdcActionParametersBase> parameters = 
builder.buildParameters(nics);
 
         if (!parameters.isEmpty()) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
index 6d6d2ff..e40e702 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
@@ -27,6 +27,9 @@
 
 @NonTransactiveCommandAttribute
 public class DetachNetworkToVdsGroupCommand<T extends 
AttachNetworkToVdsGroupParameter> extends VdsGroupCommandBase<T> {
+
+    private Network persistedNetwork;
+
     public DetachNetworkToVdsGroupCommand(T parameters) {
         super(parameters);
     }
@@ -37,12 +40,12 @@
 
             @Override
             public Void runInTransaction() {
-                getNetworkClusterDAO().remove(getParameters().getVdsGroupId(), 
getNetwork().getId());
+                getNetworkClusterDAO().remove(getParameters().getVdsGroupId(), 
getParameters().getNetworkCluster().getNetworkId());
                 return null;
             }
         });
 
-        if (!getNetwork().isExternal() && getNetwork().getLabel() != null
+        if (!getPersistedNetwork().isExternal() && 
getPersistedNetwork().getLabel() != null
                 && 
NetworkHelper.setupNetworkSupported(getVdsGroup().getcompatibility_version())) {
             removeNetworkFromHosts();
         }
@@ -87,11 +90,19 @@
         return getParameters().getNetwork();
     }
 
+    private Network getPersistedNetwork() {
+        if (persistedNetwork == null) {
+            persistedNetwork = getNetworkDAO().get(getNetwork().getId());
+        }
+
+        return persistedNetwork;
+    }
+
     private void removeNetworkFromHosts() {
         List<VdsNetworkInterface> nics =
                 
getDbFacade().getInterfaceDao().getAllInterfacesByLabelForCluster(getParameters().getVdsGroupId(),
-                        getNetwork().getLabel());
-        RemoveNetworkParametersBuilder builder = new 
RemoveNetworkParametersBuilder(getNetwork());
+                        getPersistedNetwork().getLabel());
+        RemoveNetworkParametersBuilder builder = new 
RemoveNetworkParametersBuilder(getPersistedNetwork());
         ArrayList<VdcActionParametersBase> parameters = 
builder.buildParameters(nics);
 
         if (!parameters.isEmpty()) {


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

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

Reply via email to