From cd8513598f2a5724b89a3edbabc4146fc86ca3f2 Mon Sep 17 00:00:00 2001 From: alena Date: Mon, 6 Dec 2010 09:43:37 -0800 Subject: [PATCH] Return trafficType/networkType as a part of Nic information for listSystemVms/listDomainRouters/listUserVms. --- .../api/response/DomainRouterResponse.java | 6 ++-- .../com/cloud/api/response/NicResponse.java | 24 +++++++++++++++ server/src/com/cloud/api/ApiDBUtils.java | 7 +++++ .../src/com/cloud/api/ApiResponseHelper.java | 30 +++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) diff --git a/api/src/com/cloud/api/response/DomainRouterResponse.java b/api/src/com/cloud/api/response/DomainRouterResponse.java index 122033da668..afcba85607f 100644 --- a/api/src/com/cloud/api/response/DomainRouterResponse.java +++ b/api/src/com/cloud/api/response/DomainRouterResponse.java @@ -104,12 +104,14 @@ public class DomainRouterResponse extends BaseResponse { @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain associated with the router") private String domainName; + @SerializedName("nics") @Param(description="the list of nics associated with domain router") + private List nics; + public Long getObjectId() { return getId(); } - @SerializedName("nics") @Param(description="the list of nics associated with domain router") - private List nics; + public Long getId() { return id; diff --git a/api/src/com/cloud/api/response/NicResponse.java b/api/src/com/cloud/api/response/NicResponse.java index 97eb5a822f9..d68fa797ddb 100644 --- a/api/src/com/cloud/api/response/NicResponse.java +++ b/api/src/com/cloud/api/response/NicResponse.java @@ -42,6 +42,14 @@ public class NicResponse extends BaseResponse { @SerializedName("broadcasturi") @Param(description="the broadcast uri of the nic") private String broadcastUri; + + //TODO - add description + @SerializedName("traffictype") + private String trafficType; + + //TODO - add description + @SerializedName("type") + private String type; public Long getId() { return id; @@ -98,4 +106,20 @@ public class NicResponse extends BaseResponse { public void setBroadcastUri(String broadcastUri) { this.broadcastUri = broadcastUri; } + + public String getTrafficType() { + return trafficType; + } + + public void setTrafficType(String trafficType) { + this.trafficType = trafficType; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } } diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 6638cec3ef6..cf44ac47078 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -31,6 +31,7 @@ import com.cloud.network.LoadBalancerVO; import com.cloud.network.Network; import com.cloud.network.NetworkManager; import com.cloud.network.NetworkRuleConfigVO; +import com.cloud.network.NetworkVO; import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.LoadBalancerDao; import com.cloud.network.dao.NetworkDao; @@ -130,6 +131,7 @@ public class ApiDBUtils { private static VolumeDao _volumeDao; private static DataCenterDao _zoneDao; private static NetworkOfferingDao _networkOfferingDao; + private static NetworkDao _networkDao; static { _ms = (ManagementServer)ComponentLocator.getComponent(ManagementServer.Name); @@ -171,6 +173,7 @@ public class ApiDBUtils { _zoneDao = locator.getDao(DataCenterDao.class); _networkGroupDao = locator.getDao(NetworkGroupDao.class); _networkOfferingDao = locator.getDao(NetworkOfferingDao.class); + _networkDao = locator.getDao(NetworkDao.class); // Note: stats collector should already have been initialized by this time, otherwise a null instance is returned _statsCollector = StatsCollector.getInstance(); @@ -501,4 +504,8 @@ public class ApiDBUtils { return _vlanDao.listVlansByNetworkId(networkId); } + public static NetworkVO findNetworkById(long id) { + return _networkDao.findById(id); + } + } diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 79581b94e3b..e6934ae0386 100644 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -1220,6 +1220,16 @@ public class ApiResponseHelper implements ResponseGenerator { nicResponse.setIsolationUri(singleNic.getIsolationUri().toString()); } } + //Set traffic type + Network network = ApiDBUtils.findNetworkById(singleNic.getNetworkId()); + nicResponse.setTrafficType(network.getTrafficType().toString()); + + //Set type + NetworkOffering networkOffering = ApiDBUtils.findNetworkOfferingById(network.getNetworkOfferingId()); + if (networkOffering.getGuestIpType() != null) { + nicResponse.setType(networkOffering.getGuestIpType().toString()); + } + nicResponse.setObjectName("nic"); nicResponses.add(nicResponse); @@ -1269,6 +1279,16 @@ public class ApiResponseHelper implements ResponseGenerator { nicResponse.setIsolationUri(singleNic.getIsolationUri().toString()); } + //Set traffic type + Network network = ApiDBUtils.findNetworkById(singleNic.getNetworkId()); + nicResponse.setTrafficType(network.getTrafficType().toString()); + + //Set type + NetworkOffering networkOffering = ApiDBUtils.findNetworkOfferingById(network.getNetworkOfferingId()); + if (networkOffering.getGuestIpType() != null) { + nicResponse.setType(networkOffering.getGuestIpType().toString()); + } + nicResponse.setObjectName("nic"); nicResponses.add(nicResponse); } @@ -1350,6 +1370,16 @@ public class ApiResponseHelper implements ResponseGenerator { nicResponse.setIsolationUri(singleNic.getIsolationUri().toString()); } + //Set traffic type + Network network = ApiDBUtils.findNetworkById(singleNic.getNetworkId()); + nicResponse.setTrafficType(network.getTrafficType().toString()); + + //Set type + NetworkOffering networkOffering = ApiDBUtils.findNetworkOfferingById(network.getNetworkOfferingId()); + if (networkOffering.getGuestIpType() != null) { + nicResponse.setType(networkOffering.getGuestIpType().toString()); + } + nicResponse.setObjectName("nic"); nicResponses.add(nicResponse); }