Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: Add vnic profile and network caching to validator
......................................................................

engine: Add vnic profile and network caching to validator

Add vnic profile and network caching to VmNicValidator class
by lazy-loading them.

Change-Id: Ibeaa7af2ac76433ed832ff65514201ece6049478
Signed-off-by: Yevgeny Zaspitsky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/NetworkHelper.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmNicValidator.java
3 files changed, 32 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/00/32600/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/NetworkHelper.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/NetworkHelper.java
index 92f67e7..509ca69 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/NetworkHelper.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/NetworkHelper.java
@@ -82,16 +82,20 @@
         return getNetworkByVnicProfile(vnicProfile);
     }
 
-    public static Network getNetworkByVnicProfile(VnicProfile vnicProfile) {
-        if (vnicProfile == null) {
+    public static VnicProfile getVnicProfile(Guid vnicProfileId) {
+        if (vnicProfileId == null) {
             return null;
         }
 
-        Network retVal = null;
-        if (vnicProfile.getNetworkId() != null) {
-            retVal = 
DbFacade.getInstance().getNetworkDao().get(vnicProfile.getNetworkId());
+        return DbFacade.getInstance().getVnicProfileDao().get(vnicProfileId);
+    }
+
+    public static Network getNetworkByVnicProfile(VnicProfile vnicProfile) {
+        if (vnicProfile == null || vnicProfile.getNetworkId() == null) {
+            return null;
         }
-        return retVal;
+
+        return 
DbFacade.getInstance().getNetworkDao().get(vnicProfile.getNetworkId());
     }
 
     public static boolean isNetworkInCluster(Network network, Guid clusterId) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java
index 87ab472..4ad5eeb 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java
@@ -380,7 +380,7 @@
         }
 
         private boolean isVnicAttachedToExternalNetwork() {
-            final Network network = 
NetworkHelper.getNetworkByVnicProfileId(nic.getVnicProfileId());
+            final Network network = getNetwork();
             return (network != null && network.isExternal());
         }
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmNicValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmNicValidator.java
index 50fcc10..c00b81d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmNicValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmNicValidator.java
@@ -30,6 +30,10 @@
 
     protected int osId;
 
+    private VnicProfile vnicProfile = null;
+
+    private Network network = null;
+
     public VmNicValidator(VmNic nic, Version version) {
         this.nic = nic;
         this.version = version;
@@ -70,7 +74,7 @@
     public ValidationResult profileValid(Guid clusterId) {
         if (nic.getVnicProfileId() != null) {
             // Check that the profile exists
-            VnicProfile vnicProfile = 
getDbFacade().getVnicProfileDao().get(nic.getVnicProfileId());
+            VnicProfile vnicProfile = getVnicProfile();
             if (vnicProfile == null) {
                 return new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_VNIC_PROFILE_NOT_EXISTS);
             }
@@ -122,4 +126,20 @@
     protected DbFacade getDbFacade() {
         return DbFacade.getInstance();
     }
+
+    protected VnicProfile getVnicProfile() {
+        if (vnicProfile == null) {
+            vnicProfile = NetworkHelper.getVnicProfile(nic.getVnicProfileId());
+        }
+
+        return vnicProfile;
+    }
+
+    protected Network getNetwork() {
+        if (network == null) {
+            network = getNetworkByVnicProfile(getVnicProfile());
+        }
+
+        return network;
+    }
 }


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

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

Reply via email to