Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2009-11-20 21:15:48 +0000
committerspingel2009-11-20 21:15:48 +0000
commit4e31fee20e706aabb095ec0628d6c6bbeef3eb12 (patch)
treed880fcab7ee793f5e46dbccdae243530f769704e /org.eclipse.mylyn.tasks.bugs
parentbed92deb293917c1c7f389eb66a6d61c0e14cf00 (diff)
downloadorg.eclipse.mylyn.tasks-4e31fee20e706aabb095ec0628d6c6bbeef3eb12.tar.gz
org.eclipse.mylyn.tasks-4e31fee20e706aabb095ec0628d6c6bbeef3eb12.tar.xz
org.eclipse.mylyn.tasks-4e31fee20e706aabb095ec0628d6c6bbeef3eb12.zip
RESOLVED - bug 279267: [regression] reporting structured errors should take child items into account
https://bugs.eclipse.org/bugs/show_bug.cgi?id=279267
Diffstat (limited to 'org.eclipse.mylyn.tasks.bugs')
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java33
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java49
2 files changed, 24 insertions, 58 deletions
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java
index 910a5b30b..539aa430d 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java
@@ -188,15 +188,7 @@ public class DefaultSupportHandler extends AbstractSupportHandler {
sb.append(Messages.DefaultSupportHandler_Step_1);
sb.append(Messages.DefaultSupportHandler_Step_2);
sb.append(Messages.DefaultSupportHandler_Step_3);
- appendErrorDetails(sb, errorLogStatus, errorLogStatus.getDate());
- if (errorLogStatus.getLogSessionData() != null) {
- sb.append(Messages.DefaultTaskContributor_SESSION_DATA);
- sb.append(errorLogStatus.getLogSessionData());
- }
- if (errorLogStatus.getStack() != null) {
- sb.append(Messages.DefaultTaskContributor_EXCEPTION_STACK_TRACE);
- sb.append(errorLogStatus.getStack());
- }
+ appendStatus(errorLogStatus, sb, true);
return sb.toString();
} else {
StringBuilder sb = new StringBuilder();
@@ -212,6 +204,29 @@ public class DefaultSupportHandler extends AbstractSupportHandler {
return null;
}
+ private void appendStatus(IStatus status, StringBuilder sb, boolean includeSessionData) {
+ Date date = (status instanceof ErrorLogStatus) ? ((ErrorLogStatus) status).getDate() : null;
+ appendErrorDetails(sb, status, date);
+ if (status instanceof ErrorLogStatus) {
+ ErrorLogStatus errorStatus = (ErrorLogStatus) status;
+ if (includeSessionData && errorStatus.getLogSessionData() != null) {
+ sb.append(Messages.DefaultTaskContributor_SESSION_DATA);
+ sb.append(errorStatus.getLogSessionData());
+ }
+ if (errorStatus.getStack() != null) {
+ sb.append(Messages.DefaultTaskContributor_EXCEPTION_STACK_TRACE);
+ sb.append(errorStatus.getStack());
+ }
+ }
+
+ IStatus[] children = status.getChildren();
+ if (children != null) {
+ for (IStatus child : children) {
+ appendStatus(child, sb, false);
+ }
+ }
+ }
+
private String getSeverityText(int severity) {
switch (severity) {
case IStatus.ERROR:
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java
index 541ea3d5a..57fa79e26 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java
@@ -35,57 +35,8 @@ public class NewTaskFromErrorAction implements IObjectActionDelegate {
private LogEntry entry;
- /**
- * Fills a {@link StringBuilder} with {@link LogEntry} information, optionally including subentries too
- *
- * @param entry
- * The {@link LogEntry} who provides the information
- * @param sb
- * An {@link StringBuilder} to be filled with
- * @param includeChildren
- * Indicates if it should include subentries, if the {@link LogEntry} have any
- */
- // FIXME 3.4 re-enable (bug 279267)
- @SuppressWarnings("unused")
- private void buildDescriptionFromLogEntry(LogEntry entry, StringBuilder sb, boolean includeChildren) {
- sb.append(Messages.NewTaskFromErrorAction_ERROR_LOG_DATE);
- sb.append(entry.getDate());
- sb.append(Messages.NewTaskFromErrorAction_MESSGAE);
- sb.append(entry.getMessage());
- sb.append(Messages.NewTaskFromErrorAction_SEVERITY + entry.getSeverityText());
- sb.append(Messages.NewTaskFromErrorAction_PLUGIN_ID);
- sb.append(entry.getPluginId());
- sb.append(Messages.NewTaskFromErrorAction_STACK_TRACE);
- if (entry.getStack() == null) {
- sb.append(Messages.NewTaskFromErrorAction_no_stack_trace_available);
- } else {
- sb.append(entry.getStack());
- }
-
- if (includeChildren && entry.hasChildren()) {
- Object[] children = entry.getChildren(null);
- for (Object child : children) {
- if (child instanceof LogEntry) {
- buildDescriptionFromLogEntry((LogEntry) child, sb, includeChildren);
- }
- }
- }
- }
-
private void createTask(LogEntry entry) {
- // FIXME reenable
-// Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-// boolean includeChildren = false;
-//
-// if (entry.hasChildren()
-// && MessageDialog.openQuestion(shell, "Report Bug", "Include children of this entry in the report?")) {
-// includeChildren = true;
-// }
-// StringBuilder sb = new StringBuilder();
-// buildDescriptionFromLogEntry(entry, sb, true);
-
ErrorLogStatus status = createStatus(entry);
-
new ErrorReporterManager().fail(status);
}

Back to the top