Move change status parsing into ChangeStatusPredicate
Change-Id: I9ad4156bc24644f9b249f8a87b19b189c6a15f2e
This commit is contained in:
@@ -276,17 +276,10 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
|
|
||||||
@Operator
|
@Operator
|
||||||
public Predicate<ChangeData> status(String statusName) {
|
public Predicate<ChangeData> status(String statusName) {
|
||||||
if ("open".equals(statusName) || "pending".equals(statusName)) {
|
if ("reviewed".equalsIgnoreCase(statusName)) {
|
||||||
return status_open();
|
|
||||||
|
|
||||||
} else if ("closed".equals(statusName)) {
|
|
||||||
return ChangeStatusPredicate.closed();
|
|
||||||
|
|
||||||
} else if ("reviewed".equalsIgnoreCase(statusName)) {
|
|
||||||
return new IsReviewedPredicate();
|
return new IsReviewedPredicate();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return new ChangeStatusPredicate(statusName);
|
return ChangeStatusPredicate.parse(statusName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,18 @@ public final class ChangeStatusPredicate extends IndexPredicate<ChangeData> {
|
|||||||
VALUES = values.build();
|
VALUES = values.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Predicate<ChangeData> parse(String value) {
|
||||||
|
if ("open".equals(value) || "pending".equals(value)) {
|
||||||
|
return open();
|
||||||
|
} else if ("closed".equals(value)) {
|
||||||
|
return closed();
|
||||||
|
} else {
|
||||||
|
Change.Status status = VALUES.inverse().get(value);
|
||||||
|
checkArgument(status != null, "invalid change status: %s", value);
|
||||||
|
return new ChangeStatusPredicate(status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Predicate<ChangeData> open() {
|
public static Predicate<ChangeData> open() {
|
||||||
List<Predicate<ChangeData>> r = new ArrayList<>(4);
|
List<Predicate<ChangeData>> r = new ArrayList<>(4);
|
||||||
for (final Change.Status e : Change.Status.values()) {
|
for (final Change.Status e : Change.Status.values()) {
|
||||||
@@ -68,12 +80,6 @@ public final class ChangeStatusPredicate extends IndexPredicate<ChangeData> {
|
|||||||
|
|
||||||
private final Change.Status status;
|
private final Change.Status status;
|
||||||
|
|
||||||
ChangeStatusPredicate(String value) {
|
|
||||||
super(ChangeField.STATUS, value);
|
|
||||||
status = VALUES.inverse().get(value);
|
|
||||||
checkArgument(status != null, "invalid change status: %s", value);
|
|
||||||
}
|
|
||||||
|
|
||||||
ChangeStatusPredicate(Change.Status status) {
|
ChangeStatusPredicate(Change.Status status) {
|
||||||
super(ChangeField.STATUS, VALUES.get(status));
|
super(ChangeField.STATUS, VALUES.get(status));
|
||||||
this.status = status;
|
this.status = status;
|
||||||
|
|||||||
Reference in New Issue
Block a user