From 8c4e831cfb040478481f77b7c9e011fd136d23f2 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Tue, 31 May 2011 17:40:30 -0700 Subject: [PATCH] =?UTF-8?q?bug=207553:=20cloudStack=20-=20server-side=20-?= =?UTF-8?q?=20make=20listRouters=20API=20return=20=E2=80=9Cserviceoffering?= =?UTF-8?q?name=E2=80=9D=20and=20=E2=80=9Cserviceofferingid=E2=80=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/response/DomainRouterResponse.java | 21 +++++++++++++++++++ core/src/com/cloud/vm/DomainRouterVO.java | 4 ++++ .../src/com/cloud/api/ApiResponseHelper.java | 12 +++++++++++ 3 files changed, 37 insertions(+) diff --git a/api/src/com/cloud/api/response/DomainRouterResponse.java b/api/src/com/cloud/api/response/DomainRouterResponse.java index 87ff69a89ae..33ce06a53ac 100644 --- a/api/src/com/cloud/api/response/DomainRouterResponse.java +++ b/api/src/com/cloud/api/response/DomainRouterResponse.java @@ -113,6 +113,12 @@ public class DomainRouterResponse extends BaseResponse { @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain associated with the router") private String domainName; + @SerializedName("serviceofferingid") @Param(description="the ID of the service offering of the virtual machine") + private Long serviceOfferingId; + + @SerializedName("serviceofferingname") @Param(description="the name of the service offering of the virtual machine") + private String serviceOfferingName; + @@ -353,4 +359,19 @@ public class DomainRouterResponse extends BaseResponse { this.linkLocalNetworkId = linkLocalNetworkId; } + public Long getServiceOfferingId() { + return serviceOfferingId; + } + + public void setServiceOfferingId(Long serviceOfferingId) { + this.serviceOfferingId = serviceOfferingId; + } + + public String getServiceOfferingName() { + return serviceOfferingName; + } + + public void setServiceOfferingName(String serviceOfferingName) { + this.serviceOfferingName = serviceOfferingName; + } } diff --git a/core/src/com/cloud/vm/DomainRouterVO.java b/core/src/com/cloud/vm/DomainRouterVO.java index a1b1e72dfce..ed98c0e187b 100755 --- a/core/src/com/cloud/vm/DomainRouterVO.java +++ b/core/src/com/cloud/vm/DomainRouterVO.java @@ -123,6 +123,10 @@ public class DomainRouterVO extends VMInstanceVO implements VirtualRouter { this.role = role; } + @Override + public long getServiceOfferingId() { + return serviceOfferingId; + } public void setServiceOfferingId(long serviceOfferingId) { this.serviceOfferingId = serviceOfferingId; } diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index cc4dd5b0dba..53a2a663fc3 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -1223,6 +1223,8 @@ public class ApiResponseHelper implements ResponseGenerator { @Override public DomainRouterResponse createDomainRouterResponse(VirtualRouter router) { + Map serviceOfferings = new HashMap(); + DomainRouterResponse routerResponse = new DomainRouterResponse(); routerResponse.setId(router.getId()); routerResponse.setZoneId(router.getDataCenterId()); @@ -1236,7 +1238,17 @@ public class ApiResponseHelper implements ResponseGenerator { routerResponse.setHostId(router.getHostId()); routerResponse.setHostName(ApiDBUtils.findHostById(router.getHostId()).getName()); } + + // Service Offering Info + ServiceOffering offering = serviceOfferings.get(router.getServiceOfferingId()); + if (offering == null) { + offering = ApiDBUtils.findServiceOfferingById(router.getServiceOfferingId()); + serviceOfferings.put(offering.getId(), offering); + } + routerResponse.setServiceOfferingId(offering.getId()); + routerResponse.setServiceOfferingName(offering.getName()); + Account accountTemp = ApiDBUtils.findAccountById(router.getAccountId()); if (accountTemp != null) { routerResponse.setAccountName(accountTemp.getAccountName());