blob: 76785d8f6547e9f19dd3ba4c6351d9cd7c43a68a [file] [log] [blame]
// Copyright (C) 2011 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.common.data;
import com.google.gerrit.reviewdb.client.Change;
import java.util.ArrayList;
import java.util.List;
/**
* Result from performing a review (comment, abandon, etc.)
*/
public class ReviewResult {
protected List<Error> errors;
protected Change.Id changeId;
public ReviewResult() {
errors = new ArrayList<>();
}
public void addError(final Error e) {
errors.add(e);
}
public List<Error> getErrors() {
return errors;
}
public Change.Id getChangeId() {
return changeId;
}
public void setChangeId(Change.Id changeId) {
this.changeId = changeId;
}
public static class Error {
public static enum Type {
/** Not permitted to abandon this change. */
ABANDON_NOT_PERMITTED,
/** Not permitted to restore this change. */
RESTORE_NOT_PERMITTED,
/** Not permitted to submit this change. */
SUBMIT_NOT_PERMITTED,
/** Approvals or dependencies are lacking for submission. */
SUBMIT_NOT_READY,
/** Review operation invalid because change is closed. */
CHANGE_IS_CLOSED,
/** Review operation invalid because change is not abandoned. */
CHANGE_NOT_ABANDONED,
/** Not permitted to publish this draft patch set */
PUBLISH_NOT_PERMITTED,
/** Not permitted to delete this draft patch set */
DELETE_NOT_PERMITTED,
/** Review operation not permitted by rule. */
RULE_ERROR,
/** Review operation invalid because patch set is not a draft. */
NOT_A_DRAFT,
/** Error writing change to git repository */
GIT_ERROR,
/** The destination branch does not exist */
DEST_BRANCH_NOT_FOUND,
/** Not permitted to edit the topic name */
EDIT_TOPIC_NAME_NOT_PERMITTED,
/** Not permitted to edit the hashtags */
EDIT_HASHTAGS_NOT_PERMITTED
}
protected Type type;
protected String message;
protected Error() {
}
public Error(final Type type) {
this.type = type;
this.message = null;
}
public Error(final Type type, final String message) {
this.type = type;
this.message = message;
}
public Type getType() {
return type;
}
public String getMessage() {
return message;
}
public String getMessageOrType() {
if (message != null) {
return message;
}
return "" + type;
}
@Override
public String toString() {
String ret = type + "";
if (message != null) {
ret += " " + message;
}
return ret;
}
}
}