Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/DuplicateDetetionTest.java27
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditor.java10
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditor.java13
-rw-r--r--org.eclipse.mylyn.help.ui/doc/new.html3
4 files changed, 41 insertions, 12 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/DuplicateDetetionTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/DuplicateDetetionTest.java
index 9dc81e85b..5f18faad8 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/DuplicateDetetionTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/DuplicateDetetionTest.java
@@ -51,8 +51,8 @@ public class DuplicateDetetionTest extends TestCase {
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
NewBugEditorInput input = new NewBugEditorInput(repository, model);
TaskUiUtil.openEditor(input, BugzillaUiPlugin.NEW_BUG_EDITOR_ID, page);
-
- MylarTaskEditor taskEditor = (MylarTaskEditor) page.getActiveEditor();
+
+ MylarTaskEditor taskEditor = (MylarTaskEditor) page.getActiveEditor();
NewBugEditor editor = (NewBugEditor) taskEditor.getActivePageInstance();
assertTrue(editor.searchForDuplicates());
@@ -70,11 +70,32 @@ public class DuplicateDetetionTest extends TestCase {
NewBugEditorInput input = new NewBugEditorInput(repository, model);
TaskUiUtil.openEditor(input, BugzillaUiPlugin.NEW_BUG_EDITOR_ID, page);
- MylarTaskEditor taskEditor = (MylarTaskEditor) page.getActiveEditor();
+ MylarTaskEditor taskEditor = (MylarTaskEditor) page.getActiveEditor();
NewBugEditor editor = (NewBugEditor) taskEditor.getActivePageInstance();
assertNull(editor.getStackTraceFromDescription());
editor.markDirty(false);
editor.close();
}
+
+ public void testStackTraceWithAppendedText() throws Exception {
+
+ String stackTrace = "java.lang.NullPointerException\nat jeff.testing.stack.trace.functionality(jeff.java:481)";
+ String extraText = "\nExtra text that isnt' part of the stack trace java:";
+
+ NewBugzillaReport model = new NewBugzillaReport(repository.getUrl(), TasksUiPlugin.getDefault()
+ .getOfflineReportsFile().getNextOfflineBugId());
+ model.setNewComment(extraText + "\n" + stackTrace + "\n");
+ model.setHasLocalChanges(true);
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ NewBugEditorInput input = new NewBugEditorInput(repository, model);
+ TaskUiUtil.openEditor(input, BugzillaUiPlugin.NEW_BUG_EDITOR_ID, page);
+
+ MylarTaskEditor taskEditor = (MylarTaskEditor) page.getActiveEditor();
+ NewBugEditor editor = (NewBugEditor) taskEditor.getActivePageInstance();
+ assertEquals(stackTrace, editor.getStackTraceFromDescription().trim());
+
+ editor.markDirty(false);
+ editor.close();
+ }
}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditor.java
index 7caa5731e..a8106a2f6 100644
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditor.java
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditor.java
@@ -171,7 +171,11 @@ public class ExistingBugEditor extends AbstractRepositoryTaskEditor {
@Override
protected void addRadioButtons(Composite buttonComposite) {
addSelfToCC(buttonComposite);
- addAttachContextButton(buttonComposite);
+ ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
+ AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ if (task != null) {
+ addAttachContextButton(buttonComposite, task);
+ }
FormToolkit toolkit = new FormToolkit(buttonComposite.getDisplay());
int i = 0;
Button selected = null;
@@ -263,9 +267,7 @@ public class ExistingBugEditor extends AbstractRepositoryTaskEditor {
toolkit.paintBordersFor(buttonComposite);
}
- private void addAttachContextButton(Composite buttonComposite) {
- ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ private void addAttachContextButton(Composite buttonComposite, ITask task) {
File contextFile = ContextCorePlugin.getContextManager().getFileForContext(task.getHandleIdentifier());
FormToolkit toolkit = new FormToolkit(buttonComposite.getDisplay());
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditor.java
index 70161dcdc..af697582b 100644
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditor.java
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditor.java
@@ -238,7 +238,7 @@ public class NewBugEditor extends AbstractRepositoryTaskEditor {
boolean hit = false;
while (tok.hasMoreTokens() && stackBuffer.length() == 0) {
String line = tok.nextToken().trim();
- while (line.indexOf("at ") < 0 && line.indexOf(".java:") < 0 && tok.hasMoreTokens()) {
+ while ((line.indexOf("at ") < 0 || line.indexOf(".java:") < 0) && tok.hasMoreTokens()) {
prevLine = line;
line = tok.nextToken();
hit = true;
@@ -247,10 +247,15 @@ public class NewBugEditor extends AbstractRepositoryTaskEditor {
if (!hit) {
return null;
}
- stackBuffer.append(prevLine + "\n" + line + "\n");
- while (line.indexOf(".java:") > 0 && line.indexOf("at ") == 0 && tok.hasMoreTokens()) {
- line = tok.nextToken();
+ stackBuffer.append(prevLine + "\n");
+ while (line.indexOf(".java:") > 0 && line.indexOf("at ") == 0) {
stackBuffer.append(line + "\n");
+ if (tok.hasMoreTokens()) {
+ line = tok.nextToken();
+ }
+ else {
+ line = "";
+ }
}
}
if (stackBuffer.length() > 0) {
diff --git a/org.eclipse.mylyn.help.ui/doc/new.html b/org.eclipse.mylyn.help.ui/doc/new.html
index d5cd21e2d..ca251788a 100644
--- a/org.eclipse.mylyn.help.ui/doc/new.html
+++ b/org.eclipse.mylyn.help.ui/doc/new.html
@@ -52,7 +52,8 @@ Mylar 0.3.x</a></b></li>
<li>Drag and drop of contexts and tasks</li>
<li>Report bugs directly from Error Log view, works via clipboard for
connectors without new task editor</li>
- <li>Duplicate detection</li>
+ <li>Duplicate detection, button is in place of Create button to encourage
+ always checking before submission</li>
<li>Hyperlinks in task editor box, better editing support (edit menu, context menu, actions work),
attach context inlined</li>
<li>Apply Mylar is automated for navigator views (see Context prefs page)</li>

Back to the top