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