Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.BaseCmd.CommandType;
import org.apache.cloudstack.api.response.DiskOfferingResponse;
import org.apache.cloudstack.api.response.ListResponse;

Expand Down Expand Up @@ -77,6 +76,9 @@
since = "4.19")
private String diskOfferingState;

@Parameter(name = ApiConstants.TAGS, type = CommandType.STRING, description = "list disk offerings by tags", length = 4096)
private String tags;

/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
Expand Down Expand Up @@ -116,6 +118,10 @@
return state;
}

public String getTags() {
return tags;
}

Check warning on line 123 in api/src/main/java/org/apache/cloudstack/api/command/user/offering/ListDiskOfferingsCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/offering/ListDiskOfferingsCmd.java#L121-L123

Added lines #L121 - L123 were not covered by tests

/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
Expand Down
11 changes: 10 additions & 1 deletion server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -3385,7 +3385,7 @@
@Override
public ListResponse<DiskOfferingResponse> searchForDiskOfferings(ListDiskOfferingsCmd cmd) {
Pair<List<DiskOfferingJoinVO>, Integer> result = searchForDiskOfferingsInternal(cmd);
ListResponse<DiskOfferingResponse> response = new ListResponse<DiskOfferingResponse>();
ListResponse<DiskOfferingResponse> response = new ListResponse<>();

Check warning on line 3388 in server/src/main/java/com/cloud/api/query/QueryManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/api/query/QueryManagerImpl.java#L3388

Added line #L3388 was not covered by tests
List<DiskOfferingResponse> offeringResponses = ViewResponseHelper.createDiskOfferingResponse(result.first().toArray(new DiskOfferingJoinVO[result.first().size()]));
response.setResponses(offeringResponses, result.second());
return response;
Expand Down Expand Up @@ -3444,6 +3444,7 @@
Boolean encrypt = cmd.getEncrypt();
String storageType = cmd.getStorageType();
DiskOffering.State state = cmd.getState();
String tags = cmd.getTags();

Check warning on line 3447 in server/src/main/java/com/cloud/api/query/QueryManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/api/query/QueryManagerImpl.java#L3447

Added line #L3447 was not covered by tests

Filter searchFilter = new Filter(DiskOfferingVO.class, "sortKey", SortKeyAscending.value(), cmd.getStartIndex(), cmd.getPageSizeVal());
searchFilter.addOrderBy(DiskOfferingVO.class, "id", true);
Expand Down Expand Up @@ -3520,6 +3521,10 @@
diskOfferingSearch.and("encrypt", diskOfferingSearch.entity().getEncrypt(), Op.EQ);
}

if (tags != null) {
diskOfferingSearch.and("tags", diskOfferingSearch.entity().getTags(), Op.EQ);

Check warning on line 3525 in server/src/main/java/com/cloud/api/query/QueryManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/api/query/QueryManagerImpl.java#L3525

Added line #L3525 was not covered by tests
}

if (storageType != null || zoneId != null) {
diskOfferingSearch.and("useLocalStorage", diskOfferingSearch.entity().isUseLocalStorage(), Op.EQ);
}
Expand Down Expand Up @@ -3589,6 +3594,10 @@
sc.setParameters("encrypt", encrypt);
}

if (tags != null) {
sc.setParameters("tags", tags);

Check warning on line 3598 in server/src/main/java/com/cloud/api/query/QueryManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/api/query/QueryManagerImpl.java#L3598

Added line #L3598 was not covered by tests
}

if (storageType != null) {
if (storageType.equalsIgnoreCase(ServiceOffering.StorageType.local.toString())) {
sc.setParameters("useLocalStorage", true);
Expand Down
Loading