Moti Asayag has uploaded a new change for review.

Change subject: core: Make NetworkView inherits Network
......................................................................

core: Make NetworkView inherits Network

The patch modifies the relations between NetworkView and Network
from composition to inheritance.

In addition, the relations between the DB mappers are also changed
to reflect the new relation.

Change-Id: I534e214175fb534f4209baf773878b65f754f2ca
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/NetworkView.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkViewDaoDbFacadeImpl.java
3 files changed, 22 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/9787/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/NetworkView.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/NetworkView.java
index f642241..a8529a0 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/NetworkView.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/NetworkView.java
@@ -1,28 +1,16 @@
 package org.ovirt.engine.core.common.businessentities;
 
-import java.io.Serializable;
-
 import org.ovirt.engine.core.compat.Version;
 
-public class NetworkView extends IVdcQueryable implements Serializable {
+public class NetworkView extends Network {
 
     private static final long serialVersionUID = 7541192304006710467L;
 
-    private Network network;
     private String storagePoolName;
     private Version compatibilityVersion;
 
-    @Override
-    public Object getQueryableId() {
-        return network.getQueryableId();
-    }
-
     public Network getNetwork() {
-        return network;
-    }
-
-    public void setNetwork(Network network) {
-        this.network = network;
+        return this;
     }
 
     public String getStoragePoolName() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDAODbFacadeImpl.java
index a08309d..8f92912 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkDAODbFacadeImpl.java
@@ -114,12 +114,12 @@
         }
     }
 
-    static class NetworkRowMapper implements ParameterizedRowMapper<Network> {
+    abstract static class NetworkRowMapperBase<T extends Network> implements 
ParameterizedRowMapper<T> {
         public final static NetworkRowMapper instance = new NetworkRowMapper();
 
         @Override
-        public Network mapRow(ResultSet rs, int rowNum) throws SQLException {
-            Network entity = new Network();
+        public T mapRow(ResultSet rs, int rowNum) throws SQLException {
+            T entity = createNetworkEntity();
             entity.setId(Guid.createGuidFromString(rs.getString("id")));
             entity.setname(rs.getString("name"));
             entity.setdescription(rs.getString("description"));
@@ -136,6 +136,16 @@
 
             return entity;
         }
+
+        abstract protected T createNetworkEntity();
+    }
+
+    static class NetworkRowMapper extends NetworkRowMapperBase<Network> {
+        public final static NetworkRowMapper instance = new NetworkRowMapper();
+
+        protected Network createNetworkEntity() {
+            return new Network();
+        }
     }
 
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkViewDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkViewDaoDbFacadeImpl.java
index 6b74143..08d3945 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkViewDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/NetworkViewDaoDbFacadeImpl.java
@@ -6,8 +6,7 @@
 
 import org.ovirt.engine.core.common.businessentities.NetworkView;
 import org.ovirt.engine.core.compat.Version;
-import org.ovirt.engine.core.dao.NetworkDAODbFacadeImpl.NetworkRowMapper;
-import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
+import org.ovirt.engine.core.dao.NetworkDAODbFacadeImpl.NetworkRowMapperBase;
 import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
 
 /**
@@ -20,16 +19,19 @@
         return new SimpleJdbcTemplate(jdbcTemplate).query(query, 
NetworkViewRowMapper.instance);
     }
 
-    private static class NetworkViewRowMapper implements 
ParameterizedRowMapper<NetworkView> {
+    private static class NetworkViewRowMapper extends 
NetworkRowMapperBase<NetworkView> {
         public final static NetworkViewRowMapper instance = new 
NetworkViewRowMapper();
 
         @Override
         public NetworkView mapRow(ResultSet rs, int rowNum) throws 
SQLException {
-            NetworkView entity = new NetworkView();
-            entity.setNetwork(NetworkRowMapper.instance.mapRow(rs, rowNum));
+            NetworkView entity = super.mapRow(rs, rowNum);
             entity.setStoragePoolName(rs.getString("storage_pool_name"));
             entity.setCompatabilityVersion(new 
Version(rs.getString("compatibility_version")));
             return entity;
         }
+
+        protected NetworkView createNetworkEntity() {
+            return new NetworkView();
+        }
     }
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I534e214175fb534f4209baf773878b65f754f2ca
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <masa...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to