blob: 4e50eef4b191a80a1b0557e37375a1cedb51da94 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 Tasktop Technologies and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.gerrit.ui.operations;
import org.eclipse.mylyn.internal.gerrit.core.operations.GerritOperation;
import org.eclipse.mylyn.internal.gerrit.core.operations.RemoveReviewerRequest;
import org.eclipse.mylyn.internal.gerrit.ui.GerritUiPlugin;
import org.eclipse.mylyn.reviews.core.model.IUser;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import com.google.gerrit.common.data.ReviewerResult;
public class RemoveReviewerDialog extends GerritOperationDialog {
private final IUser userToRemove;
public RemoveReviewerDialog(Shell parentShell, ITask task, IUser user) {
super(parentShell, task);
this.userToRemove = user;
}
@Override
public GerritOperation<ReviewerResult> createOperation() {
RemoveReviewerRequest request = new RemoveReviewerRequest(getTask().getTaskId(), userToRemove.getId());
return GerritUiPlugin.getDefault().getOperationFactory().createOperation(task, request);
}
@Override
protected Control createPageControls(Composite parent) {
setTitle(Messages.RemoveReviewerDialog_Remove_Reviewer);
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(1, false));
Label label = new Label(composite, SWT.NONE);
label.setText(
NLS.bind(Messages.RemoveReviewerDialog_Are_You_Sure_You_Want_To_Remove, userToRemove.getDisplayName()));
return parent;
}
@Override
protected boolean processOperationResult(GerritOperation<?> operation) {
Object result = operation.getOperationResult();
if (result instanceof ReviewerResult) {
ReviewerResult reviewerResult = (ReviewerResult) result;
if (reviewerResult.getErrors() != null && reviewerResult.getErrors().size() > 0) {
setErrorMessage(reviewerResult.getErrors().toString());
return false;
}
}
return super.processOperationResult(operation);
}
}