Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Pingel2012-09-07 21:57:55 +0000
committerSteffen Pingel2012-09-07 21:57:55 +0000
commitbc4691e3a90c096b4c90752cf87af8e71886c9a4 (patch)
tree779a988d9ada1f0b82961e53502d023ac663502c
parent9df5360d73db345f70775011c10c156c8ec88f0f (diff)
downloadorg.eclipse.mylyn.reviews-bc4691e3a90c096b4c90752cf87af8e71886c9a4.tar.gz
org.eclipse.mylyn.reviews-bc4691e3a90c096b4c90752cf87af8e71886c9a4.tar.xz
org.eclipse.mylyn.reviews-bc4691e3a90c096b4c90752cf87af8e71886c9a4.zip
allow spaces between reviewer names when adding reviewers
-rw-r--r--org.eclipse.mylyn.gerrit.ui.tests/.settings/org.eclipse.jdt.core.prefs31
-rw-r--r--org.eclipse.mylyn.gerrit.ui.tests/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialogTest.java77
-rw-r--r--org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialog.java26
-rw-r--r--org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/GerritOperationDialog.java4
4 files changed, 130 insertions, 8 deletions
diff --git a/org.eclipse.mylyn.gerrit.ui.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.gerrit.ui.tests/.settings/org.eclipse.jdt.core.prefs
index bc2c501db..f73292f97 100644
--- a/org.eclipse.mylyn.gerrit.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.mylyn.gerrit.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Thu Mar 10 01:20:38 PST 2011
eclipse.preferences.version=1
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,13 @@ org.eclipse.jdt.core.codeComplete.localPrefixes=
org.eclipse.jdt.core.codeComplete.localSuffixes=
org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -18,12 +24,15 @@ org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
@@ -31,31 +40,48 @@ org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=error
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
@@ -68,6 +94,7 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverridin
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
diff --git a/org.eclipse.mylyn.gerrit.ui.tests/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialogTest.java b/org.eclipse.mylyn.gerrit.ui.tests/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialogTest.java
new file mode 100644
index 000000000..47b80f144
--- /dev/null
+++ b/org.eclipse.mylyn.gerrit.ui.tests/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialogTest.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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 static org.junit.Assert.assertEquals;
+
+import java.util.Arrays;
+import java.util.Collections;
+
+import org.eclipse.mylyn.internal.gerrit.core.GerritConnector;
+import org.eclipse.mylyn.tasks.core.ITask;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
+import org.eclipse.mylyn.tasks.ui.TasksUi;
+import org.eclipse.swt.widgets.Shell;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author Steffen Pingel
+ */
+public class AddReviewersDialogTest {
+
+ private Shell shell;
+
+ private AddReviewersDialog dialog;
+
+ @Before
+ public void setUp() {
+ shell = new Shell();
+
+ TaskRepository repository = new TaskRepository(GerritConnector.CONNECTOR_KIND, "url");
+ TasksUi.getRepositoryManager().addRepository(repository);
+ ITask task = TasksUi.getRepositoryModel().createTask(repository, "1");
+ dialog = new AddReviewersDialog(shell, task);
+ dialog.create();
+ }
+
+ public void tearDown() {
+ shell.dispose();
+ }
+
+ @Test
+ public void testGetReviewers() {
+ dialog.setText("a, b, c");
+ assertEquals(Arrays.asList("a", "b", "c"), dialog.getReviewers());
+ }
+
+ @Test
+ public void testGetReviewersTwo() {
+ dialog.setText("b,a");
+ assertEquals(Arrays.asList("b", "a"), dialog.getReviewers());
+ }
+
+ @Test
+ public void testGetReviewersEmpty() {
+ dialog.setText("");
+ assertEquals(Collections.emptyList(), dialog.getReviewers());
+ dialog.setText(" ");
+ assertEquals(Collections.emptyList(), dialog.getReviewers());
+ }
+
+ @Test
+ public void testGetReviewersOne() {
+ dialog.setText(" one reviewer ");
+ assertEquals(Arrays.asList("one reviewer"), dialog.getReviewers());
+ }
+
+}
diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialog.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialog.java
index d78080b88..c5de3cbaa 100644
--- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialog.java
+++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/AddReviewersDialog.java
@@ -11,7 +11,7 @@
package org.eclipse.mylyn.internal.gerrit.ui.operations;
-import java.util.Arrays;
+import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.layout.GridDataFactory;
@@ -47,9 +47,16 @@ public class AddReviewersDialog extends GerritOperationDialog {
return GerritUiPlugin.getDefault().getOperationFactory().createAddReviewersOperation(task, request);
}
- private List<String> getReviewers() {
- String[] reviewers = messageEditor.getText().split(",");
- return Arrays.asList(reviewers);
+ List<String> getReviewers() {
+ String[] reviewers = messageEditor.getText().split(","); //$NON-NLS-1$
+ List<String> result = new ArrayList<String>(reviewers.length);
+ for (int i = 0; i < reviewers.length; i++) {
+ reviewers[i] = reviewers[i].trim();
+ if (reviewers[i].length() > 0) {
+ result.add(reviewers[i]);
+ }
+ }
+ return result;
}
@Override
@@ -80,4 +87,15 @@ public class AddReviewersDialog extends GerritOperationDialog {
return super.processOperationResult(operation);
}
+ /**
+ * Sets the text of the message control. Intended for testing.
+ *
+ * @param text
+ * the text to set
+ * @see #getReviewers()
+ */
+ void setText(String text) {
+ messageEditor.setText(text);
+ }
+
}
diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/GerritOperationDialog.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/GerritOperationDialog.java
index 222290bde..7a46f4e6e 100644
--- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/GerritOperationDialog.java
+++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/operations/GerritOperationDialog.java
@@ -23,12 +23,12 @@ import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.fieldassist.TextContentAdapter;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.mylyn.commons.workbench.forms.CommonFormUtil;
import org.eclipse.mylyn.internal.gerrit.core.GerritOperationFactory;
import org.eclipse.mylyn.internal.gerrit.core.client.GerritConfiguration;
import org.eclipse.mylyn.internal.gerrit.core.operations.GerritOperation;
import org.eclipse.mylyn.internal.gerrit.core.operations.RefreshConfigRequest;
import org.eclipse.mylyn.internal.gerrit.ui.GerritUiPlugin;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
import org.eclipse.mylyn.internal.tasks.ui.editors.RichTextEditor;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorExtensions;
import org.eclipse.mylyn.reviews.ui.ProgressDialog;
@@ -132,7 +132,7 @@ public abstract class GerritOperationDialog extends ProgressDialog {
@Override
protected Control createDialogArea(Composite parent) {
- toolkit = new FormToolkit(TasksUiPlugin.getDefault().getFormColors(parent.getDisplay()));
+ toolkit = new FormToolkit(CommonFormUtil.getSharedColors());
Control control = super.createDialogArea(parent);
if (needsConfig()) {
GerritConfig config = getOperationFactory().getClient(getTask()).getGerritConfig();

Back to the top