Remove IdentityProxy from GuestOSResponse and GuestOSCategoryResponse. Signed-off-by: Min Chen <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/79f8c104 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/79f8c104 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/79f8c104 Branch: refs/heads/api_refactoring Commit: 79f8c104eb149aba7db353c9536b7b3410239cf1 Parents: e017dc2 Author: Min Chen <[email protected]> Authored: Mon Dec 17 18:01:31 2012 -0800 Committer: Min Chen <[email protected]> Committed: Mon Dec 17 18:01:31 2012 -0800 ---------------------------------------------------------------------- api/src/com/cloud/storage/GuestOS.java | 2 + api/src/com/cloud/storage/GuestOsCategory.java | 2 + .../apache/cloudstack/api/ResponseGenerator.java | 4 ++ .../user/guest/ListGuestOsCategoriesCmd.java | 2 +- .../api/command/user/guest/ListGuestOsCmd.java | 7 +--- .../api/response/GuestOSCategoryResponse.java | 10 ++-- .../cloudstack/api/response/GuestOSResponse.java | 20 +++++----- core/src/com/cloud/storage/GuestOSCategoryVO.java | 16 ++++---- core/src/com/cloud/storage/GuestOSVO.java | 32 +++++++------- server/src/com/cloud/api/ApiDBUtils.java | 3 + server/src/com/cloud/api/ApiResponseHelper.java | 19 +++++++++ 11 files changed, 71 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/com/cloud/storage/GuestOS.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/storage/GuestOS.java b/api/src/com/cloud/storage/GuestOS.java index b9727db..828ba27 100644 --- a/api/src/com/cloud/storage/GuestOS.java +++ b/api/src/com/cloud/storage/GuestOS.java @@ -20,6 +20,8 @@ public interface GuestOS { long getId(); + String getUuid(); + String getName(); String getDisplayName(); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/com/cloud/storage/GuestOsCategory.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/storage/GuestOsCategory.java b/api/src/com/cloud/storage/GuestOsCategory.java index 42320d9..cae4518 100644 --- a/api/src/com/cloud/storage/GuestOsCategory.java +++ b/api/src/com/cloud/storage/GuestOsCategory.java @@ -21,6 +21,8 @@ public interface GuestOsCategory { public static final String CATEGORY_NONE ="None"; long getId(); + String getUuid(); + String getName(); void setName(String name); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/org/apache/cloudstack/api/ResponseGenerator.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/ResponseGenerator.java b/api/src/org/apache/cloudstack/api/ResponseGenerator.java index 7f1ef48..819f4dd 100644 --- a/api/src/org/apache/cloudstack/api/ResponseGenerator.java +++ b/api/src/org/apache/cloudstack/api/ResponseGenerator.java @@ -41,6 +41,7 @@ import org.apache.cloudstack.api.response.EventResponse; import org.apache.cloudstack.api.response.ExtractResponse; import org.apache.cloudstack.api.response.FirewallResponse; import org.apache.cloudstack.api.response.FirewallRuleResponse; +import org.apache.cloudstack.api.response.GuestOSResponse; import org.apache.cloudstack.api.response.HostResponse; import org.apache.cloudstack.api.response.HypervisorCapabilitiesResponse; import org.apache.cloudstack.api.response.IPAddressResponse; @@ -141,6 +142,7 @@ import com.cloud.projects.Project; import com.cloud.projects.ProjectAccount; import com.cloud.projects.ProjectInvitation; import com.cloud.server.ResourceTag; +import com.cloud.storage.GuestOS; import com.cloud.storage.Snapshot; import com.cloud.storage.StoragePool; import com.cloud.storage.Swift; @@ -367,4 +369,6 @@ public interface ResponseGenerator { AutoScaleVmProfileResponse createAutoScaleVmProfileResponse(AutoScaleVmProfile profile); AutoScaleVmGroupResponse createAutoScaleVmGroupResponse(AutoScaleVmGroup vmGroup); + + GuestOSResponse createGuestOSResponse(GuestOS os); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCategoriesCmd.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCategoriesCmd.java b/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCategoriesCmd.java index 06c2208..a98bd86 100644 --- a/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCategoriesCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCategoriesCmd.java @@ -79,7 +79,7 @@ public class ListGuestOsCategoriesCmd extends BaseListCmd { List<GuestOSCategoryResponse> osCatResponses = new ArrayList<GuestOSCategoryResponse>(); for (GuestOsCategory osCategory : result.first()) { GuestOSCategoryResponse categoryResponse = new GuestOSCategoryResponse(); - categoryResponse.setId(osCategory.getId()); + categoryResponse.setId(osCategory.getUuid()); categoryResponse.setName(osCategory.getName()); categoryResponse.setObjectName("oscategory"); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCmd.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCmd.java b/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCmd.java index 7a43f2b..c47c0b4 100644 --- a/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/guest/ListGuestOsCmd.java @@ -85,12 +85,7 @@ public class ListGuestOsCmd extends BaseListCmd { ListResponse<GuestOSResponse> response = new ListResponse<GuestOSResponse>(); List<GuestOSResponse> osResponses = new ArrayList<GuestOSResponse>(); for (GuestOS guestOS : result.first()) { - GuestOSResponse guestOSResponse = new GuestOSResponse(); - guestOSResponse.setDescription(guestOS.getDisplayName()); - guestOSResponse.setId(guestOS.getId()); - guestOSResponse.setOsCategoryId(guestOS.getCategoryId()); - - guestOSResponse.setObjectName("ostype"); + GuestOSResponse guestOSResponse = _responseGenerator.createGuestOSResponse(guestOS); osResponses.add(guestOSResponse); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/org/apache/cloudstack/api/response/GuestOSCategoryResponse.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/response/GuestOSCategoryResponse.java b/api/src/org/apache/cloudstack/api/response/GuestOSCategoryResponse.java index a271686..62537d9 100644 --- a/api/src/org/apache/cloudstack/api/response/GuestOSCategoryResponse.java +++ b/api/src/org/apache/cloudstack/api/response/GuestOSCategoryResponse.java @@ -24,17 +24,17 @@ import org.apache.cloudstack.api.BaseResponse; public class GuestOSCategoryResponse extends BaseResponse { @SerializedName(ApiConstants.ID) @Param(description="the ID of the OS category") - private IdentityProxy id = new IdentityProxy("guest_os_category"); + private String id; @SerializedName(ApiConstants.NAME) @Param(description="the name of the OS category") private String name; - public Long getId() { - return id.getValue(); + public String getId() { + return id; } - public void setId(Long id) { - this.id.setValue(id); + public void setId(String id) { + this.id = id; } public String getName() { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/api/src/org/apache/cloudstack/api/response/GuestOSResponse.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/response/GuestOSResponse.java b/api/src/org/apache/cloudstack/api/response/GuestOSResponse.java index 6c15480..469c310 100644 --- a/api/src/org/apache/cloudstack/api/response/GuestOSResponse.java +++ b/api/src/org/apache/cloudstack/api/response/GuestOSResponse.java @@ -24,28 +24,28 @@ import org.apache.cloudstack.api.BaseResponse; public class GuestOSResponse extends BaseResponse { @SerializedName(ApiConstants.ID) @Param(description="the ID of the OS type") - private IdentityProxy id = new IdentityProxy("guest_os"); + private String id; @SerializedName(ApiConstants.OS_CATEGORY_ID) @Param(description="the ID of the OS category") - private IdentityProxy osCategoryId = new IdentityProxy("guest_os_category"); + private String osCategoryId; @SerializedName(ApiConstants.DESCRIPTION) @Param(description="the name/description of the OS type") private String description; - public Long getId() { - return id.getValue(); + public String getId() { + return id; } - public void setId(Long id) { - this.id.setValue(id); + public void setId(String id) { + this.id = id; } - public Long getOsCategoryId() { - return osCategoryId.getValue(); + public String getOsCategoryId() { + return osCategoryId; } - public void setOsCategoryId(Long osCategoryId) { - this.osCategoryId.setValue(osCategoryId); + public void setOsCategoryId(String osCategoryId) { + this.osCategoryId = osCategoryId; } public String getDescription() { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/core/src/com/cloud/storage/GuestOSCategoryVO.java ---------------------------------------------------------------------- diff --git a/core/src/com/cloud/storage/GuestOSCategoryVO.java b/core/src/com/cloud/storage/GuestOSCategoryVO.java index 76b557c..dfe7028 100644 --- a/core/src/com/cloud/storage/GuestOSCategoryVO.java +++ b/core/src/com/cloud/storage/GuestOSCategoryVO.java @@ -29,28 +29,28 @@ import org.apache.cloudstack.api.Identity; @Entity @Table(name="guest_os_category") -public class GuestOSCategoryVO implements GuestOsCategory, Identity { +public class GuestOSCategoryVO implements GuestOsCategory { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id") long id; - + @Column(name="name") String name; - + @Column(name="uuid") String uuid = UUID.randomUUID().toString(); - + @Override public long getId() { return id; } - + @Override public String getName() { - return name; + return name; } - + @Override public void setName(String name) { this.name = name; @@ -60,7 +60,7 @@ public class GuestOSCategoryVO implements GuestOsCategory, Identity { public String getUuid() { return this.uuid; } - + public void setUuid(String uuid) { this.uuid = uuid; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/core/src/com/cloud/storage/GuestOSVO.java ---------------------------------------------------------------------- diff --git a/core/src/com/cloud/storage/GuestOSVO.java b/core/src/com/cloud/storage/GuestOSVO.java index 547b2b7..7fe7f6d 100644 --- a/core/src/com/cloud/storage/GuestOSVO.java +++ b/core/src/com/cloud/storage/GuestOSVO.java @@ -29,60 +29,60 @@ import org.apache.cloudstack.api.Identity; @Entity @Table(name="guest_os") -public class GuestOSVO implements GuestOS, Identity { +public class GuestOSVO implements GuestOS { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id") long id; - + @Column(name="category_id") private long categoryId; - + @Column(name="name") String name; - + @Column(name="display_name") String displayName; - + @Column(name="uuid") String uuid = UUID.randomUUID().toString(); - + @Override public long getId() { return id; } - + public long getCategoryId() { return categoryId; } - + public void setCategoryId(long categoryId) { this.categoryId = categoryId; } - + @Override public String getName() { - return name; + return name; } - + public void setName(String name) { this.name = name; } - + @Override public String getDisplayName() { return displayName; } - + public void setDisplayName(String displayName) { this.displayName = displayName; } - + @Override public String getUuid() { - return this.uuid; + return this.uuid; } - + public void setUuid(String uuid) { this.uuid = uuid; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/server/src/com/cloud/api/ApiDBUtils.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 60a9b26..7c5f4b5 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -1017,6 +1017,9 @@ public class ApiDBUtils { return _asVmGroupDao.findById(groupId); } + public static GuestOSCategoryVO findGuestOsCategoryById(long catId){ + return _guestOSCategoryDao.findById(catId); + } /////////////////////////////////////////////////////////////////////// // Newly Added Utility Methods for List API refactoring // /////////////////////////////////////////////////////////////////////// http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/79f8c104/server/src/com/cloud/api/ApiResponseHelper.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 5f584f7..0eeb8ca 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -73,6 +73,7 @@ import org.apache.cloudstack.api.response.EventResponse; import org.apache.cloudstack.api.response.ExtractResponse; import org.apache.cloudstack.api.response.FirewallResponse; import org.apache.cloudstack.api.response.FirewallRuleResponse; +import org.apache.cloudstack.api.response.GuestOSResponse; import org.apache.cloudstack.api.response.HostResponse; import org.apache.cloudstack.api.response.HypervisorCapabilitiesResponse; import org.apache.cloudstack.api.response.ControlledViewEntityResponse; @@ -3472,4 +3473,22 @@ public class ApiResponseHelper implements ResponseGenerator { response.setObjectName("vpnconnection"); return response; } + + + + @Override + public GuestOSResponse createGuestOSResponse(GuestOS guestOS) { + GuestOSResponse response = new GuestOSResponse(); + response.setDescription(guestOS.getDisplayName()); + response.setId(guestOS.getUuid()); + GuestOSCategoryVO category = ApiDBUtils.findGuestOsCategoryById(guestOS.getCategoryId()); + if ( category != null ){ + response.setOsCategoryId(category.getUuid()); + } + + response.setObjectName("ostype"); + return response; + } + + }
