Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvs2git2006-02-22 01:53:31 +0000
committercvs2git2006-02-22 01:53:31 +0000
commit5d148bfa6c218445247f4d2f84025775eaea12d6 (patch)
treec17a4ae295a8121efa5def9914002c24fe0ada2c
parentce7d6ee8f9cd601f231db0dbd23ad711ba986b35 (diff)
downloadorg.eclipse.mylyn.tasks-5d148bfa6c218445247f4d2f84025775eaea12d6.tar.gz
org.eclipse.mylyn.tasks-5d148bfa6c218445247f4d2f84025775eaea12d6.tar.xz
org.eclipse.mylyn.tasks-5d148bfa6c218445247f4d2f84025775eaea12d6.zip
This commit was manufactured by cvs2svn to create branch 'e_3_1'.
Cherrypick from master 2006-02-22 01:53:30 UTC mkersten 'Completed: make archive sort to bottom': org.eclipse.mylyn.bugzilla.core/.project org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaException.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/PossibleBugzillaFailureException.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/TrustAll.java org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.bugzilla.tests/build.properties org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTestPlugin.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-1-full.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-eclipse.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-hipikat.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/cdt-page.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/equinox-page.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/gmt-page.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/hipikat-copy-bug-1-full.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/platform-page.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/product-page-1-product-hipikat.html org.eclipse.mylyn.bugzilla.tests/testdata/pages/ve-page.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/1.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/2.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/40152.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4548.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4862.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/67395.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76146.html org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76388.html org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.bugzilla.ui/build.properties org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-remote.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository-new.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository.gif org.eclipse.mylyn.bugzilla.ui/icons/eview16/bugzilla-logo.gif org.eclipse.mylyn.bugzilla.ui/icons/eview16/overlay-bugzilla.gif org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaOpenStructure.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaResultMatchAdapter.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaTableContentProvider.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/OfflineView.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/ViewBugzillaAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractFavoritesAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractOfflineReportsAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AddBugzillaQueryAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/BugzillaSortAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/DeleteFavoriteAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/OpenBugsAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/ViewFavoriteAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/AbstractBugEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaEditorCopyAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineComparer.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineNode.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlinePage.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaReportSelection.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/SpellingDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaResultCollector.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaSearchResultView.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/GetQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/SaveQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/SavedQueryFile.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaCacheFile.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaReportEditorFactory.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaReportNode.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/StackTrace.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/wizard/AbstractWizardListPage.java org.eclipse.mylyn.help.ui/.classpath org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.help.ui/build.properties org.eclipse.mylyn.help.ui/doc/images/0.3/active-hierarchy.gif org.eclipse.mylyn.help.ui/doc/images/0.3/active-search-linked.gif org.eclipse.mylyn.help.ui/doc/images/0.3/active-search-manipulation.gif org.eclipse.mylyn.help.ui/doc/images/0.3/active-search-qualify.gif org.eclipse.mylyn.help.ui/doc/images/0.3/active-search.gif org.eclipse.mylyn.help.ui/doc/images/0.3/alt-click.gif org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-hyperlink.gif org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-internal-browser.gif org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-query-custom.gif org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-synch.gif org.eclipse.mylyn.help.ui/doc/images/0.3/filter-auto-toggle.gif org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-ant.gif org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-declarations.gif org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-exclusion.gif org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-navigator.gif org.eclipse.mylyn.help.ui/doc/images/0.3/folding-toggle.gif org.eclipse.mylyn.help.ui/doc/images/0.3/highlight.gif org.eclipse.mylyn.help.ui/doc/images/0.3/interest-content-assist.gif org.eclipse.mylyn.help.ui/doc/images/0.3/interest-error.gif org.eclipse.mylyn.help.ui/doc/images/0.3/interest-java-browsing.gif org.eclipse.mylyn.help.ui/doc/images/0.3/interest-manipulate.gif org.eclipse.mylyn.help.ui/doc/images/0.3/monitor-enable.gif org.eclipse.mylyn.help.ui/doc/images/0.3/open-type.gif org.eclipse.mylyn.help.ui/doc/images/0.3/overview.gif org.eclipse.mylyn.help.ui/doc/images/0.3/preference-error-interest.gif org.eclipse.mylyn.help.ui/doc/images/0.3/search-context.gif org.eclipse.mylyn.help.ui/doc/images/0.3/task-context-visible.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasklist-actions.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-archive.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-drilldown.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-go-navigation.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-history.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-offline.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-quick-filter.gif org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-reminders.gif org.eclipse.mylyn.help.ui/doc/images/0.3/test-context.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/bugzilla-editor-browser.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/bugzilla-prefs-220.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/bugzilla-prefs-open-reports.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/context-pause.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-context.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-export.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-popup.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-weblink-editor.gif org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-weblink.gif org.eclipse.mylyn.help.ui/doc/images/0.4.3/bugzilla-outline.gif org.eclipse.mylyn.help.ui/doc/images/0.4.3/context-capture-pause-indicator.gif org.eclipse.mylyn.help.ui/doc/images/0.4.3/cvs-resource-history-open.gif org.eclipse.mylyn.help.ui/doc/images/0.4.3/editors-auto-manage-pref.gif org.eclipse.mylyn.help.ui/doc/images/0.4.3/editors-auto-manage.gif org.eclipse.mylyn.help.ui/doc/images/0.4.3/synchronize-change-sets.gif org.eclipse.mylyn.help.ui/doc/images/0.4.4/changeset-addto.gif org.eclipse.mylyn.help.ui/doc/images/0.4.5/taskist-planner.gif org.eclipse.mylyn.help.ui/doc/images/0.4.5/tasklist-drag.gif org.eclipse.mylyn.help.ui/doc/images/0.4.6/tasklist-pastreminder.gif org.eclipse.mylyn.help.ui/doc/images/0.4.7/bugzilla-encoding.gif org.eclipse.mylyn.help.ui/doc/images/0.4.7/tasklist-open-external.gif org.eclipse.mylyn.help.ui/doc/images/0.4.7/tasklist-repositories.gif org.eclipse.mylyn.help.ui/doc/images/faq/eclipse-manage-configuration.gif org.eclipse.mylyn.help.ui/doc/images/faq/filtering-declarations.gif org.eclipse.mylyn.help.ui/doc/images/faq/tasklist-backup.gif org.eclipse.mylyn.help.ui/doc/tips.html org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.tasks.core/build.properties org.eclipse.mylyn.tasks.core/icons/elcl16/task-bug.gif org.eclipse.mylyn.tasks.core/icons/elcl16/task-repository.gif org.eclipse.mylyn.tasks.core/plugin.xml org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaContextLabelProvider.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaEditingMonitor.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaReportCache.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaSearchManager.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/MylarBugsPlugin.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/java/AbstractHyperlinkDetector.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/java/BugzillaHyperLinkDetector.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/java/OpenBugzillaReportJob.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/search/BugzillaMylarSearch.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/search/BugzillaMylarSearchJob.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/search/Util.java org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF org.eclipse.mylyn.tasks.tests/build.properties org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/AllTasklistTests.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/BackgroundSaveTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/BugzillaTaskTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/MylarTasksTestsPlugin.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/RetrieveTitleFromUrlTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskActivityTimingTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskDataExportTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskDataImportTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListDnDTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListManagerTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListNotificationManagerTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListStandaloneTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListUiTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskReportGeneratorTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskRepositoryManagerTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTestUtil.java org.eclipse.mylyn.tasks.tests/testdata/legacy/tasklist_0_4_8.xml org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/context-history.xml org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/local-69.xml org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/local-70.xml org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/mylardata-2006-02-16.zip org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/tasklist.xml org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.ui.prefs org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.pde.prefs org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF org.eclipse.mylyn.tasks.ui/build.properties org.eclipse.mylyn.tasks.ui/doc/bugzilla.html org.eclipse.mylyn.tasks.ui/doc/planning.html org.eclipse.mylyn.tasks.ui/doc/tasklist.html org.eclipse.mylyn.tasks.ui/icons/etool16/overlay-repository.gif org.eclipse.mylyn.tasks.ui/icons/etool16/overlay-web.gif org.eclipse.mylyn.tasks.ui/icons/etool16/query-new.gif org.eclipse.mylyn.tasks.ui/icons/etool16/query.gif org.eclipse.mylyn.tasks.ui/icons/etool16/repository-new.gif org.eclipse.mylyn.tasks.ui/icons/etool16/repository-synchronize.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-items.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-remote.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-repository-new.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-repository.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-server.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task.gif org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-conflicting.gif org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-incoming.gif org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-outgoing.gif org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-repository.gif org.eclipse.mylyn.tasks.ui/icons/eview16/repositories-blue.gif org.eclipse.mylyn.tasks.ui/icons/eview16/repositories.gif org.eclipse.mylyn.tasks.ui/icons/eview16/repository.gif org.eclipse.mylyn.tasks.ui/plugin.xml org.eclipse.mylyn.tasks.ui/schema/providers.exsd org.eclipse.mylyn.tasks.ui/schema/repositories.exsd org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ScheduledTaskListRefreshJob.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/TaskExternalizationException.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/TaskListPreferenceConstants.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/TaskListRefreshManager.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/CompletedTaskCollector.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ITaskCollector.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/InProgressTaskCollector.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/TaskReportGenerator.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/ITaskPlannerContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/OpenTaskEditorAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/PlannedTasksContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/ReminderCellEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/RemoveTaskAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskActivityContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskActivityLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskActivitySorter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlanContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlanLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlanSorter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerEditorInput.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerEditorPart.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerWizardPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/AbstractTaskFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ComboSelectionDialog.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/IDynamicSubMenuContributor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskEditorFactory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskHighlighter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskListNotification.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskListNotificationProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/RepositoryTaskDecorator.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/SynchronizeReportsAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskCompleteFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListImages.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationManager.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationPopup.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationReminder.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListOverlayDescriptor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListPatternFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListUiUtil.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskPriorityFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TasksReminderDialog.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/AddRepositoryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/AddRepositoryTaskAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/CollapseAllAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/CopyDescriptionAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteTaskRepositoryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/EditRepositoryPropertiesAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/FilterCompletedTasksAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/GoIntoAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/GoUpAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/ManageEditorsAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/MarkTaskCompleteAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/MarkTaskIncompleteAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/MoveTaskToRootAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewCategoryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewQueryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NextTaskDropDownAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskInExternalBrowserAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskListElementAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/PreviousTaskDropDownAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/RemoveFromCategoryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/RenameAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskActivateAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskEditorCopyAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskNavigateDropDownAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/WorkOfflineAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/CategoryEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/CategoryEditorInput.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/MylarTaskEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/TaskEditorInput.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/TaskInfoEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/DatePicker.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/ImageTableCellEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/RetrieveTitleFromUrlJob.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TableDecoratingLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskActivationHistory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskElementLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskInputDialog.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDragSourceListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListFilteredTree.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListTableLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListToolTipHandler.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskRepositoriesView.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskRepositoryLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AbstractAddExistingTaskWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AbstractRepositoryClientWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AbstractRepositorySettingsPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AddExistingTaskWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AddRepositoryWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/EditRepositoryWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/ExistingTaskWizardPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/MultiRepositoryAwareWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/NewQueryWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/SelectRepositoryClientPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/SelectRepositoryPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataExportWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataExportWizardPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataImportWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataImportWizardPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/BackgroundSaveTimer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/IBackgroundSaveListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskActivityTimer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskListExtensionReader.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskListSaveManager.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskListWriter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractQueryHit.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryClient.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryQuery.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryTask.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/DelegatingTaskExternalizer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITask.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskActivityListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskContainer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskListElement.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskListExternalizer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskRepositoryListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/MylarTaskListPlugin.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/Task.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskCategory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskList.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskListManager.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskRepository.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskRepositoryManager.java
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.project28
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.ui.prefs5
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaException.java67
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/PossibleBugzillaFailureException.java66
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/TrustAll.java58
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.ui.prefs5
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/build.properties22
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTestPlugin.java99
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java44
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-1-full.html719
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-eclipse.html158
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-hipikat.html142
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/cdt-page.html184
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/equinox-page.html177
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/gmt-page.html175
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/hipikat-copy-bug-1-full.html157
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/platform-page.html299
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/product-page-1-product-hipikat.html256
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/pages/ve-page.html178
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/1.html377
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/2.html406
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/40152.html1228
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4548.html377
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4862.html401
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/67395.html390
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76146.html406
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76388.html426
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/build.properties27
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-remote.gifbin0 -> 89 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository-new.gifbin0 -> 339 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository.gifbin0 -> 216 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/eview16/bugzilla-logo.gifbin0 -> 1039 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/eview16/overlay-bugzilla.gifbin0 -> 61 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaOpenStructure.java70
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaResultMatchAdapter.java67
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaTableContentProvider.java94
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/OfflineView.java697
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/ViewBugzillaAction.java98
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractFavoritesAction.java53
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractOfflineReportsAction.java54
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AddBugzillaQueryAction.java123
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/BugzillaSortAction.java59
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/DeleteFavoriteAction.java70
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/OpenBugsAction.java80
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/ViewFavoriteAction.java58
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/AbstractBugEditorInput.java70
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaEditorCopyAction.java39
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineComparer.java51
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineNode.java355
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlinePage.java172
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaReportSelection.java172
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditorInput.java124
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditorInput.java51
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/SpellingDialog.java105
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaResultCollector.java176
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaSearchResultView.java251
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/GetQueryDialog.java201
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/SaveQueryDialog.java90
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/SavedQueryFile.java255
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaCacheFile.java131
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java112
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaReportEditorFactory.java76
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaReportNode.java184
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java145
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/StackTrace.java375
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/wizard/AbstractWizardListPage.java198
-rw-r--r--org.eclipse.mylyn.help.ui/.classpath6
-rw-r--r--org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.ui.prefs5
-rw-r--r--org.eclipse.mylyn.help.ui/build.properties19
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/active-hierarchy.gifbin0 -> 6216 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/active-search-linked.gifbin0 -> 6141 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/active-search-manipulation.gifbin0 -> 14447 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/active-search-qualify.gifbin0 -> 5396 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/active-search.gifbin0 -> 11276 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/alt-click.gifbin0 -> 4851 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-hyperlink.gifbin0 -> 4113 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-internal-browser.gifbin0 -> 4234 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-query-custom.gifbin0 -> 5553 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/bugzilla-synch.gifbin0 -> 9183 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/filter-auto-toggle.gifbin0 -> 1270 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-ant.gifbin0 -> 7450 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-declarations.gifbin0 -> 8520 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-exclusion.gifbin0 -> 6921 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/filtering-navigator.gifbin0 -> 8071 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/folding-toggle.gifbin0 -> 5612 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/highlight.gifbin0 -> 8366 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/interest-content-assist.gifbin0 -> 5448 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/interest-error.gifbin0 -> 4373 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/interest-java-browsing.gifbin0 -> 5722 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/interest-manipulate.gifbin0 -> 1438 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/monitor-enable.gifbin0 -> 24782 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/open-type.gifbin0 -> 14088 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/overview.gifbin0 -> 75398 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/preference-error-interest.gifbin0 -> 4798 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/search-context.gifbin0 -> 3458 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/task-context-visible.gifbin0 -> 8717 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasklist-actions.gifbin0 -> 5741 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-archive.gifbin0 -> 10002 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-drilldown.gifbin0 -> 5729 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-go-navigation.gifbin0 -> 2915 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-history.gifbin0 -> 11482 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-offline.gifbin0 -> 7069 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-quick-filter.gifbin0 -> 6083 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/tasks-reminders.gifbin0 -> 5668 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.3/test-context.gifbin0 -> 18413 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/bugzilla-editor-browser.gifbin0 -> 23500 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/bugzilla-prefs-220.gifbin0 -> 6968 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/bugzilla-prefs-open-reports.gifbin0 -> 2487 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/context-pause.gifbin0 -> 8696 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-context.gifbin0 -> 8729 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-export.gifbin0 -> 15654 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-popup.gifbin0 -> 7464 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-weblink-editor.gifbin0 -> 20089 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.1/tasklist-weblink.gifbin0 -> 10246 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.3/bugzilla-outline.gifbin0 -> 7428 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.3/context-capture-pause-indicator.gifbin0 -> 4723 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.3/cvs-resource-history-open.gifbin0 -> 11207 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.3/editors-auto-manage-pref.gifbin0 -> 1823 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.3/editors-auto-manage.gifbin0 -> 7409 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.3/synchronize-change-sets.gifbin0 -> 16816 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.4/changeset-addto.gifbin0 -> 20450 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.5/taskist-planner.gifbin0 -> 23336 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.5/tasklist-drag.gifbin0 -> 7324 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.6/tasklist-pastreminder.gifbin0 -> 18758 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.7/bugzilla-encoding.gifbin0 -> 2517 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.7/tasklist-open-external.gifbin0 -> 3821 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/0.4.7/tasklist-repositories.gifbin0 -> 7517 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/faq/eclipse-manage-configuration.gifbin0 -> 23781 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/faq/filtering-declarations.gifbin0 -> 8520 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/faq/tasklist-backup.gifbin0 -> 15084 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/tips.html83
-rw-r--r--org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--org.eclipse.mylyn.tasks.core/build.properties20
-rw-r--r--org.eclipse.mylyn.tasks.core/icons/elcl16/task-bug.gifbin0 -> 339 bytes
-rw-r--r--org.eclipse.mylyn.tasks.core/icons/elcl16/task-repository.gifbin0 -> 216 bytes
-rw-r--r--org.eclipse.mylyn.tasks.core/plugin.xml58
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaContextLabelProvider.java75
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaEditingMonitor.java44
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaReportCache.java78
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/BugzillaSearchManager.java155
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/MylarBugsPlugin.java111
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/java/AbstractHyperlinkDetector.java37
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/java/BugzillaHyperLinkDetector.java191
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/java/OpenBugzillaReportJob.java48
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/search/BugzillaMylarSearch.java192
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/search/BugzillaMylarSearchJob.java105
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/bugs/search/Util.java202
-rw-r--r--org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.ui.prefs5
-rw-r--r--org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF23
-rw-r--r--org.eclipse.mylyn.tasks.tests/build.properties20
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/AllTasklistTests.java44
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/BackgroundSaveTest.java59
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/BugzillaTaskTest.java58
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/MylarTasksTestsPlugin.java49
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/RetrieveTitleFromUrlTest.java42
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskActivityTimingTest.java176
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskDataExportTest.java129
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskDataImportTest.java105
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java214
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListDnDTest.java76
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListManagerTest.java376
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListNotificationManagerTest.java89
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListStandaloneTest.java118
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListUiTest.java279
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskReportGeneratorTest.java189
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskRepositoryManagerTest.java121
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTest.java48
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTestUtil.java75
-rw-r--r--org.eclipse.mylyn.tasks.tests/testdata/legacy/tasklist_0_4_8.xml1
-rw-r--r--org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/context-history.xml1
-rw-r--r--org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/local-69.xml1
-rw-r--r--org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/local-70.xml1
-rw-r--r--org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/mylardata-2006-02-16.zipbin0 -> 2340 bytes
-rw-r--r--org.eclipse.mylyn.tasks.tests/testdata/taskdataimporttest/tasklist.xml1
-rw-r--r--org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.prefs303
-rw-r--r--org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.ui.prefs5
-rw-r--r--org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.pde.prefs13
-rw-r--r--org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF28
-rw-r--r--org.eclipse.mylyn.tasks.ui/build.properties28
-rw-r--r--org.eclipse.mylyn.tasks.ui/doc/bugzilla.html46
-rw-r--r--org.eclipse.mylyn.tasks.ui/doc/planning.html21
-rw-r--r--org.eclipse.mylyn.tasks.ui/doc/tasklist.html181
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/overlay-repository.gifbin0 -> 80 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/overlay-web.gifbin0 -> 167 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/query-new.gifbin0 -> 349 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/query.gifbin0 -> 332 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/repository-new.gifbin0 -> 342 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/repository-synchronize.gifbin0 -> 362 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-items.gifbin0 -> 218 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gifbin0 -> 334 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-remote.gifbin0 -> 89 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-repository-new.gifbin0 -> 339 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-repository.gifbin0 -> 216 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-server.gifbin0 -> 339 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task.gifbin0 -> 211 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-conflicting.gifbin0 -> 187 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-incoming.gifbin0 -> 114 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-outgoing.gifbin0 -> 64 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-repository.gifbin0 -> 80 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/repositories-blue.gifbin0 -> 367 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/repositories.gifbin0 -> 365 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/repository.gifbin0 -> 325 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/plugin.xml271
-rw-r--r--org.eclipse.mylyn.tasks.ui/schema/providers.exsd122
-rw-r--r--org.eclipse.mylyn.tasks.ui/schema/repositories.exsd174
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ScheduledTaskListRefreshJob.java88
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/TaskExternalizationException.java27
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/TaskListPreferenceConstants.java61
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/TaskListRefreshManager.java49
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/CompletedTaskCollector.java52
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ITaskCollector.java26
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/InProgressTaskCollector.java75
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/TaskReportGenerator.java133
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/ITaskPlannerContentProvider.java20
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/OpenTaskEditorAction.java53
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/PlannedTasksContentProvider.java48
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/ReminderCellEditor.java81
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/RemoveTaskAction.java47
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskActivityContentProvider.java58
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskActivityLabelProvider.java83
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskActivitySorter.java96
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlanContentProvider.java51
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlanLabelProvider.java58
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlanSorter.java90
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerEditorInput.java179
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerEditorPart.java863
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerWizard.java66
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/planner/ui/TaskPlannerWizardPage.java323
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/AbstractTaskFilter.java25
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ComboSelectionDialog.java114
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/IDynamicSubMenuContributor.java21
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskEditorFactory.java35
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskHighlighter.java23
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskListNotification.java27
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/ITaskListNotificationProvider.java21
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/RepositoryTaskDecorator.java82
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/SynchronizeReportsAction.java105
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskCompleteFilter.java46
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListImages.java186
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationManager.java182
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationPopup.java227
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationReminder.java90
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListOverlayDescriptor.java90
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListPatternFilter.java28
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListUiUtil.java116
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskPriorityFilter.java61
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TasksReminderDialog.java267
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/AddRepositoryAction.java65
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/AddRepositoryTaskAction.java59
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/CollapseAllAction.java42
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/CopyDescriptionAction.java55
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java104
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteTaskRepositoryAction.java68
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/EditRepositoryPropertiesAction.java72
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/FilterCompletedTasksAction.java47
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/GoIntoAction.java58
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/GoUpAction.java35
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/ManageEditorsAction.java50
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/MarkTaskCompleteAction.java46
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/MarkTaskIncompleteAction.java46
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/MoveTaskToRootAction.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewCategoryAction.java51
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java85
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewQueryAction.java59
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NextTaskDropDownAction.java59
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskInExternalBrowserAction.java66
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskListElementAction.java106
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/PreviousTaskDropDownAction.java60
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/RemoveFromCategoryAction.java82
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/RenameAction.java42
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskActivateAction.java67
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskEditorCopyAction.java33
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskNavigateDropDownAction.java113
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/WorkOfflineAction.java33
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/CategoryEditor.java119
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/CategoryEditorInput.java61
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/MylarTaskEditor.java371
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/TaskEditorInput.java131
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/editors/TaskInfoEditor.java794
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java363
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/DatePicker.java479
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/ImageTableCellEditor.java215
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/RetrieveTitleFromUrlJob.java125
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TableDecoratingLabelProvider.java72
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskActivationHistory.java235
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskElementLabelProvider.java172
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskInputDialog.java294
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListContentProvider.java254
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDragSourceListener.java65
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java195
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListFilteredTree.java130
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListTableLabelProvider.java143
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListToolTipHandler.java298
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java1398
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskRepositoriesView.java144
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskRepositoryLabelProvider.java52
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AbstractAddExistingTaskWizard.java68
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AbstractRepositoryClientWizard.java50
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AbstractRepositorySettingsPage.java189
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AddExistingTaskWizard.java37
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/AddRepositoryWizard.java69
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/EditRepositoryWizard.java70
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/ExistingTaskWizardPage.java78
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/MultiRepositoryAwareWizard.java52
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/NewQueryWizard.java36
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/SelectRepositoryClientPage.java103
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/SelectRepositoryPage.java170
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataExportWizard.java362
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataExportWizardPage.java285
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataImportWizard.java421
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/wizards/TaskDataImportWizardPage.java385
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/BackgroundSaveTimer.java103
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/IBackgroundSaveListener.java26
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskActivityTimer.java131
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskListExtensionReader.java219
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskListSaveManager.java188
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/util/TaskListWriter.java544
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractQueryHit.java58
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryClient.java117
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryQuery.java148
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryTask.java144
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/DelegatingTaskExternalizer.java534
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITask.java124
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskActivityListener.java34
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskContainer.java29
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskListElement.java35
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskListExternalizer.java75
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/ITaskRepositoryListener.java21
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/MylarTaskListPlugin.java611
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/Task.java397
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskCategory.java138
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskList.java404
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskListManager.java313
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskRepository.java125
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/TaskRepositoryManager.java215
343 files changed, 37786 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/.project b/org.eclipse.mylyn.bugzilla.core/.project
new file mode 100644
index 000000000..bf9bb8787
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.core/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.mylar.bugzilla.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..398008f59
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,303 @@
+#Mon Feb 13 11:20:13 PST 2006
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+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.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+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.fieldHiding=ignore
+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.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.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+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.uncheckedTypeOperation=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
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
+org.eclipse.jdt.core.formatter.comment.format_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..e8e09e214
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,5 @@
+#Mon Feb 13 11:20:13 PST 2006
+eclipse.preferences.version=1
+formatter_profile=_Mylar based on Eclipse [built-in]
+formatter_settings_version=10
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\r\n * Copyright (c) 2004 - 2006 University Of British Columbia and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n * University Of British Columbia - initial API and implementation\r\n *******************************************************************************/\r\n\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ignore\r\n${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ignore</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaException.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaException.java
new file mode 100644
index 000000000..d4806d814
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaException.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.core;
+
+import java.io.PrintStream;
+import java.io.PrintWriter;
+
+public class BugzillaException extends Exception {
+
+ /** Automatically generated serialVersionUID */
+ private static final long serialVersionUID = 3257849887386449974L;
+
+ private Throwable cause;
+
+ /**
+ * Constructor for BugzillaException.
+ */
+ public BugzillaException() {
+ super();
+ }
+
+ /**
+ * Constructor for BugzillaException.
+ *
+ * @param detailMessage
+ */
+ public BugzillaException(String detailMessage) {
+ super(detailMessage);
+ }
+
+ public BugzillaException(String detailMessage, Throwable cause) {
+ super(detailMessage);
+ this.cause = cause;
+ }
+
+ public BugzillaException(Throwable cause) {
+ this.cause = cause;
+ }
+
+ @Override
+ public synchronized void printStackTrace(PrintStream err) {
+ super.printStackTrace(err);
+ if (cause != null) {
+ err.println("\n--- Cause was:");
+ cause.printStackTrace(err);
+ }
+ }
+
+ @Override
+ public synchronized void printStackTrace(PrintWriter err) {
+ super.printStackTrace(err);
+ if (cause != null) {
+ err.println("\n--- Cause was:");
+ cause.printStackTrace(err);
+ }
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/PossibleBugzillaFailureException.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/PossibleBugzillaFailureException.java
new file mode 100644
index 000000000..85aa861e7
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/PossibleBugzillaFailureException.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.core;
+
+import java.io.PrintStream;
+import java.io.PrintWriter;
+
+public class PossibleBugzillaFailureException extends Exception {
+ /** Automatically generated serialVersionUID */
+ private static final long serialVersionUID = 3257849887386449974L;
+
+ private Throwable cause;
+
+ /**
+ * Constructor for BugzillaException.
+ */
+ public PossibleBugzillaFailureException() {
+ super();
+ }
+
+ /**
+ * Constructor for BugzillaException.
+ *
+ * @param detailMessage
+ */
+ public PossibleBugzillaFailureException(String detailMessage) {
+ super(detailMessage);
+ }
+
+ public PossibleBugzillaFailureException(String detailMessage, Throwable cause) {
+ super(detailMessage);
+ this.cause = cause;
+ }
+
+ public PossibleBugzillaFailureException(Throwable cause) {
+ this.cause = cause;
+ }
+
+ @Override
+ public synchronized void printStackTrace(PrintStream err) {
+ super.printStackTrace(err);
+ if (cause != null) {
+ err.println("\n--- Cause was:");
+ cause.printStackTrace(err);
+ }
+ }
+
+ @Override
+ public synchronized void printStackTrace(PrintWriter err) {
+ super.printStackTrace(err);
+ if (cause != null) {
+ err.println("\n--- Cause was:");
+ cause.printStackTrace(err);
+ }
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/TrustAll.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/TrustAll.java
new file mode 100644
index 000000000..03df0bf9b
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/TrustAll.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.core;
+
+import javax.net.ssl.X509TrustManager;
+
+/**
+ * TrustAll class implements X509TrustManager to access all https servers with
+ * signed and unsigned certificates.
+ */
+public class TrustAll implements X509TrustManager {
+ // seems to be no purpose
+ public boolean checkClientTrusted(java.security.cert.X509Certificate[] chain) {
+ return true;
+ }
+
+ // seems to be no purpose
+ public boolean isServerTrusted(java.security.cert.X509Certificate[] chain) {
+ return true;
+ }
+
+ // seems to be no purpose
+ public boolean isClientTrusted(java.security.cert.X509Certificate[] chain) {
+ return true;
+ }
+
+ /**
+ * @see javax.net.ssl.X509TrustManager#getAcceptedIssuers()
+ */
+ public java.security.cert.X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+
+ /**
+ * @see javax.net.ssl.X509TrustManager#checkClientTrusted(java.security.cert.X509Certificate[],
+ * java.lang.String)
+ */
+ public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {
+ // don't need to do any checks
+ }
+
+ /**
+ * @see javax.net.ssl.X509TrustManager#checkServerTrusted(java.security.cert.X509Certificate[],
+ * java.lang.String)
+ */
+ public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {
+ // don't need to do any checks
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..398008f59
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,303 @@
+#Mon Feb 13 11:20:13 PST 2006
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+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.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+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.fieldHiding=ignore
+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.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.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+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.uncheckedTypeOperation=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
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
+org.eclipse.jdt.core.formatter.comment.format_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..e8e09e214
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,5 @@
+#Mon Feb 13 11:20:13 PST 2006
+eclipse.preferences.version=1
+formatter_profile=_Mylar based on Eclipse [built-in]
+formatter_settings_version=10
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\r\n * Copyright (c) 2004 - 2006 University Of British Columbia and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n * University Of British Columbia - initial API and implementation\r\n *******************************************************************************/\r\n\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ignore\r\n${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ignore</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.mylyn.bugzilla.tests/build.properties b/org.eclipse.mylyn.bugzilla.tests/build.properties
new file mode 100644
index 000000000..f084a551e
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/build.properties
@@ -0,0 +1,22 @@
+###############################################################################
+# Copyright (c) 2004 - 2005 University Of British Columbia 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:
+# University Of British Columbia - initial API and implementation
+###############################################################################
+bin.includes = plugin.xml,\
+ bugzilla-test.jar,\
+ META-INF/,\
+ about.html
+jars.compile.order = bugzilla-test.jar
+source.bugzilla-test.jar = src/
+output.bugzilla-test.jar = bin/
+src.includes = src/,\
+ plugin.xml,\
+ about.html,\
+ META-INF/
+jre.compilation.profile = J2SE-1.5
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTestPlugin.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTestPlugin.java
new file mode 100644
index 000000000..ff7f20856
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTestPlugin.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.bugzilla.tests;
+
+import org.eclipse.ui.plugin.*;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.osgi.framework.BundleContext;
+import java.util.*;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class BugzillaTestPlugin extends AbstractUIPlugin {
+ // The shared instance.
+ private static BugzillaTestPlugin plugin;
+
+ // Resource bundle.
+ private ResourceBundle resourceBundle;
+
+ /**
+ * The constructor.
+ */
+ public BugzillaTestPlugin() {
+ super();
+ plugin = this;
+ }
+
+ /**
+ * This method is called upon plug-in activation
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ }
+
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ plugin = null;
+ resourceBundle = null;
+ }
+
+ /**
+ * Returns the shared instance.
+ */
+ public static BugzillaTestPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the string from the plugin's resource bundle, or 'key' if not
+ * found.
+ */
+ public static String getResourceString(String key) {
+ ResourceBundle bundle = BugzillaTestPlugin.getDefault().getResourceBundle();
+ try {
+ return (bundle != null) ? bundle.getString(key) : key;
+ } catch (MissingResourceException e) {
+ return key;
+ }
+ }
+
+ /**
+ * Returns the plugin's resource bundle,
+ */
+ public ResourceBundle getResourceBundle() {
+ try {
+ if (resourceBundle == null)
+ resourceBundle = ResourceBundle.getBundle("org.eclipse.mylar.bugzilla.tests.TestsPluginResources");
+ } catch (MissingResourceException x) {
+ resourceBundle = null;
+ }
+ return resourceBundle;
+ }
+
+ /**
+ * Returns an image descriptor for the image file at the given plug-in
+ * relative path.
+ *
+ * @param path
+ * the path
+ * @return the image descriptor
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.mylar.bugzilla.tests", path);
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java
new file mode 100644
index 000000000..7f9a73254
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.bugzilla.tests;
+
+import java.io.IOException;
+import java.text.ParseException;
+
+import javax.security.auth.login.LoginException;
+
+import junit.framework.TestCase;
+
+import org.eclipse.mylar.internal.bugzilla.core.internal.BugParser;
+
+/**
+ * @author Mik Kersten
+ */
+public class EncodingTest extends TestCase {
+
+ public void testEncodingSetting() throws LoginException, IOException, ParseException {
+
+ String charset = BugParser.getCharsetFromString("text/html; charset=UTF-8");
+ assertEquals("UTF-8", charset);
+
+ charset = BugParser.getCharsetFromString("text/html");
+ assertEquals(null, charset);
+
+ charset = BugParser
+ .getCharsetFromString("<<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\">>");
+ assertEquals("iso-8859-2", charset);
+
+ charset = BugParser.getCharsetFromString("<<meta http-equiv=\"Content-Type\" content=\"text/html\">>");
+ assertEquals(null, charset);
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-1-full.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-1-full.html
new file mode 100644
index 000000000..00fd1bcb7
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-1-full.html
@@ -0,0 +1,719 @@
+<!-- 1.0@bugzilla.org -->
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Bug 1 - Usability issue with external editors (1GE6IRL)</title>
+
+
+
+
+
+
+
+ </head>
+
+
+
+ <body bgcolor="#FFFFFF" onload="">
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" >
+<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" ><tr><td
+WIDTH="100%"><table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%"
+BGCOLOR="#006699" ><tr><td BGCOLOR="#000000" width="116" ><img
+src="images/EclipseBannerPic.jpg" width="115" height="50"></td><td
+WIDTH="637"><a href=http://www.eclipse.org><img SRC="images/gradient.jpg" BORDER=0 height=50
+width=282></a></td><td WIDTH="250"><img src="images/eproject-simple.gif"
+width="250" height="48"></td></tr></table></td></tr></table>
+
+ <table border="0" cellspacing="0">
+ <tr>
+ <td valign="top" align="left">
+ <table border="0" cellpadding="0" cellspacing="2">
+ <tr>
+ <td valign="top" align="left" nowrap="nowrap">
+ <font size="+1"><b>Bugzilla Bug 1</b></font>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td valign="middle">&nbsp;</td>
+ <td valign="middle" align="left">Usability issue with external editors (1GE6IRL)</td>
+ </tr>
+ </table>
+<!-- 1.0@bugzilla.org -->
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="query.cgi">Query page</a>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="enter_bug.cgi">Enter new bug</a>
+
+<hr>
+
+<form name="changeform" method="post" action="process_bug.cgi">
+
+ <input type="hidden" name="delta_ts" value="20011025104050">
+ <input type="hidden" name="longdesclength" value="5">
+ <input type="hidden" name="id" value="1">
+
+
+
+ <table cellspacing="1" cellpadding="1" border="0">
+ <tr>
+ <td align="right">
+ <b>Bug#:</b>
+ </td>
+ <td>
+ <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1">1</a>
+ </td>
+
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b>Platform:</b>
+ </td><td>
+ <select name="rep_platform">
+ <option value="All" selected>All
+ </option>
+ <option value="Macintosh">Macintosh
+ </option>
+ <option value="PC">PC
+ </option>
+ <option value="Power PC">Power PC
+ </option>
+ <option value="Sun">Sun
+ </option>
+ <option value="Other">Other
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b>Reporter:</b>
+ </td>
+ <td>andre_weinand@ch.ibm.com (Andre Weinand)
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">
+ <b>Product:</b>
+ </td><td>
+ <select name="product">
+ <option value="AJDT">AJDT
+ </option>
+ <option value="AspectJ">AspectJ
+ </option>
+ <option value="CDT">CDT
+ </option>
+ <option value="EMF">EMF
+ </option>
+ <option value="Equinox">Equinox
+ </option>
+ <option value="GEF">GEF
+ </option>
+ <option value="JDT">JDT
+ </option>
+ <option value="PDE">PDE
+ </option>
+ <option value="Platform" selected>Platform
+ </option>
+ <option value="Stellation">Stellation
+ </option>
+ <option value="XSD">XSD
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b>OS:</b>
+ </td><td>
+ <select name="op_sys">
+ <option value="All" selected>All
+ </option>
+ <option value="AIX Motif">AIX Motif
+ </option>
+ <option value="Windows 95">Windows 95
+ </option>
+ <option value="Windows 98">Windows 98
+ </option>
+ <option value="Windows CE">Windows CE
+ </option>
+ <option value="Windows ME">Windows ME
+ </option>
+ <option value="Windows 2000">Windows 2000
+ </option>
+ <option value="Windows NT">Windows NT
+ </option>
+ <option value="Windows XP">Windows XP
+ </option>
+ <option value="Windows All">Windows All
+ </option>
+ <option value="MacOS X">MacOS X
+ </option>
+ <option value="Linux">Linux
+ </option>
+ <option value="Linux-GTK">Linux-GTK
+ </option>
+ <option value="Linux-Motif">Linux-Motif
+ </option>
+ <option value="HP-UX">HP-UX
+ </option>
+ <option value="Neutrino">Neutrino
+ </option>
+ <option value="QNX-Photon">QNX-Photon
+ </option>
+ <option value="Solaris">Solaris
+ </option>
+ <option value="Unix All">Unix All
+ </option>
+ <option value="other">other
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b>Add&nbsp;CC:</b>
+ </td>
+ <td>
+ <input name="newcc" size="30" value="">
+ </td>
+ </tr>
+
+
+
+ <tr>
+ <td align="right">
+ <b>
+ <a href="describecomponents.cgi?product=Platform">
+ Component</a>:
+ </b>
+ </td>
+ <td>
+ <select name="component">
+ <option value="Ant">Ant
+ </option>
+ <option value="Compare">Compare
+ </option>
+ <option value="Core">Core
+ </option>
+ <option value="Debug">Debug
+ </option>
+ <option value="Doc">Doc
+ </option>
+ <option value="Help">Help
+ </option>
+ <option value="Releng">Releng
+ </option>
+ <option value="Scripting">Scripting
+ </option>
+ <option value="Search">Search
+ </option>
+ <option value="SWT">SWT
+ </option>
+ <option value="Text">Text
+ </option>
+ <option value="UI">UI
+ </option>
+ <option value="Update">Update
+ </option>
+ <option value="VCM" selected>VCM
+ </option>
+ <option value="WebDAV">WebDAV
+ </option>
+ </select>
+ </td>
+
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b>Version:</b>
+ </td><td>
+ <select name="version">
+ <option value="1.0">1.0
+ </option>
+ <option value="2.0" selected>2.0
+ </option>
+ <option value="2.0.1">2.0.1
+ </option>
+ <option value="2.0.2">2.0.2
+ </option>
+ <option value="2.1">2.1
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+
+ <td rowspan="4" align="right" valign="top">
+ <b>CC:</b>
+ </td>
+ <td rowspan="4" valign="top">
+ <select name="cc" multiple="multiple" size="5">
+ <option value="Kevin_McGuire@oti.com">Kevin_McGuire@oti.com</option>
+ </select>
+ <br>
+ <input type="checkbox" name="removecc">Remove selected CCs
+ <br>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">
+ <b>
+ <a href="bug_status.html">Status</a>:
+ </b>
+ </td>
+ <td>VERIFIED</td>
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b><a href="bug_status.html#priority">Priority</a>:</b>
+ </td><td>
+ <select name="priority">
+ <option value="P1">P1
+ </option>
+ <option value="P2">P2
+ </option>
+ <option value="P3" selected>P3
+ </option>
+ <option value="P4">P4
+ </option>
+ <option value="P5">P5
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+ </tr>
+
+ <tr>
+ <td align="right">
+ <b>
+ <a href="bug_status.html">Resolution</a>:
+ </b>
+ </td>
+ <td>FIXED</td>
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b><a href="bug_status.html#severity">Severity</a>:</b>
+ </td><td>
+ <select name="bug_severity">
+ <option value="blocker">blocker
+ </option>
+ <option value="critical">critical
+ </option>
+ <option value="major">major
+ </option>
+ <option value="normal" selected>normal
+ </option>
+ <option value="minor">minor
+ </option>
+ <option value="trivial">trivial
+ </option>
+ <option value="enhancement">enhancement
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+ <td align="right">
+ <b>
+ <a href="bug_status.html#assigned_to">Assigned&nbsp;To</a>:
+ </b>
+ </td>
+ <td>James_Moody@ca.ibm.com (James Moody)</td>
+ <td>&nbsp;</td>
+
+ <td align="right">
+ <b>
+ <a href="notargetmilestone.html">Target Milestone</a>:
+ </b>
+ </td><td>
+ <select name="target_milestone">
+ <option value="2.0 M1">2.0 M1
+ </option>
+ <option value="2.0 M2">2.0 M2
+ </option>
+ <option value="2.0 M3">2.0 M3
+ </option>
+ <option value="2.0 M4">2.0 M4
+ </option>
+ <option value="2.0 M5">2.0 M5
+ </option>
+ <option value="2.0 M6">2.0 M6
+ </option>
+ <option value="2.0 F1">2.0 F1
+ </option>
+ <option value="2.0 F2">2.0 F2
+ </option>
+ <option value="2.0 F3">2.0 F3
+ </option>
+ <option value="2.0 F4">2.0 F4
+ </option>
+ <option value="2.0.1">2.0.1
+ </option>
+ <option value="2.0.2">2.0.2
+ </option>
+ <option value="2.1">2.1
+ </option>
+ <option value="2.1 M1">2.1 M1
+ </option>
+ <option value="2.1 M2">2.1 M2
+ </option>
+ <option value="2.1 M3">2.1 M3
+ </option>
+ <option value="2.1 M4">2.1 M4
+ </option>
+ <option value="2.1 M5">2.1 M5
+ </option>
+ <option value="2.1 RC1">2.1 RC1
+ </option>
+ <option value="2.1 RC2">2.1 RC2
+ </option>
+ <option value="2.1 RC3">2.1 RC3
+ </option>
+ <option value="2.1 RC4">2.1 RC4
+ </option>
+ <option value="2.1.1">2.1.1
+ </option>
+ <option value="2.2">2.2
+ </option>
+ <option value="---" selected>---
+ </option>
+ </select>
+ </td>
+ <td>&nbsp;</td>
+ </tr>
+
+
+
+
+ <tr>
+ <td align="right">
+ <b>
+ URL:
+ </b>
+ </td>
+ <td colspan="7">
+ <input name="bug_file_loc"
+ value="" size="60">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">
+ <b>Summary:</b>
+ </td>
+ <td colspan="7">
+ <input name="short_desc"
+ value="Usability issue with external editors (1GE6IRL)" size="60">
+ </td>
+ </tr>
+
+
+ <tr>
+ <td align="right">
+ <b>
+ <a href="describekeywords.cgi">Keywords</a>:
+ </b>
+ <td colspan="7">
+ <input name="keywords"
+ value="" size="60">
+ </td>
+ </tr>
+ </table>
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+<br>
+<table cellspacing="0" cellpadding="4" border="1">
+ <tr>
+ <th bgcolor="#cccccc" align="left">Attachment</th>
+ <th bgcolor="#cccccc" align="left">Type</th>
+ <th bgcolor="#cccccc" align="left">Modified</th>
+ <th bgcolor="#cccccc" align="left">Status</th>
+ <th bgcolor="#cccccc" align="left">Actions</th>
+ </tr>
+
+
+ <tr>
+ <td colspan="4">
+ <a href="attachment.cgi?bugid=1&amp;action=enter">Create a New Attachment</a> (proposed patch, testcase, etc.)
+ </td>
+ <td colspan="1">
+ <a href="attachment.cgi?bugid=1&amp;action=viewall">View All</a>
+ </td>
+ </tr>
+</table>
+<br>
+
+
+
+ <table>
+ <tr><th align="right">Bug 1 depends on:</th>
+ <td>
+ </td>
+ <td>
+ <input name="dependson"
+ value="">
+ </td>
+ <td rowspan="2">
+ <a href="showdependencytree.cgi?id=1">Show
+ dependency tree</a>
+
+ </td>
+ </tr>
+
+ <tr><th align="right">Bug 1 blocks:</th>
+ <td>
+ </td>
+ <td>
+ <input name="blocked"
+ value="">
+ </td>
+ </tr>
+ </table>
+
+ <table>
+ <tr>
+ <th>
+ <a href="votehelp.html">Votes</a>:
+ </th>
+ <td>0&nbsp;&nbsp;&nbsp;
+ <a href="votes.cgi?action=show_bug&amp;bug_id=1">Show
+ votes for this bug</a>&nbsp;&nbsp;&nbsp;
+ <a href="votes.cgi?action=show_user&amp;bug_id=1">Vote
+ for this bug</a>
+ </td>
+ </tr>
+ </table>
+
+
+
+ <br>
+ <b>Additional Comments:</b>
+ <br>
+ <textarea wrap="hard" name="comment" rows="10" cols="80"
+ accesskey="c"></textarea>
+ <br>
+
+
+
+
+ <br>
+ <input type="radio" name="knob" value="none" checked="checked">
+ Leave as <b>VERIFIED&nbsp;FIXED</b>
+ <br>
+
+
+
+ <input type="radio" name="knob" value="reopen"> Reopen bug
+ <br>
+ <input type="radio" name="knob" value="close">
+ Mark bug as <b>CLOSED</b><br>
+
+ <input type="submit" value="Commit">
+ <input type="hidden" name="form_name" value="process_bug">
+ <p>
+ <font size="+1">
+ <b>
+ <a href="show_activity.cgi?id=1">View Bug Activity</a>
+ &nbsp; | &nbsp;
+ <a href="long_list.cgi?buglist=1">Format For Printing</a>
+ </b>
+ </font>
+
+ </p>
+</form>
+
+
+
+<table>
+ <tr>
+ <td align="left">
+ <b>
+ <a name="c0" href="#c0">Description</a>:
+ </b>
+ </td>
+ <td align="right" width="100%">
+ Opened: 2001-10-10 21:34
+ </td>
+ </tr>
+</table>
+<hr>
+<!-- 1.0@bugzilla.org -->
+
+<pre>- Setup a project that contains a *.gif resource
+ - release project to CVS
+ - edit the *.gif resource with an external editor, e.g. PaintShop
+ - save and close external editor
+ - in Navigator open the icon resource and verify that your changes are there
+ - release project
+ -&gt; nothing to release!
+ - in Navigator open the icon resource and verify that your changes are still there
+
+ Problem: because I never &quot;Refreshed from local&quot;, the workspace hasn't changed so &quot;Release&quot; didn't find anything.
+ However opening the resource with an external editor found the modified file on disk and showed the changes.
+
+ The real problem occurs if &quot;Release&quot; actually finds something to release but you don't spot that some resources are missing.
+ This is extremely error prone: one of my changes didn't made it into build 110 because of this!
+
+NOTES:
+EG (5/23/01 3:00:33 PM)
+ Release should do a refresh from local before doing the release.
+ Moving to VCM
+
+
+KM (05/27/01 5:10:19 PM)
+ Comments from JM in related email:
+
+ Should not do this for free. Could have a setting which made it optoinal but should nt be mandatory. Default setting could be to have it on.
+ Consider the SWT team who keep their workspaces on network drives. This will be slow.
+
+ Side effects will be that a build runs when the refresh is completed unless you somehow do it in a workspace runnable and don't end the
+ runnable until after the release. This would be less than optimal as some builders may be responsible for maintaining some invariants and deriving resources which are releasable. If you don't run the builders before releasing, the invariants will not be maintained and you will release inconsistent state.
+
+ Summary: Offer to &quot;ensure local consistency&quot; before releasing.
+
+KM (5/31/01 1:30:35 PM)
+ See also 1GEAG1A: ITPVCM:WINNT - Internal error comparing with a document
+ which failed with an error. Never got log from Tod though.</pre>
+ <br>
+ <i>------- Additional Comment
+ <a name="c1" href="#c1">#1</a> From
+ <a href="mailto:James_Moody@ca.ibm.com">James Moody</a>
+ 2001-10-19 10:32 -------
+ </i>
+
+
+<pre>*** <strike><a href="show_bug.cgi?id=183" title="RESOLVED DUPLICATE - readme: must refresh from local if using external editors (1GFBQNI)">Bug 183</a></strike> has been marked as a duplicate of this bug. ***</pre>
+ <br>
+ <i>------- Additional Comment
+ <a name="c2" href="#c2">#2</a> From
+ <a href="mailto:James_Moody@ca.ibm.com">James Moody</a>
+ 2001-10-19 16:36 -------
+ </i>
+
+
+<pre>Implemented 'auto refresh' option. Default value is off.</pre>
+ <br>
+ <i>------- Additional Comment
+ <a name="c3" href="#c3">#3</a> From
+ <a href="mailto:dj_houghton@ca.ibm.com">DJ Houghton</a>
+ 2001-10-23 23:39 -------
+ </i>
+
+
+<pre>PRODUCT VERSION:
+ 109
+
+</pre>
+ <br>
+ <i>------- Additional Comment
+ <a name="c4" href="#c4">#4</a> From
+ <a href="mailto:James_Moody@ca.ibm.com">James Moody</a>
+ 2001-10-25 10:19 -------
+ </i>
+
+
+<pre>Fixed in v206</pre>
+
+<hr>
+<!-- 1.0@bugzilla.org -->
+
+
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="query.cgi">Query page</a>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="enter_bug.cgi">Enter new bug</a>
+
+<br>
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<table border="0">
+ <tr>
+ <td bgcolor="#000000" valign="top">
+ <table border="0" cellpadding="10" cellspacing="0" width="100%"
+ bgcolor="lightyellow">
+ <tr>
+ <td>
+
+
+
+ This is <b>Bugzilla</b>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see
+ <a href="http://www.bugzilla.org/">bugzilla.org</a>.
+
+
+
+ <br>
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<form method="get" action="show_bug.cgi">
+ <table width="100%">
+ <tr>
+ <td>
+ Actions:
+ </td>
+
+ <td valign="middle" nowrap>
+ <a href="enter_bug.cgi">New</a> |
+ <a href="query.cgi">Query</a> |
+
+ <input type="submit" value="Find"> bug #
+ <input name="id" size="6"> |
+
+ <a href="reports.cgi">Reports</a>
+
+ </td>
+
+ <td>&nbsp;</td>
+
+ <td valign="middle" align="right">
+ <a href="createaccount.cgi">New&nbsp;Account</a> |
+ <a href="query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</a>
+ </td>
+ </tr>
+
+ </table>
+</form>
+
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-eclipse.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-eclipse.html
new file mode 100644
index 000000000..156212e5e
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-eclipse.html
@@ -0,0 +1,158 @@
+<!-- 1.0@bugzilla.org -->
+
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Error</title>
+
+
+
+
+
+
+
+ </head>
+
+
+
+ <body bgcolor="#FFFFFF" onload="">
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" >
+<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" ><tr><td
+WIDTH="100%"><table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%"
+BGCOLOR="#006699" ><tr><td BGCOLOR="#000000" width="116" ><img
+src="images/EclipseBannerPic.jpg" width="115" height="50"></td><td
+WIDTH="637"><a href=http://www.eclipse.org><img SRC="images/gradient.jpg" BORDER=0 height=50
+width=282></a></td><td WIDTH="250"><img src="images/eproject-simple.gif"
+width="250" height="48"></td></tr></table></td></tr></table>
+
+ <table border="0" cellspacing="0">
+ <tr>
+ <td valign="top" align="left">
+ <table border="0" cellpadding="0" cellspacing="2">
+ <tr>
+ <td valign="top" align="left" nowrap="nowrap">
+ <font size="+1"><b>Error</b></font>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td valign="middle">&nbsp;</td>
+ <td valign="middle" align="left"></td>
+ </tr>
+ </table>
+
+<table cellpadding="20">
+ <tr>
+ <td bgcolor="#ff0000">
+ <font size="+2">Bug #666 does not exist.
+ </font>
+ </td>
+ </tr>
+</table>
+
+<p>
+ Please press <b>Back</b> and try again.
+</p>
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<table border="0">
+ <tr>
+ <td bgcolor="#000000" valign="top">
+ <table border="0" cellpadding="10" cellspacing="0" width="100%"
+ bgcolor="lightyellow">
+ <tr>
+ <td>
+
+
+
+ This is <b>Bugzilla</b>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see
+ <a href="http://www.bugzilla.org/">bugzilla.org</a>.
+
+
+
+ <br>
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<form method="get" action="show_bug.cgi">
+ <table width="100%">
+ <tr>
+ <td>
+ Actions:
+ </td>
+
+ <td valign="middle" nowrap>
+ <a href="enter_bug.cgi">New</a> |
+ <a href="query.cgi">Query</a> |
+
+ <input type="submit" value="Find"> bug #
+ <input name="id" size="6"> |
+
+ <a href="reports.cgi">Reports</a>
+
+ | <a href="votes.cgi?action=show_user">My Votes</a>
+ </td>
+
+ <td>&nbsp;</td>
+
+
+ <td valign="middle">
+ Edit <a href="userprefs.cgi">prefs</a>
+
+ | <a href="relogin.cgi">Log&nbsp;out</a>&nbsp;cubranic@cs.ubc.ca
+ </td>
+ </tr>
+
+
+
+
+ <tr>
+ <td>
+ Preset&nbsp;Queries:
+ </td>
+
+ <td colspan="3">
+ <a href="buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=cubranic%40cs.ubc.ca&emailtype1=exact&emailassigned_to1=1&emailreporter1=1">My&nbsp;Bugs</a>
+
+ </td>
+ </tr>
+
+
+ </table>
+</form>
+
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-hipikat.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-hipikat.html
new file mode 100644
index 000000000..e6261be5d
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/bug-not-found-hipikat.html
@@ -0,0 +1,142 @@
+<!-- 1.0@bugzilla.org -->
+
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Error</title>
+
+
+
+
+
+
+
+ </head>
+
+
+
+ <body bgcolor="#FFFFFF" onload="">
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+ <table bgcolor="#000000" width="100%" border="0" cellpadding="0"
+ cellspacing="0">
+ <tr>
+ <td>
+ <font color="#FFFFFF" size="8"><center>
+ Bugzilla Version 2.16.3
+ </center></font>
+ </td>
+ </tr>
+ </table>
+
+ <table border="0" cellspacing="0">
+ <tr>
+ <td valign="top" align="left">
+ <table border="0" cellpadding="0" cellspacing="2">
+ <tr>
+ <td valign="top" align="left" nowrap="nowrap">
+ <font size="+1"><b>Error</b></font>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td valign="middle">&nbsp;</td>
+ <td valign="middle" align="left"></td>
+ </tr>
+ </table>
+
+<table cellpadding="20">
+ <tr>
+ <td bgcolor="#ff0000">
+ <font size="+2">Bug #666 does not exist.
+ </font>
+ </td>
+ </tr>
+</table>
+
+<p>
+ Please press <b>Back</b> and try again.
+</p>
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<table border="0">
+ <tr>
+ <td bgcolor="#000000" valign="top">
+ <table border="0" cellpadding="10" cellspacing="0" width="100%"
+ bgcolor="lightyellow">
+ <tr>
+ <td>
+
+
+
+ This is <b>Bugzilla</b>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see
+ <a href="http://www.bugzilla.org/">bugzilla.org</a>.
+
+
+
+ <br>
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<form method="get" action="show_bug.cgi">
+ <table width="100%">
+ <tr>
+ <td>
+ Actions:
+ </td>
+
+ <td valign="middle" nowrap>
+ <a href="enter_bug.cgi">New</a> |
+ <a href="query.cgi">Query</a> |
+
+ <input type="submit" value="Find"> bug #
+ <input name="id" size="6"> |
+
+ <a href="reports.cgi">Reports</a>
+
+ </td>
+
+ <td>&nbsp;</td>
+
+ <td valign="middle" align="right">
+ <a href="createaccount.cgi">New&nbsp;Account</a> |
+ <a href="query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</a>
+ </td>
+ </tr>
+
+ </table>
+</form>
+
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/cdt-page.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/cdt-page.html
new file mode 100644
index 000000000..3a1d20fdb
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/cdt-page.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0055)https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Enter Bug</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="Enter Bug_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="Enter Bug_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48
+ src="Enter Bug_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Enter
+ Bug</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>This page lets you enter a new bug into
+ Bugzilla.</TD></TR></TBODY></TABLE>
+<FORM action=post_bug.cgi method=post><INPUT type=hidden value=CDT name=product>
+
+<TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><!-- 1.0@bugzilla.org -->Before reporting a bug, please read
+ the <A href="https://bugs.eclipse.org/bugs/bugwritinghelp.html">bug
+ writing guidelines</A>, please look at the list of <A
+ href="https://bugs.eclipse.org/bugs/duplicates.cgi">most frequently
+ reported bugs</A>, and please <A
+ href="https://bugs.eclipse.org/bugs/query.cgi">search</A> for the bug.
+ </TD></TR>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Reporter:</STRONG></TD>
+ <TD vAlign=top>tanya@cs.ubc.ca</TD>
+ <TD vAlign=top align=right><STRONG>Product:</STRONG></TD>
+ <TD vAlign=top>CDT</TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Version:</STRONG> </TD>
+ <TD><SELECT size=5 name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=1.0.1>1.0.1</OPTION> <OPTION value=1.1>1.1</OPTION> <OPTION
+ value=1.2>1.2</OPTION> <OPTION value=2.0 selected>2.0</OPTION></SELECT>
+</TD>
+ <TD vAlign=top align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=CDT">Component</A>:
+ </STRONG></TD>
+ <TD><SELECT size=5 name=component> <OPTION
+ value=CDT-parser>CDT-parser</OPTION> <OPTION value=Core>Core</OPTION>
+ <OPTION value=Cpp-Extensions>Cpp-Extensions</OPTION> <OPTION
+ value=Debug>Debug</OPTION> <OPTION value=Debug-MI>Debug-MI</OPTION>
+ <OPTION value=Doc>Doc</OPTION> <OPTION
+ value=Generic-Extensions>Generic-Extensions</OPTION> <OPTION
+ value=Launcher>Launcher</OPTION> <OPTION value=UI>UI</OPTION></SELECT>
+ </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#rep_platform">Platform</A>:
+ </STRONG></TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#op_sys">OS</A>:
+ </STRONG></TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD></TR>
+ <TR><INPUT type=hidden value=P3 name=priority>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#bug_severity">Severity</A>:
+ </STRONG></TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR><INPUT type=hidden value=NEW name=bug_status>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned
+ To</A>: </STRONG></TD>
+ <TD colSpan=3><INPUT size=32 name=assigned_to> (Leave blank to assign to
+ default component owner) </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Cc:</STRONG></TD>
+ <TD colSpan=3><INPUT size=45 name=cc> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD colSpan=3><INPUT type=hidden size=60 name=bug_file_loc input> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Summary:</STRONG></TD>
+ <TD colSpan=3><INPUT size=60 name=short_desc> </TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Description:</STRONG></TD>
+ <TD colSpan=3><TEXTAREA name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+ <BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><INPUT onclick="if (this.form.short_desc.value == '') &#10; { alert('Please enter a summary sentence for this bug.'); &#10; return false; } return true;" type=submit value=" Commit ">
+ &nbsp;&nbsp;&nbsp;&nbsp; <INPUT type=submit value="Remember values as bookmarkable template" name=maketemplate>
+ </TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><BR>We've made a guess at your operating system and
+ platform. Please check them and, if we got it wrong, email
+ webmaster@eclipse.org. </TD></TR></TBODY></TABLE><INPUT type=hidden
+value=enter_bug name=form_name> </FORM><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user">My
+ Votes</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center>Edit <A
+ href="https://bugs.eclipse.org/bugs/userprefs.cgi">prefs</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/relogin.cgi">Log&nbsp;out</A>&nbsp;tanya@cs.ubc.ca
+ </TD></TR>
+ <TR>
+ <TD>Preset&nbsp;Queries: </TD>
+ <TD colSpan=3><A
+ href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=tanya%40cs.ubc.ca&amp;emailtype1=exact&amp;emailassigned_to1=1&amp;emailreporter1=1">My&nbsp;Bugs</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/equinox-page.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/equinox-page.html
new file mode 100644
index 000000000..1c8fdf57d
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/equinox-page.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0059)https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Enter Bug</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="Equinox_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="Equinox_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="Equinox_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Enter
+ Bug</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>This page lets you enter a new bug into
+ Bugzilla.</TD></TR></TBODY></TABLE>
+<FORM action=post_bug.cgi method=post><INPUT type=hidden value=Equinox
+name=product>
+<TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><!-- 1.0@bugzilla.org -->Before reporting a bug, please read
+ the <A href="https://bugs.eclipse.org/bugs/bugwritinghelp.html">bug
+ writing guidelines</A>, please look at the list of <A
+ href="https://bugs.eclipse.org/bugs/duplicates.cgi">most frequently
+ reported bugs</A>, and please <A
+ href="https://bugs.eclipse.org/bugs/query.cgi">search</A> for the bug.
+ </TD></TR>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Reporter:</STRONG></TD>
+ <TD vAlign=top>tanya@cs.ubc.ca</TD>
+ <TD vAlign=top align=right><STRONG>Product:</STRONG></TD>
+ <TD vAlign=top>Equinox</TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Version:</STRONG> </TD>
+ <TD><SELECT size=5 name=version> <OPTION value=unspecified
+ selected>unspecified</OPTION></SELECT> </TD>
+ <TD vAlign=top align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Equinox">Component</A>:
+ </STRONG></TD>
+ <TD><SELECT size=5 name=component> <OPTION
+ value="Dynamic Plugins">Dynamic Plugins</OPTION> <OPTION
+ value=General>General</OPTION> <OPTION value=OSGi>OSGi</OPTION></SELECT>
+ </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#rep_platform">Platform</A>:
+ </STRONG></TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#op_sys">OS</A>:
+ </STRONG></TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD></TR>
+ <TR><INPUT type=hidden value=P3 name=priority>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#bug_severity">Severity</A>:
+ </STRONG></TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR><INPUT type=hidden value=NEW name=bug_status>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned
+ To</A>: </STRONG></TD>
+ <TD colSpan=3><INPUT size=32 name=assigned_to> (Leave blank to assign to
+ default component owner) </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Cc:</STRONG></TD>
+ <TD colSpan=3><INPUT size=45 name=cc> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD colSpan=3><INPUT type=hidden size=60 name=bug_file_loc input> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Summary:</STRONG></TD>
+ <TD colSpan=3><INPUT size=60 name=short_desc> </TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Description:</STRONG></TD>
+ <TD colSpan=3><TEXTAREA name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+ <BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><INPUT onclick="if (this.form.short_desc.value == '') &#10; { alert('Please enter a summary sentence for this bug.'); &#10; return false; } return true;" type=submit value=" Commit ">
+ &nbsp;&nbsp;&nbsp;&nbsp; <INPUT type=submit value="Remember values as bookmarkable template" name=maketemplate>
+ </TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><BR>We've made a guess at your operating system and
+ platform. Please check them and, if we got it wrong, email
+ webmaster@eclipse.org. </TD></TR></TBODY></TABLE><INPUT type=hidden
+value=enter_bug name=form_name> </FORM><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user">My
+ Votes</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center>Edit <A
+ href="https://bugs.eclipse.org/bugs/userprefs.cgi">prefs</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/relogin.cgi">Log&nbsp;out</A>&nbsp;tanya@cs.ubc.ca
+ </TD></TR>
+ <TR>
+ <TD>Preset&nbsp;Queries: </TD>
+ <TD colSpan=3><A
+ href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=tanya%40cs.ubc.ca&amp;emailtype1=exact&amp;emailassigned_to1=1&amp;emailreporter1=1">My&nbsp;Bugs</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/gmt-page.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/gmt-page.html
new file mode 100644
index 000000000..951b86ccd
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/gmt-page.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0055)https://bugs.eclipse.org/bugs/enter_bug.cgi?product=GMT -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Enter Bug</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="GMT_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="GMT_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="GMT_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Enter
+ Bug</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>This page lets you enter a new bug into
+ Bugzilla.</TD></TR></TBODY></TABLE>
+<FORM action=post_bug.cgi method=post><INPUT type=hidden value=GMT name=product>
+
+<TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><!-- 1.0@bugzilla.org -->Before reporting a bug, please read
+ the <A href="https://bugs.eclipse.org/bugs/bugwritinghelp.html">bug
+ writing guidelines</A>, please look at the list of <A
+ href="https://bugs.eclipse.org/bugs/duplicates.cgi">most frequently
+ reported bugs</A>, and please <A
+ href="https://bugs.eclipse.org/bugs/query.cgi">search</A> for the bug.
+ </TD></TR>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Reporter:</STRONG></TD>
+ <TD vAlign=top>tanya@cs.ubc.ca</TD>
+ <TD vAlign=top align=right><STRONG>Product:</STRONG></TD>
+ <TD vAlign=top>GMT</TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Version:</STRONG> </TD>
+ <TD><SELECT size=5 name=version> <OPTION value=unspecified
+ selected>unspecified</OPTION></SELECT> </TD>
+ <TD vAlign=top align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=GMT">Component</A>:
+ </STRONG></TD>
+ <TD><SELECT size=5 name=component> <OPTION value=Core
+ selected>Core</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#rep_platform">Platform</A>:
+ </STRONG></TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#op_sys">OS</A>:
+ </STRONG></TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD></TR>
+ <TR><INPUT type=hidden value=P3 name=priority>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#bug_severity">Severity</A>:
+ </STRONG></TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR><INPUT type=hidden value=NEW name=bug_status>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned
+ To</A>: </STRONG></TD>
+ <TD colSpan=3><INPUT size=32 name=assigned_to> (Leave blank to assign to
+ default component owner) </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Cc:</STRONG></TD>
+ <TD colSpan=3><INPUT size=45 name=cc> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD colSpan=3><INPUT type=hidden size=60 name=bug_file_loc input> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Summary:</STRONG></TD>
+ <TD colSpan=3><INPUT size=60 name=short_desc> </TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Description:</STRONG></TD>
+ <TD colSpan=3><TEXTAREA name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+ <BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><INPUT onclick="if (this.form.short_desc.value == '') &#10; { alert('Please enter a summary sentence for this bug.'); &#10; return false; } return true;" type=submit value=" Commit ">
+ &nbsp;&nbsp;&nbsp;&nbsp; <INPUT type=submit value="Remember values as bookmarkable template" name=maketemplate>
+ </TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><BR>We've made a guess at your operating system and
+ platform. Please check them and, if we got it wrong, email
+ webmaster@eclipse.org. </TD></TR></TBODY></TABLE><INPUT type=hidden
+value=enter_bug name=form_name> </FORM><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user">My
+ Votes</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center>Edit <A
+ href="https://bugs.eclipse.org/bugs/userprefs.cgi">prefs</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/relogin.cgi">Log&nbsp;out</A>&nbsp;tanya@cs.ubc.ca
+ </TD></TR>
+ <TR>
+ <TD>Preset&nbsp;Queries: </TD>
+ <TD colSpan=3><A
+ href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=tanya%40cs.ubc.ca&amp;emailtype1=exact&amp;emailassigned_to1=1&amp;emailreporter1=1">My&nbsp;Bugs</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/hipikat-copy-bug-1-full.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/hipikat-copy-bug-1-full.html
new file mode 100644
index 000000000..6390fcc9a
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/hipikat-copy-bug-1-full.html
@@ -0,0 +1,157 @@
+<HTML><HEAD>
+<TITLE>Bug 1 - Usability issue with external editors (1GE6IRL)</TITLE>
+
+
+</HEAD>
+<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" >
+<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" ><tr><td
+WIDTH="100%"><table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%"
+BGCOLOR="#006699" ><tr><td BGCOLOR="#000000" width="116" ><img
+src="http://bugs.eclipse.org/bugs/images/EclipseBannerPic.jpg" width="115" height="50"></td><td
+WIDTH="637"><img SRC="http://bugs.eclipse.org/bugs/images/gradient.jpg" BORDER=0 height=50
+width=282></td><td WIDTH="250"><img src="http://bugs.eclipse.org/bugs/images/eproject-simple.gif"
+width="250" height="48"></td></tr></table></td></tr></table>
+
+<TABLE BORDER=0 CELLSPACING=0 WIDTH="100%">
+ <TR>
+ <TD WIDTH=10% VALIGN=TOP ALIGN=LEFT>
+ <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=2>
+ <TR><TD VALIGN=TOP ALIGN=LEFT NOWRAP>
+ <FONT SIZE=+1><B>Bugzilla Bug 1</B></FONT> </TD></TR>
+ </TABLE>
+ </TD>
+ <TD VALIGN=CENTER>&nbsp;</TD>
+ <TD VALIGN=CENTER ALIGN=LEFT>
+Usability issue with external editors (1GE6IRL)
+</TD></TR></TABLE>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=query.cgi>Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=enter_bug.cgi>Enter new bug</A>
+<HR>
+<FORM NAME="changeform" METHOD="POST" ACTION="process_bug.cgi">
+
+<INPUT TYPE=HIDDEN NAME="delta_ts" VALUE="20020427143827">
+<INPUT TYPE=HIDDEN NAME="longdesclength" VALUE="3022">
+<INPUT TYPE=HIDDEN NAME="id" VALUE=1>
+ <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
+ <TD ALIGN=RIGHT><B>Bug#:</B></TD><TD><A HREF="http://cvs-mirror.mozilla.org/webtools/bugzilla/show_bug.cgi?id=1">1</A></TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT><B><A HREF="bug_status.html#rep_platform">Platform:</A></B></TD>
+ <TD><SELECT NAME=rep_platform><OPTION VALUE="All">All<OPTION VALUE="DEC">DEC<OPTION VALUE="HP">HP<OPTION VALUE="Macintosh">Macintosh<OPTION VALUE="PC">PC<OPTION VALUE="SGI">SGI<OPTION VALUE="Sun">Sun<OPTION VALUE="Other">Other</SELECT></TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT><B>Reporter:</B></TD><TD>Andre_Weinand@oti.com (Andre Weinand)</TD>
+</TR><TR>
+ <TD ALIGN=RIGHT><B>Product:</B></TD>
+ <TD><SELECT NAME=product><OPTION VALUE="TestProduct">TestProduct</SELECT></TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT><B>OS:</B></TD>
+ <TD><SELECT NAME=op_sys><OPTION SELECTED VALUE="All">All<OPTION VALUE="Windows 3.1">Windows 3.1<OPTION VALUE="Windows 95">Windows 95<OPTION VALUE="Windows 98">Windows 98<OPTION VALUE="Windows ME">Windows ME<OPTION VALUE="Windows 2000">Windows 2000<OPTION VALUE="Windows NT">Windows NT<OPTION VALUE="Mac System 7">Mac System 7<OPTION VALUE="Mac System 7.5">Mac System 7.5<OPTION VALUE="Mac System 7.6.1">Mac System 7.6.1<OPTION VALUE="Mac System 8.0">Mac System 8.0<OPTION VALUE="Mac System 8.5">Mac System 8.5<OPTION VALUE="Mac System 8.6">Mac System 8.6<OPTION VALUE="Mac System 9.0">Mac System 9.0<OPTION VALUE="Linux">Linux<OPTION VALUE="BSDI">BSDI<OPTION VALUE="FreeBSD">FreeBSD<OPTION VALUE="NetBSD">NetBSD<OPTION VALUE="OpenBSD">OpenBSD<OPTION VALUE="AIX">AIX<OPTION VALUE="BeOS">BeOS<OPTION VALUE="HP-UX">HP-UX<OPTION VALUE="IRIX">IRIX<OPTION VALUE="Neutrino">Neutrino<OPTION VALUE="OpenVMS">OpenVMS<OPTION VALUE="OS/2">OS/2<OPTION VALUE="OSF/1">OSF/1<OPTION VALUE="Solaris">Solaris<OPTION VALUE="SunOS">SunOS<OPTION VALUE="other">other</SELECT></TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT NOWRAP><b>Add CC:</b></TD>
+ <TD><INPUT NAME=newcc SIZE=30 VALUE=""></TD>
+</TR><TR>
+ <TD ALIGN=RIGHT><B><A HREF="describecomponents.cgi?product=">Component:</A></B></TD>
+ <TD><SELECT NAME=component></SELECT></TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT><B>Version:</B></TD>
+ <TD><SELECT NAME=version></SELECT></TD>
+ <TD>&nbsp;</TD>
+ <TD ROWSPAN=4 ALIGN=RIGHT VALIGN=TOP><B>Cc:</B></TD>
+ <TD ROWSPAN=4 VALIGN=TOP> <SELECT NAME=cc MULTIPLE SIZE=5>
+<OPTION VALUE="Kevin_McGuire@oti.com">Kevin_McGuire@oti.com
+</SELECT><BR>
+<INPUT TYPE=CHECKBOX NAME=removecc>Remove selected CCs<br>
+ </TD>
+</TR><TR>
+ <TD ALIGN=RIGHT><B><A HREF="bug_status.html">Status:</A></B></TD>
+ <TD>VERIFIED</TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT><B><A HREF="bug_status.html#priority">Priority:</A></B></TD>
+ <TD><SELECT NAME=priority><OPTION VALUE="P1">P1<OPTION VALUE="P2">P2<OPTION SELECTED VALUE="P3">P3<OPTION VALUE="P4">P4<OPTION VALUE="P5">P5</SELECT></TD>
+ <TD>&nbsp;</TD>
+</TR><TR>
+ <TD ALIGN=RIGHT><B><A HREF="bug_status.html">Resolution:</A></B></TD>
+ <TD>FIXED</TD>
+ <TD>&nbsp;</TD>
+ <TD ALIGN=RIGHT><B><A HREF="bug_status.html#severity">Severity:</A></B></TD>
+ <TD><SELECT NAME=bug_severity><OPTION VALUE="blocker">blocker<OPTION VALUE="critical">critical<OPTION VALUE="major">major<OPTION SELECTED VALUE="normal">normal<OPTION VALUE="minor">minor<OPTION VALUE="trivial">trivial<OPTION VALUE="enhancement">enhancement</SELECT></TD>
+ <TD>&nbsp;</TD>
+</TR><TR>
+ <TD ALIGN=RIGHT><B><A HREF="bug_status.html#assigned_to">Assigned&nbsp;To:
+ </A></B></TD>
+ <TD>James_Moody@oti.com (James Moody)</TD>
+ <TD>&nbsp;</TD><TD></TD><TD></TD><TD>&nbsp;</TD>
+</TR>
+ <TR>
+ <TD ALIGN="RIGHT"><B>URL:</B>
+ <TD COLSPAN=7>
+ <INPUT NAME=bug_file_loc VALUE="" SIZE=60></TD>
+ </TR><TR>
+ <TD ALIGN="RIGHT"><B>Summary:</B>
+ <TD COLSPAN=7>
+ <INPUT NAME=short_desc VALUE="Usability issue with external editors (1GE6IRL)" SIZE=60></TD>
+ </TR><tr><td align=right><B>Attachments:</b></td>
+<td colspan=7><a href="createattachment.cgi?id=1">Create a new attachment</a> (proposed patch, testcase, etc.)</td></tr></table>
+<table><tr>
+<th align=right>Bug 1 depends on:</th><td></td><td><input name=dependson value=""></td>
+
+<td rowspan=2><a href="showdependencytree.cgi?id=1">Show dependency tree</a>
+
+<br><a href="showdependencygraph.cgi?id=1">Show dependency graph</a>
+</td></tr><tr><th align=right>Bug 1 blocks:</th><td></td><td><input name=blocked value=""></td>
+</tr></table>
+
+<br>
+<B>Additional Comments:</B>
+<BR>
+<TEXTAREA WRAP=HARD NAME=comment ROWS=10 COLS=80></TEXTAREA><BR><br>
+<INPUT TYPE=radio NAME=knob VALUE=none CHECKED>
+ Leave as <b>VERIFIED FIXED</b><br><INPUT TYPE=radio NAME=knob VALUE=reopen> Reopen bug<br>
+<INPUT TYPE=radio NAME=knob VALUE=close>
+ Mark bug as <b>CLOSED</b><br>
+
+<INPUT TYPE="submit" VALUE="Commit">
+<INPUT TYPE="reset" VALUE="Reset">
+<INPUT TYPE="hidden" name="form_name" VALUE="process_bug">
+<P>
+<FONT size="+1"><B>
+ <A HREF="show_activity.cgi?id=1">View Bug Activity</A>
+ &nbsp; | &nbsp;
+ <A HREF="long_list.cgi?buglist=1">Format For Printing</A>
+</B></FONT>
+<BR></FORM>
+<table><tr><td align=left><B>Description:</B></td>
+<td align=right width=100%>Opened: 2001-10-10 17:34</td></tr></table>
+<HR>
+<PRE>- Setup a project that contains a *.gif resource&#013; - release project to CVS&#013; - edit the *.gif resource with an external editor, e.g. PaintShop&#013; - save and close external editor&#013; - in Navigator open the icon resource and verify that your changes are there&#013; - release project&#013; -&gt; nothing to release!&#013; - in Navigator open the icon resource and verify that your changes are still there&#013;&#013; Problem: because I never &quot;Refreshed from local&quot;, the workspace hasn't changed so &quot;Release&quot; didn't find anything.&#013; However opening the resource with an external editor found the modified file on disk and showed the changes.&#013;&#013; The real problem occurs if &quot;Release&quot; actually finds something to release but you don't spot that some resources are missing.&#013; This is extremely error prone: one of my changes didn't made it into build 110 because of this!&#013;&#013;NOTES:&#013;EG (5/23/01 3:00:33 PM)&#013; Release should do a refresh from local before doing the release.&#013; Moving to VCM&#013;&#013;&#013;KM (05/27/01 5:10:19 PM)&#013; Comments from JM in related email:&#013;&#013; Should not do this for free. Could have a setting which made it optoinal but should nt be mandatory. Default setting could be to have it on.&#013; Consider the SWT team who keep their workspaces on network drives. This will be slow. &#013;&#013; Side effects will be that a build runs when the refresh is completed unless you somehow do it in a workspace runnable and don't end the&#013; runnable until after the release. This would be less than optimal as some builders may be responsible for maintaining some invariants and deriving resources which are releasable. If you don't run the builders before releasing, the invariants will not be maintained and you will release inconsistent state.&#013;&#013; Summary: Offer to &quot;ensure local consistency&quot; before releasing.&#013;&#013;KM (5/31/01 1:30:35 PM)&#013; See also 1GEAG1A: ITPVCM:WINNT - Internal error comparing with a document&#013; which failed with an error. Never got log from Tod though.</PRE>
+<BR><BR><I>------- Additional Comments From <A HREF="mailto:James_Moody@oti.com">James Moody</A> 2001-10-19 06:32 -------</I><BR>
+<PRE>*** <strike><a href="show_bug.cgi?id=183" title="RESOLVED DUPLICATE - readme: must refresh from local if using external editors (1GFBQNI)">Bug 183</a></strike> has been marked as a duplicate of this bug. ***</PRE>
+<BR><BR><I>------- Additional Comments From <A HREF="mailto:James_Moody@oti.com">James Moody</A> 2001-10-19 12:36 -------</I><BR>
+<PRE>Implemented 'auto refresh' option. Default value is off.</PRE>
+<BR><BR><I>------- Additional Comments From <A HREF="mailto:DJ_Houghton@oti.com">DJ Houghton</A> 2001-10-23 19:39 -------</I><BR>
+<PRE>PRODUCT VERSION:&#013; 109&#013;&#013;</PRE>
+<BR><BR><I>------- Additional Comments From <A HREF="mailto:James_Moody@oti.com">James Moody</A> 2001-10-25 06:19 -------</I><BR>
+<PRE>Fixed in v206</PRE>
+
+<HR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=query.cgi>Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=enter_bug.cgi>Enter new bug</A>
+<hr>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a HREF=query.cgi>Query page</a>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a HREF=enter_bug.cgi>Enter new bug</a>
+<table BORDER="0"><tr><td BGCOLOR="#000000" VALIGN="TOP">
+<table BORDER="0" CELLPADDING="10" CELLSPACING="0" WIDTH="100%"
+BGCOLOR="lightyellow">
+<tr><td>
+<form METHOD=GET ACTION="show_bug.cgi">
+<table width="100%"><tr><td>
+Actions:
+</td><td VALIGN="middle" NOWRAP>
+<a href='enter_bug.cgi'>New</a> | <a href='query.cgi'>Query</a> |
+ <input TYPE=SUBMIT VALUE="Find"> bug # <input NAME=id SIZE=6> | <a
+href='reports.cgi'>Reports</a></td><td>&nbsp;</td><td valign=middle align=right>
+
+ <a href="createaccount.cgi"><nobr>New account</nobr></a>
+ | <nobr><a href=query.cgi?GoAheadAndLogIn=1>Log in</a></nobr></td></tr></form>
+</table><br>
+<a HREF="index.html">Eclipse Bugs Home</a>
+</td></tr>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/platform-page.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/platform-page.html
new file mode 100644
index 000000000..d41b5c84d
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/platform-page.html
@@ -0,0 +1,299 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><title>Enter Bug</title></head>
+
+
+
+
+
+
+
+
+ <body bgcolor="#ffffff" onload="" text="#000000" link="#0000ee" vlink="#551a8b" alink="#ff0000">
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+<table border="0" cellspacing="0" cellpadding="0" width="100%"><tbody><tr><td width="100%"><table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="#006699"><tbody><tr><td bgcolor="#000000" width="116"><img src="main_data/EclipseBannerPic.jpg" width="115" height="50"></td><td width="637"><a href="http://www.eclipse.org/"><img src="main_data/gradient.jpg" border="0" height="50" width="282"></a></td><td width="250"><img src="main_data/eproject-simple.gif" width="250" height="48"></td></tr></tbody></table></td></tr></tbody></table>
+
+ <table border="0" cellspacing="0">
+ <tbody><tr>
+ <td valign="top" align="left">
+ <table border="0" cellpadding="0" cellspacing="2">
+ <tbody><tr>
+ <td valign="top" align="left" nowrap="nowrap">
+ <font size="+1"><b>Enter Bug</b></font>
+ </td>
+ </tr>
+ </tbody></table>
+ </td>
+ <td valign="middle">&nbsp;</td>
+ <td valign="middle" align="left">This page lets you enter a new bug into Bugzilla.</td>
+ </tr>
+ </tbody></table>
+
+<form method="post" action="post_bug.cgi">
+<input type="hidden" name="product" value="Platform">
+
+<input type="hidden" name="priority" value="P3">
+<input type="hidden" name="bug_status" value="NEW">
+
+ <table cellspacing="2" cellpadding="0" border="0">
+
+ <tbody><tr>
+ <td><br></td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+Before reporting a bug, please read the <a href="https://bugs.eclipse.org/bugs/bugwritinghelp.html">
+bug writing guidelines</a>, please look at the list of
+<a href="https://bugs.eclipse.org/bugs/duplicates.cgi">most frequently reported bugs</a>, and please
+<a href="https://bugs.eclipse.org/bugs/query.cgi">search</a> for the bug.
+ </td>
+ </tr>
+
+ <tr>
+ <td><br></td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top"><strong>Reporter:</strong></td>
+ <td valign="top">tanya@cs.ubc.ca</td>
+
+ <td align="right" valign="top"><strong>Product:</strong></td>
+ <td valign="top">Platform</td>
+ </tr>
+
+
+ <tr>
+ <td align="right" valign="top">
+ <strong>Version:</strong>
+ </td>
+ <td>
+ <select name="version" size="5"><option value="1.0">1.0 </option><option value="2.0">2.0 </option><option value="2.0.1">2.0.1 </option><option value="2.0.2">2.0.2 </option><option value="2.1">2.1 </option><option value="2.1.1">2.1.1 </option><option value="2.1.2">2.1.2 </option><option value="3.0" selected="selected">3.0 </option></select>
+ </td>
+
+ <td align="right" valign="top">
+ <strong>
+ <a href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Platform">
+ Component</a>:
+ </strong>
+ </td>
+ <td>
+ <select name="component" size="5"><option value="Ant">Ant </option><option value="Compare">Compare </option><option value="Core">Core </option><option value="CVS">CVS </option><option value="Debug">Debug </option><option value="Doc">Doc </option><option value="Help">Help </option><option value="Releng">Releng </option><option value="Scripting">Scripting </option><option value="Search">Search </option><option value="SWT">SWT </option><option value="Team">Team </option><option value="Text">Text </option><option value="UI">UI </option><option value="Update">Update </option><option value="WebDAV">WebDAV </option></select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr><td align="right">
+ <strong>
+ <a href="https://bugs.eclipse.org/bugs/bug_status.html#rep_platform">Platform</a>:
+ </strong>
+ </td>
+
+ <td>
+ <select name="rep_platform"><option value="All">All </option><option value="Macintosh">Macintosh </option><option value="PC" selected="selected">PC </option><option value="Power PC">Power PC </option><option value="Sun">Sun </option><option value="Other">Other </option></select>
+ </td>
+ <td align="right">
+ <strong>
+ <a href="https://bugs.eclipse.org/bugs/bug_status.html#op_sys">OS</a>:
+ </strong>
+ </td>
+
+ <td>
+ <select name="op_sys"><option value="All">All </option><option value="AIX Motif">AIX Motif </option><option value="Windows 95">Windows 95 </option><option value="Windows 98">Windows 98 </option><option value="Windows CE">Windows CE </option><option value="Windows ME">Windows ME </option><option value="Windows 2000">Windows 2000 </option><option value="Windows NT">Windows NT </option><option value="Windows XP" selected="selected">Windows XP </option><option value="Windows All">Windows All </option><option value="MacOS X">MacOS X </option><option value="Linux">Linux </option><option value="Linux-GTK">Linux-GTK </option><option value="Linux-Motif">Linux-Motif </option><option value="HP-UX">HP-UX </option><option value="Neutrino">Neutrino </option><option value="QNX-Photon">QNX-Photon </option><option value="Solaris">Solaris </option><option value="Unix All">Unix All </option><option value="other">other </option></select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">
+ <strong>
+ <a href="https://bugs.eclipse.org/bugs/bug_status.html#bug_severity">Severity</a>:
+ </strong>
+ </td>
+
+ <td>
+ <select name="bug_severity"><option value="blocker">blocker </option><option value="critical">critical </option><option value="major">major </option><option value="normal" selected="selected">normal </option><option value="minor">minor </option><option value="trivial">trivial </option><option value="enhancement">enhancement </option></select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr>
+ <td align="right">
+ <strong>
+ <a href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned To</a>:
+ </strong>
+ </td>
+ <td colspan="3">
+ <input name="assigned_to" size="32" value="">
+ (Leave blank to assign to default component owner)
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right"><strong>Cc:</strong></td>
+ <td colspan="3">
+ <input name="cc" size="45" value="">
+ </td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td colspan="3"></td>
+ </tr>
+
+ <tr>
+ <td colspan="3">
+ <input type="hidden" input="" name="bug_file_loc" size="60" value="">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right"><strong>Summary:</strong></td>
+ <td colspan="3">
+ <input name="short_desc" size="60" value="">
+ </td>
+ </tr>
+
+ <tr><td align="right" valign="top"><strong>Description:</strong></td>
+ <td colspan="3">
+ <textarea wrap="hard" name="comment" rows="10" cols="80"></textarea>
+ <br>
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <input type="submit" value=" Commit " onclick="if (this.form.short_desc.value == '')
+ { alert('Please enter a summary sentence for this bug.');
+ return false; } return true;">
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ <input type="submit" name="maketemplate" value="Remember values as bookmarkable template">
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <br>
+ We've made a guess at your operating system and platform.
+ Please check them and, if we got it wrong, email webmaster@eclipse.org.
+ </td>
+ </tr>
+
+ </tbody></table>
+ <input type="hidden" name="form_name" value="enter_bug">
+</form>
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<table border="0">
+ <tbody><tr>
+ <td bgcolor="#000000" valign="top">
+ <table border="0" cellpadding="10" cellspacing="0" width="100%" bgcolor="lightyellow">
+ <tbody><tr>
+ <td>
+
+
+
+ This is <b>Bugzilla</b>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see
+ <a href="http://www.bugzilla.org/">bugzilla.org</a>.
+
+
+
+ <br>
+
+
+<!-- 1.0@bugzilla.org -->
+
+
+
+
+
+
+<form method="get" action="show_bug.cgi">
+ <table width="100%">
+ <tbody><tr>
+ <td>
+ Actions:
+ </td>
+
+ <td valign="middle" nowrap="nowrap">
+ <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</a> |
+ <a href="https://bugs.eclipse.org/bugs/query.cgi">Query</a> |
+
+ <input type="submit" value="Find"> bug #
+ <input name="id" size="6"> |
+
+ <a href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</a>
+
+ | <a href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user">My Votes</a>
+ </td>
+
+ <td>&nbsp;</td>
+
+
+ <td valign="middle">
+ Edit <a href="https://bugs.eclipse.org/bugs/userprefs.cgi">prefs</a>
+
+ | <a href="https://bugs.eclipse.org/bugs/relogin.cgi">Log&nbsp;out</a>&nbsp;tanya@cs.ubc.ca
+ </td>
+ </tr>
+
+
+
+
+ <tr>
+ <td>
+ Preset&nbsp;Queries:
+ </td>
+
+ <td colspan="3">
+ <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=tanya%40cs.ubc.ca&amp;emailtype1=exact&amp;emailassigned_to1=1&amp;emailreporter1=1">My&nbsp;Bugs</a>
+
+ </td>
+ </tr>
+
+
+ </tbody></table>
+</form>
+
+ </td>
+ </tr>
+ </tbody></table>
+ </td>
+ </tr>
+</tbody></table>
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/product-page-1-product-hipikat.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/product-page-1-product-hipikat.html
new file mode 100644
index 000000000..53805b2d2
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/product-page-1-product-hipikat.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0073)http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/enter_bug.cgi -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Enter Bug</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=windows-1252"><!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org -->
+<SCRIPT
+type=text/javascript>
+ <!--
+
+ function initHelp() {}
+ // -->
+ </SCRIPT>
+
+<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
+<BODY bgColor=#ffffff onload=set_assign_to();><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#000000 border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <CENTER><FONT color=#ffffff size=8>This is Bugzilla
+ </FONT></CENTER></TD></TR></TBODY></TABLE>
+<CENTER><FONT size=-1><A href="http://www.bugzilla.org/">Bugzilla</A> Version
+2.17.6 </FONT></CENTER>
+<TABLE cellSpacing=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Enter
+ Bug</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center align=left>&nbsp;</TD>
+ <TD vAlign=center align=left>This page lets you enter a new bug into
+ Bugzilla.</TD></TR></TBODY></TABLE>
+<SCRIPT language=JavaScript type=text/javascript>
+<!--
+
+var default_owners = new Array(1);
+var components = new Array(1);
+ components[0] = "TestComponent";
+ default_owners[0] = "cubranic\x40cs.ubc.ca";
+var last_default_owner;
+function set_assign_to() {
+ // Based on the selected component, fill the "Assign To:" field
+ // with the default component owner.
+ var form = document.Create;
+ assigned_to = form.assigned_to.value
+ var index = -1;
+ if (form.component.type == 'select-one') {
+ index = form.component.selectedIndex;
+ } else if (form.component.type == 'hidden') {
+ // Assume there is only one component in the list
+ index = 0;
+ }
+ if (index != -1) {
+ var owner = default_owners[index];
+ var component = components[index];
+ if (assigned_to == last_default_owner
+ || assigned_to == owner
+ || assigned_to == ''
+ || confirm('Would you like to change\n\n' +
+ ' "Assign To: ' + assigned_to + '"\n\n' +
+ 'to the default "' + component + '" owner:\n\n' +
+ ' ' + owner + "?")) {
+ form.assigned_to.value = owner;
+ last_default_owner = owner;
+ }
+ }
+}
+-->
+</SCRIPT>
+
+<FORM id=Create name=Create action=post_bug.cgi method=post><INPUT type=hidden
+value=TestProduct name=product>
+<TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><!-- 1.0@bugzilla.org -->Before reporting a bug, please read
+ the <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/bugwritinghelp.html">bug
+ writing guidelines</A>, please look at the list of <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/duplicates.cgi">most
+ frequently reported bugs</A>, and please <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/query.cgi">search</A>
+ for the bug. </TD></TR>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Reporter:</STRONG></TD>
+ <TD vAlign=top>tanya@cs.ubc.ca</TD>
+ <TD vAlign=top align=right><STRONG>Product:</STRONG></TD>
+ <TD vAlign=top>TestProduct</TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Version:</STRONG> </TD>
+ <TD><SELECT size=5 name=version> <OPTION value=other
+ selected>other</OPTION></SELECT> </TD>
+ <TD vAlign=top align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/describecomponents.cgi?product=TestProduct">Component</A>:
+ </STRONG></TD>
+ <TD><SELECT onchange=set_assign_to(); size=5 name=component> <OPTION
+ value=TestComponent selected>TestComponent</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/bug_status.html#rep_platform">Platform</A>:
+ </STRONG></TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=DEC>DEC</OPTION> <OPTION value=HP>HP</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value=SGI>SGI</OPTION> <OPTION value=Sun>Sun</OPTION> <OPTION
+ value=Other>Other</OPTION></SELECT> </TD>
+ <TD align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/bug_status.html#op_sys">OS</A>:
+ </STRONG></TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="Windows 3.1">Windows 3.1</OPTION> <OPTION
+ value="Windows 95">Windows 95</OPTION> <OPTION
+ value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows Server 2003">Windows
+ Server 2003</OPTION> <OPTION value="Mac System 7">Mac System 7</OPTION>
+ <OPTION value="Mac System 7.5">Mac System 7.5</OPTION> <OPTION
+ value="Mac System 7.6.1">Mac System 7.6.1</OPTION> <OPTION
+ value="Mac System 8.0">Mac System 8.0</OPTION> <OPTION
+ value="Mac System 8.5">Mac System 8.5</OPTION> <OPTION
+ value="Mac System 8.6">Mac System 8.6</OPTION> <OPTION
+ value="Mac System 9.x">Mac System 9.x</OPTION> <OPTION
+ value="Mac OS X 10.0">Mac OS X 10.0</OPTION> <OPTION
+ value="Mac OS X 10.1">Mac OS X 10.1</OPTION> <OPTION
+ value="Mac OS X 10.2">Mac OS X 10.2</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=BSD/OS>BSD/OS</OPTION> <OPTION
+ value=FreeBSD>FreeBSD</OPTION> <OPTION value=NetBSD>NetBSD</OPTION>
+ <OPTION value=OpenBSD>OpenBSD</OPTION> <OPTION value=AIX>AIX</OPTION>
+ <OPTION value=BeOS>BeOS</OPTION> <OPTION value=HP-UX>HP-UX</OPTION>
+ <OPTION value=IRIX>IRIX</OPTION> <OPTION
+ value=Neutrino>Neutrino</OPTION> <OPTION value=OpenVMS>OpenVMS</OPTION>
+ <OPTION value=OS/2>OS/2</OPTION> <OPTION value=OSF/1>OSF/1</OPTION>
+ <OPTION value=Solaris>Solaris</OPTION> <OPTION
+ value=SunOS>SunOS</OPTION> <OPTION value=other>other</OPTION></SELECT>
+ </TD></TR>
+ <TR>
+ <TD align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/bug_status.html#priority">Priority</A>:
+ </STRONG></TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION value=P2
+ selected>P2</OPTION> <OPTION value=P3>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/bug_status.html#bug_severity">Severity</A>:
+ </STRONG></TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR><INPUT type=hidden value=NEW name=bug_status>
+ <TR>
+ <TD align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/bug_status.html#assigned_to">Assign
+ To</A>: </STRONG></TD>
+ <TD colSpan=3><INPUT size=32 name=assigned_to> <NOSCRIPT>(Leave blank to
+ assign to default component owner)</NOSCRIPT> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Cc:</STRONG></TD>
+ <TD colSpan=3><INPUT size=45 name=cc> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD align=right><STRONG>URL:</STRONG></TD>
+ <TD colSpan=3><INPUT size=60 value=http:// name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Summary:</STRONG></TD>
+ <TD colSpan=3><INPUT size=60 name=short_desc> </TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Description:</STRONG></TD>
+ <TD colSpan=3><TEXTAREA name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+ <BR></TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/describekeywords.cgi">Keywords</A>:
+ </STRONG></TD>
+ <TD colSpan=3><INPUT size=60 name=keywords> (optional) </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Depends on:</STRONG> </TD>
+ <TD><INPUT accessKey=d name=dependson> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Blocks:</STRONG> </TD>
+ <TD><INPUT accessKey=b name=blocked> </TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><INPUT onclick="if (this.form.short_desc.value == '')&#10; { alert('Please enter a summary sentence for this bug.');&#10; return false; } return true;" type=submit value=" Commit ">
+ &nbsp;&nbsp;&nbsp;&nbsp; <INPUT type=submit value="Remember values as bookmarkable template" name=maketemplate>
+ </TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><BR>We've made a guess at your operating system and
+ platform. Please check them and, if we got it wrong, emailTHE MAINTAINER
+ HAS NOT YET BEEN SET. </TD></TR></TBODY></TABLE><INPUT type=hidden
+value=enter_bug name=form_name> </FORM><!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/enter_bug.cgi">New</A>
+ | <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/query.cgi">Search</A>
+ | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id>
+ | <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/report.cgi">Reports</A>
+ | <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/request.cgi?requester=tanya%40cs.ubc.ca&amp;requestee=tanya%40cs.ubc.ca&amp;do_union=1&amp;group=type">My
+ Requests</A> | <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/votes.cgi?action=show_user">My
+ Votes</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center>Edit <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/userprefs.cgi">prefs</A>,
+ <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/editproducts.cgi">products</A>,
+ <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/editflagtypes.cgi">flags</A>,
+ <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/editkeywords.cgi">keywords</A>
+ | <A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/relogin.cgi">Log&nbsp;out</A>&nbsp;tanya@cs.ubc.ca
+ </TD></TR>
+ <TR>
+ <TD>Saved&nbsp;Searches: </TD>
+ <TD colSpan=3><A
+ href="http://hipikat.cs.ubc.ca:8081/bugzilla-test/bugzilla-2.17.6/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=tanya%40cs.ubc.ca&amp;emailtype1=exact&amp;emailassigned_to1=1&amp;emailreporter1=1">My&nbsp;Bugs</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/pages/ve-page.html b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/ve-page.html
new file mode 100644
index 000000000..e5423da71
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/pages/ve-page.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0054)https://bugs.eclipse.org/bugs/enter_bug.cgi?product=VE -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Enter Bug</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="VE_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="VE_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="VE_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Enter
+ Bug</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>This page lets you enter a new bug into
+ Bugzilla.</TD></TR></TBODY></TABLE>
+<FORM action=post_bug.cgi method=post><INPUT type=hidden value=VE name=product>
+<TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><!-- 1.0@bugzilla.org -->Before reporting a bug, please read
+ the <A href="https://bugs.eclipse.org/bugs/bugwritinghelp.html">bug
+ writing guidelines</A>, please look at the list of <A
+ href="https://bugs.eclipse.org/bugs/duplicates.cgi">most frequently
+ reported bugs</A>, and please <A
+ href="https://bugs.eclipse.org/bugs/query.cgi">search</A> for the bug.
+ </TD></TR>
+ <TR>
+ <TD><BR></TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Reporter:</STRONG></TD>
+ <TD vAlign=top>tanya@cs.ubc.ca</TD>
+ <TD vAlign=top align=right><STRONG>Product:</STRONG></TD>
+ <TD vAlign=top>VE</TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Version:</STRONG> </TD>
+ <TD><SELECT size=5 name=version> <OPTION value=0.5.0>0.5.0</OPTION>
+ <OPTION value=1.0.0>1.0.0</OPTION> <OPTION value=unspecified
+ selected>unspecified</OPTION></SELECT> </TD>
+ <TD vAlign=top align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=VE">Component</A>:
+ </STRONG></TD>
+ <TD><SELECT size=5 name=component> <OPTION value=CDE>CDE</OPTION>
+ <OPTION value=Doc>Doc</OPTION> <OPTION value="Java Core">Java
+ Core</OPTION> <OPTION value="Java Model (JEM)">Java Model (JEM)</OPTION>
+ <OPTION value=JFC/Swing>JFC/Swing</OPTION> <OPTION
+ value=SWT>SWT</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#rep_platform">Platform</A>:
+ </STRONG></TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#op_sys">OS</A>:
+ </STRONG></TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD></TR>
+ <TR><INPUT type=hidden value=P3 name=priority>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#bug_severity">Severity</A>:
+ </STRONG></TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR><INPUT type=hidden value=NEW name=bug_status>
+ <TR>
+ <TD align=right><STRONG><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned
+ To</A>: </STRONG></TD>
+ <TD colSpan=3><INPUT size=32 name=assigned_to> (Leave blank to assign to
+ default component owner) </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Cc:</STRONG></TD>
+ <TD colSpan=3><INPUT size=45 name=cc> </TD></TR>
+ <TR>
+ <TD>&nbsp;</TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD colSpan=3><INPUT type=hidden size=60 name=bug_file_loc input> </TD></TR>
+ <TR>
+ <TD align=right><STRONG>Summary:</STRONG></TD>
+ <TD colSpan=3><INPUT size=60 name=short_desc> </TD></TR>
+ <TR>
+ <TD vAlign=top align=right><STRONG>Description:</STRONG></TD>
+ <TD colSpan=3><TEXTAREA name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+ <BR></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><INPUT onclick="if (this.form.short_desc.value == '') &#10; { alert('Please enter a summary sentence for this bug.'); &#10; return false; } return true;" type=submit value=" Commit ">
+ &nbsp;&nbsp;&nbsp;&nbsp; <INPUT type=submit value="Remember values as bookmarkable template" name=maketemplate>
+ </TD></TR>
+ <TR>
+ <TD></TD>
+ <TD colSpan=3><BR>We've made a guess at your operating system and
+ platform. Please check them and, if we got it wrong, email
+ webmaster@eclipse.org. </TD></TR></TBODY></TABLE><INPUT type=hidden
+value=enter_bug name=form_name> </FORM><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user">My
+ Votes</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center>Edit <A
+ href="https://bugs.eclipse.org/bugs/userprefs.cgi">prefs</A> |
+ <A
+ href="https://bugs.eclipse.org/bugs/relogin.cgi">Log&nbsp;out</A>&nbsp;tanya@cs.ubc.ca
+ </TD></TR>
+ <TR>
+ <TD>Preset&nbsp;Queries: </TD>
+ <TD colSpan=3><A
+ href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=tanya%40cs.ubc.ca&amp;emailtype1=exact&amp;emailassigned_to1=1&amp;emailreporter1=1">My&nbsp;Bugs</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/1.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/1.html
new file mode 100644
index 000000000..cf50a3d46
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/1.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0050)https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 4548 - DCR: TableTree should support icon in 1st column (1G06WFT)</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="4548_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="4548_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="4548_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 4548</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>DCR: TableTree should support icon in 1st
+ column (1G06WFT)</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug
+List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20020527161709 name=delta_ts> <INPUT type=hidden value=2
+name=longdesclength> <INPUT type=hidden value=4548 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548">4548</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All selected>All</OPTION>
+ <OPTION value=Macintosh>Macintosh</OPTION> <OPTION value=PC>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>erich_gamma@ch.ibm.com (Erich Gamma) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION
+ value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION
+ value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION
+ value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION
+ value=Platform selected>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All selected>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION
+ value="Windows XP">Windows XP</OPTION> <OPTION
+ value="Windows All">Windows All</OPTION> <OPTION value="MacOS X">MacOS
+ X</OPTION> <OPTION value=Linux>Linux</OPTION> <OPTION
+ value=Linux-GTK>Linux-GTK</OPTION> <OPTION
+ value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Platform">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Ant>Ant</OPTION> <OPTION
+ value=Compare>Compare</OPTION> <OPTION value=CVS>CVS</OPTION> <OPTION
+ value=Debug>Debug</OPTION> <OPTION value=Doc>Doc</OPTION> <OPTION
+ value=Help>Help</OPTION> <OPTION value=Intro>Intro</OPTION> <OPTION
+ value=Releng>Releng</OPTION> <OPTION value=Resources>Resources</OPTION>
+ <OPTION value=Runtime>Runtime</OPTION> <OPTION
+ value=Scripting>Scripting</OPTION> <OPTION value=Search>Search</OPTION>
+ <OPTION value=SWT selected>SWT</OPTION> <OPTION value=Team>Team</OPTION>
+ <OPTION value=Text>Text</OPTION> <OPTION value=UI>UI</OPTION> <OPTION
+ value=Update>Update</OPTION> <OPTION value=WebDAV>WebDAV</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=2.0 selected>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION>
+ <OPTION value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION>
+ <OPTION value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION>
+ <OPTION value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION>
+ <OPTION value=3.0.1>3.0.1</OPTION> <OPTION value=3.1>3.1</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>RESOLVED</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5 selected>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD>WONTFIX</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>veronika_irvine@ca.ibm.com (Veronika Irvine)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0
+ M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION
+ value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION>
+ <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0
+ M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION
+ value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION>
+ <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION
+ value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION
+ value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION
+ value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION>
+ <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1
+ M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION
+ value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1
+ RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION
+ value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION>
+ <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0
+ M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION
+ value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION>
+ <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0
+ M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION
+ value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0
+ RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION
+ value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION
+ value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION
+ value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION>
+ <OPTION value="3.1 M4">3.1 M4</OPTION> <OPTION value="3.1 M5">3.1
+ M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION> <OPTION value=---
+ selected>---</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="DCR: TableTree should support icon in 1st column (1G06WFT)"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4548&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4548&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 4548 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=4548">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 4548 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
+ <TD>0&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=4548">Show
+ votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=4548">Vote
+ for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>RESOLVED&nbsp;WONTFIX</B> <BR><INPUT type=radio value=reopen name=knob>
+Reopen bug <BR><INPUT type=radio value=verify name=knob> Mark bug as
+<B>VERIFIED</B><BR><INPUT type=radio value=close name=knob> Mark bug as
+<B>CLOSED</B><BR><INPUT type=submit value=Commit> <INPUT type=hidden
+value=process_bug name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=4548">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=4548">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2001-10-11 14:18 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>EG (8/24/00 3:41:25 PM)
+ TableTree doesn't support showing an icon in the first column. The icon is eaten up
+ by the +/- icon.
+ Not being able to have an icon in the first column reduces the applicability
+ of TableTree (we would like to use it in the Java plugin, but we can't).
+
+NOTES:
+
+VI (8/24/00 10:54:39 AM)
+ TableTree is implemented using the Windows table widget and this only allows
+ one image per column. Sorry, there's nothing we can do.
+
+AW (24.08.00 17:31:06)
+ Why not combining the +/- icon with the client's icon into a single icon?
+
+EG (8/29/00 3:35:01 PM)
+ JFace has support for compositing icons see:
+ com.ibm.jface.examples.compositeimage.CompositeImageExample
+
+CM (3/17/01 5:29:49 PM)
+ P1/M1 (April 1st, 2001)
+ Need to know the priority of 1GAJ9KP: SWT:ALL - TableTree class has no selection support for the SWT.CHECK style
+ because these two PRs may conflict.
+
+CM (3/28/01 5:09:33 PM)
+ We investigated using the Windows "state image" feature in Table, but this is already being used by
+ checkboxes if the Table is created with check style. It would also mean that we would have to provide
+ platform-specific public API on Table to allow TableTree class to set/get state images. So we decided
+ against this.
+
+ VI is going to investigate merging the [+]/[-] images with the user's image. We would try to write it
+ in such a way that only those who actually put an image in the first column would have to pay for
+ the added slowness. We suspect there may be issues such as background color/transparency
+ problems, hit test problems, selection highlight problems, and cheese problems, but we will have
+ to try it first before we know for sure.
+
+VI (4/4/2001 10:41:59 AM)
+ Two major issues which prevent us from merging the [+]/[-] with the user's image and using the normal first column image:
+ 1) Images of different sizes can be added to the control, however the size of the image displayed in the associated
+ Windows Common Control will be constrained to the size of the first image added to the ImageList.
+ Images for all columns are added to the same ImageList and therefore must have the exact same height and WIDTH.
+ This makes merging the +/- and the first column image have impact on every image in the TableTree
+ 2) There is a limit to how may images I can cram in the ImageList. Having potentially 3 per row I think will quickly exceed the limit.
+
+VI (4/4/2001 05:20 PM)
+
+ We have a PR that requests support for an image in the first column of a TableTree and I believe that you
+ are the prime requestor.
+
+ I have tried to make this work and below is the best I can do. As you can see, there is a limitation on the
+ underlying native widget which is that all images in the TableTree must have the exact same height and width.
+ Consequently, when I leave enough room to merge the +/- image with the image you wish to show in the first column,
+ this causes all the other images in the TableTree to be stretched width wise.
+
+ &lt;picture&gt;
+
+ It is my opinion that the current TableTree can not be made to work any better than this. If this is not
+ adequate for your use, the only alternative is to write a custom widget that does this and does not
+ use the native widget. Writing a full custom widget is not trivial. It will probably require a month or
+ two and will probably not give all the capability that is present in native List or Tree widgets (just
+ because there are a lot of subtle things going on there and I won't have time to get them all). I need
+ to know if I should commence with a custom widget. Also, as I have other responsibilities, Mike and I will
+ have to discuss which of them will be set aside before I can do this work.
+
+VI (4/27/2001 8:42:19 AM)
+ Have received no feedback requesting a custom Tree or implementation of the solution presented above.
+ Moving to Inactive.</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548#c1" name=c1>#1</A> From
+<A href="mailto:veronika_irvine@ca.ibm.com">Veronika Irvine</A> 2002-05-27 16:17
+------- </I><PRE>java.lang.NullPointerException Closing this bug report. A new DCR should be raised from a better custom table
+tree.</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/2.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/2.html
new file mode 100644
index 000000000..6bae80545
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/2.html
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0051)https://bugs.eclipse.org/bugs/show_bug.cgi?id=76146 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 76146 - NPE using quickfix in Aspect opened with java editor</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="76146_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="76146_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="76146_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 76146</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>NPE using quickfix in Aspect opened with java
+ editor</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20041013045125 name=delta_ts> <INPUT type=hidden value=1
+name=longdesclength> <INPUT type=hidden value=76146 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76146">76146</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>hawkinsh@uk.ibm.com (Helen Hawkins) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT selected>AJDT</OPTION>
+ <OPTION value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION>
+ <OPTION value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION
+ value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION
+ value=Platform>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=AJDT">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Core>Core</OPTION> <OPTION
+ value=Doc>Doc</OPTION> <OPTION value=UI selected>UI</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.1.11>1.1.11</OPTION> <OPTION
+ value=1.1.12 selected>1.1.12</OPTION> <OPTION value=1.1.3>1.1.3</OPTION>
+ <OPTION value=1.1.4>1.1.4</OPTION> <OPTION value=1.1.7>1.1.7</OPTION>
+ <OPTION value=1.2.0>1.2.0</OPTION> <OPTION value="1.2.0 M1">1.2.0
+ M1</OPTION> <OPTION value=unspecified>unspecified</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>NEW</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3 selected>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD></TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>mchapman@uk.ibm.com (Matt Chapman)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value=---
+ selected>---</OPTION> <OPTION value=1.1.12>1.1.12</OPTION> <OPTION
+ value=1.1.13>1.1.13</OPTION> <OPTION value=1.1.3>1.1.3</OPTION> <OPTION
+ value=1.1.4>1.1.4</OPTION> <OPTION value=1.2.0>1.2.0</OPTION> <OPTION
+ value="1.2.0 M1">1.2.0 M1</OPTION> <OPTION value="1.2.0 M2">1.2.0
+ M2</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="NPE using quickfix in Aspect opened with java editor"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=76146&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=76146&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 76146 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=76146">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 76146 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE><BR><B>Additional
+Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>NEW&nbsp;</B> <BR><INPUT type=radio value=accept name=knob> Accept bug
+(change status to <B>ASSIGNED</B>) <BR><INPUT type=radio value=resolve
+name=knob> Resolve bug, changing <A
+href="https://bugs.eclipse.org/bugs/bug_status.html">resolution</A> to <SELECT
+onchange=document.changeform.knob[2].checked=true name=resolution> <OPTION
+ value=FIXED selected>FIXED</OPTION> <OPTION value=INVALID>INVALID</OPTION>
+ <OPTION value=WONTFIX>WONTFIX</OPTION> <OPTION value=LATER>LATER</OPTION>
+ <OPTION value=REMIND>REMIND</OPTION> <OPTION
+ value=WORKSFORME>WORKSFORME</OPTION></SELECT> <BR><INPUT type=radio
+value=duplicate name=knob> Resolve bug, mark it as duplicate of bug # <INPUT
+onchange="if (this.value != '')&#10; {document.changeform.knob[3].checked=true}"
+size=6 name=dup_id> <BR><INPUT type=radio value=reassign name=knob> <A
+href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Reassign</A>
+bug to <INPUT
+onchange="if ((this.value != 'mchapman@uk.ibm.com') &amp;&amp; &#10; (this.value != '')) {&#10; document.changeform.knob[4].checked=true; &#10; }"
+size=32 value=mchapman@uk.ibm.com name=assigned_to> <BR><INPUT type=radio
+value=reassignbycomponent name=knob> Reassign bug to owner of selected component
+<BR><INPUT type=submit value=Commit> <INPUT type=hidden value=process_bug
+name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=76146">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=76146">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76146#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2004-10-13 04:51 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>To recreate:
+
+- Check out the QuickFix project from ajdt.test project
+java.lang.NullPointerException- Open TestAspect.java in the Java Editor (right click &gt; open with &gt; Java
+Editor)
+- Click on the lightbulb with the error marker (the same line as File f = new
+File("tmp");
+java.lang.NullPointerException- An Internal Error appear in the Error log with the following stack trace:
+
+
+
+java.lang.NullPointerException
+at
+org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.getT
+ypeProposals(UnresolvedElementsSubProcessor.java:395)
+at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.process
+(QuickFixProcessor.java:270)
+at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.getCorrections
+(QuickFixProcessor.java:202)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.collectCorr
+ections(JavaCorrectionProcessor.java:240)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.processAnno
+tations(JavaCorrectionProcessor.java:208)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.computeComp
+letionProposals(JavaCorrectionProcessor.java:177)
+at
+org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposal
+s(ContentAssistant.java:1472)
+at
+org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals
+(CompletionProposalPopup.java:242)
+at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$7
+(CompletionProposalPopup.java:238)
+at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run
+(CompletionProposalPopup.java:197)
+at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
+at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals
+(CompletionProposalPopup.java:192)
+at
+org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions
+(ContentAssistant.java:1320)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionAssistant.showPossibl
+eCompletions(JavaCorrectionAssistant.java:159)
+at
+org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewe
+r.doOperation(CompilationUnitEditor.java:184)
+at org.eclipse.jdt.internal.ui.javaeditor.JavaSelectAnnotationRulerAction.run
+(JavaSelectAnnotationRulerAction.java:78)
+at org.eclipse.ui.texteditor.AbstractRulerActionDelegate.run
+(AbstractRulerActionDelegate.java:99)
+at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:276)
+at org.eclipse.ui.internal.PluginAction.run(PluginAction.java:238)
+at org.eclipse.ui.texteditor.AbstractTextEditor$11.triggerAction
+(AbstractTextEditor.java:2110)
+at org.eclipse.ui.texteditor.AbstractTextEditor$11.mouseUp
+(AbstractTextEditor.java:2117)
+at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:136)
+at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
+at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
+at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
+at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
+at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
+at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
+at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
+at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
+at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
+at org.eclipse.core.internal.runtime.PlatformActivator$1.run
+(PlatformActivator.java:335)
+at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
+at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
+at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+at sun.reflect.NativeMethodAccessorImpl.invoke
+(NativeMethodAccessorImpl.java:39)
+at sun.reflect.DelegatingMethodAccessorImpl.invoke
+(DelegatingMethodAccessorImpl.java:25)
+at java.lang.reflect.Method.invoke(Method.java:324)
+at org.eclipse.core.launcher.Main.basicRun(Main.java:183)
+at org.eclipse.core.launcher.Main.run(Main.java:644)
+at org.eclipse.core.launcher.Main.main(Main.java:628)
+
+
+Looking at the jdt code in UnresolvedElementsSubProcessor.java, at line 395,
+the parent field is null:
+
+ ASTNode parent= selectedNode.getParent();
+ while (parent.getLength() == selectedNode.getLength()) { // line 395
+ parent= parent.getParent();
+ }
+
+java.lang.NullPointerException There just needs to be a null check as there is above:
+
+
+ ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());
+ if (selectedNode == null) {
+ return;
+ }
+ int kind= SimilarElementsRequestor.ALL_TYPES;
+
+ ASTNode parent= selectedNode.getParent();
+ while (parent.getLength() == selectedNode.getLength()) {
+ parent= parent.getParent();
+ }
+
+should become:
+
+
+ ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());
+ if (selectedNode == null) {
+ return;
+ }
+ int kind= SimilarElementsRequestor.ALL_TYPES;
+
+ ASTNode parent= selectedNode.getParent();
+ if (parent == null) {
+ return;
+ }
+ while (parent.getLength() == selectedNode.getLength()) {
+ parent= parent.getParent();
+ }
+
+
+This needs to be raised as a jdt bug, since we don't pass through any ajdt
+code in order to get here.
+
+Raising this bug against ajdt is just for tracking.
+
+(note this happens on 1.1.12, but also on the latest AJDT dev build).</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/40152.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/40152.html
new file mode 100644
index 000000000..fb15d0fa8
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/40152.html
@@ -0,0 +1,1228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0051)https://bugs.eclipse.org/bugs/show_bug.cgi?id=40152 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 40152 - Junit tests fail on GTK</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=4862" rel=First><LINK href="show_bug.cgi?id=40059"
+rel=Prev><LINK href="show_bug.cgi?id=40723" rel=Next><LINK
+href="show_bug.cgi?id=79413" rel=Last><LINK href="buglist.cgi?regetlastlist=1"
+rel=Up><LINK href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="40152_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="40152_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="40152_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 40152</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>Junit tests fail on GTK</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug List:</B> (18 of
+183) <A href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79413">Last</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40059">Prev</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40723">Next</A>
+&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20040525174037 name=delta_ts> <INPUT type=hidden value=2
+name=longdesclength> <INPUT type=hidden value=40152 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40152">40152</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>christophe_cornu@ca.ibm.com (Christophe Cornu) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION
+ value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION
+ value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION
+ value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION
+ value=Platform selected>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION
+ value="Windows XP">Windows XP</OPTION> <OPTION
+ value="Windows All">Windows All</OPTION> <OPTION value="MacOS X">MacOS
+ X</OPTION> <OPTION value=Linux>Linux</OPTION> <OPTION value=Linux-GTK
+ selected>Linux-GTK</OPTION> <OPTION
+ value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Platform">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Ant>Ant</OPTION> <OPTION
+ value=Compare>Compare</OPTION> <OPTION value=CVS>CVS</OPTION> <OPTION
+ value=Debug>Debug</OPTION> <OPTION value=Doc>Doc</OPTION> <OPTION
+ value=Help>Help</OPTION> <OPTION value=Intro>Intro</OPTION> <OPTION
+ value=Releng>Releng</OPTION> <OPTION value=Resources>Resources</OPTION>
+ <OPTION value=Runtime>Runtime</OPTION> <OPTION
+ value=Scripting>Scripting</OPTION> <OPTION value=Search>Search</OPTION>
+ <OPTION value=SWT selected>SWT</OPTION> <OPTION value=Team>Team</OPTION>
+ <OPTION value=Text>Text</OPTION> <OPTION value=UI>UI</OPTION> <OPTION
+ value=Update>Update</OPTION> <OPTION value=WebDAV>WebDAV</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=2.0>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION> <OPTION
+ value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0 selected>3.0</OPTION>
+ <OPTION value=3.0.1>3.0.1</OPTION> <OPTION value=3.1>3.1</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>NEW</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3 selected>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD></TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION value=major
+ selected>major</OPTION> <OPTION value=normal>normal</OPTION> <OPTION
+ value=minor>minor</OPTION> <OPTION value=trivial>trivial</OPTION>
+ <OPTION value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>felipe_heidrich@ca.ibm.com (Felipe Heidrich)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0
+ M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION
+ value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION>
+ <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0
+ M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION
+ value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION>
+ <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION
+ value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION
+ value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION
+ value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION>
+ <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1
+ M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION
+ value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1
+ RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION
+ value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION>
+ <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0
+ M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION
+ value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION>
+ <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0
+ M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION
+ value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0
+ RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION
+ value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION
+ value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION
+ value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION>
+ <OPTION value="3.1 M4">3.1 M4</OPTION> <OPTION value="3.1 M5">3.1
+ M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION> <OPTION value=---
+ selected>---</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60 value="Junit tests fail on GTK"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=40152&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=40152&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 40152 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=40152">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 40152 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
+ <TD>0&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=40152">Show
+ votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=40152">Vote
+ for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>NEW&nbsp;</B> <BR><INPUT type=radio value=accept name=knob> Accept bug
+(change status to <B>ASSIGNED</B>) <BR><INPUT type=radio value=resolve
+name=knob> Resolve bug, changing <A
+href="https://bugs.eclipse.org/bugs/bug_status.html">resolution</A> to <SELECT
+onchange=document.changeform.knob[2].checked=true name=resolution> <OPTION
+ value=FIXED selected>FIXED</OPTION> <OPTION value=INVALID>INVALID</OPTION>
+ <OPTION value=WONTFIX>WONTFIX</OPTION> <OPTION value=LATER>LATER</OPTION>
+ <OPTION value=REMIND>REMIND</OPTION> <OPTION
+ value=WORKSFORME>WORKSFORME</OPTION></SELECT> <BR><INPUT type=radio
+value=duplicate name=knob> Resolve bug, mark it as duplicate of bug # <INPUT
+onchange="if (this.value != '')&#10; {document.changeform.knob[3].checked=true}"
+size=6 name=dup_id> <BR><INPUT type=radio value=reassign name=knob> <A
+href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Reassign</A>
+bug to <INPUT
+onchange="if ((this.value != 'felipe_heidrich@ca.ibm.com') &amp;&amp; &#10; (this.value != '')) {&#10; document.changeform.knob[4].checked=true; &#10; }"
+size=32 value=felipe_heidrich@ca.ibm.com name=assigned_to> <BR><INPUT type=radio
+value=reassignbycomponent name=knob> Reassign bug to owner of selected component
+<BR><INPUT type=submit value=Commit> <INPUT type=hidden value=process_bug
+name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=40152">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=40152">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40152#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2003-07-15 16:25 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>latest from head (20030715) generate about 30 errors/failures.
+
+.........................................
+.........................................
+.........................E................
+..........4
+5
+...............................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+...........F.....F...........F.E.E............
+.................F....F....................
+..........
+(&lt;unknown&gt;:6548): Gdk-CRITICAL **: file gdkdraw.c: line 238
+(gdk_drawable_get_display): assertion `GDK_IS_DRAWABLE (drawable)' failed
+
+(&lt;unknown&gt;:6548): Gdk-CRITICAL **: file gdkdisplay.c: line 498
+(gdk_display_get_window_at_pointer): assertion `GDK_IS_DISPLAY (display)'
+failed
+........
+(&lt;unknown&gt;:6548): Gdk-CRITICAL **: file gdkdraw.c: line 238
+(gdk_drawable_get_display): assertion `GDK_IS_DRAWABLE (drawable)' failed
+
+(&lt;unknown&gt;:6548): Gdk-CRITICAL **: file gdkdisplay.c: line 498
+(gdk_display_get_window_at_pointer): assertion `GDK_IS_DISPLAY (display)'
+failed
+.......................
+.........................................
+..............F...........................
+.........................................
+....................................F.....
+.........................................
+.........................................
+.........................................
+.......................................
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkwidget.c: line 5139
+(gtk_widget_set_size_request): assertion `width &gt;= -1' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkwidget.c: line 5139
+(gtk_widget_set_size_request): assertion `width &gt;= -1' failed
+..
+...................
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkwidget.c: line 5139
+(gtk_widget_set_size_request): assertion `width &gt;= -1' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkwidget.c: line 5139
+(gtk_widget_set_size_request): assertion `width &gt;= -1' failed
+......................
+.........................................
+..................................
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 9817
+(gtk_tree_view_get_path_at_pos): assertion `tree_view-&gt;priv-&gt;bin_window !=
+NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 9817
+(gtk_tree_view_get_path_at_pos): assertion `tree_view-&gt;priv-&gt;bin_window !=
+NULL' failed
+.......
+...
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkliststore.c: line 533
+(gtk_list_store_get_path): assertion `iter-&gt;stamp == GTK_LIST_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkliststore.c: line 533
+(gtk_list_store_get_path): assertion `iter-&gt;stamp == GTK_LIST_STORE
+(tree_model)-&gt;stamp' failed
+.........
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkliststore.c: line 533
+(gtk_list_store_get_path): assertion `iter-&gt;stamp == GTK_LIST_STORE
+(tree_model)-&gt;stamp' failed
+..
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 9817
+(gtk_tree_view_get_path_at_pos): assertion `tree_view-&gt;priv-&gt;bin_window !=
+NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 9817
+(gtk_tree_view_get_path_at_pos): assertion `tree_view-&gt;priv-&gt;bin_window !=
+NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 9817
+(gtk_tree_view_get_path_at_pos): assertion `tree_view-&gt;priv-&gt;bin_window !=
+NULL' failed
+F...........................
+.........................................
+........................................F.
+............F........F........F...F..........
+.........................................
+.........................................
+.....................F.F...................
+.........................................
+.........................................
+................................
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 9817
+(gtk_tree_view_get_path_at_pos): assertion `tree_view-&gt;priv-&gt;bin_window !=
+NULL' failed
+F.
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreestore.c: line 569
+(gtk_tree_store_get_path): assertion `iter-&gt;stamp == GTK_TREE_STORE
+(tree_model)-&gt;stamp' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 369
+(gtk_tree_path_get_depth): assertion `path != NULL' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreeview.c: line 8800
+(gtk_tree_view_scroll_to_cell): assertion `path != NULL || column != NULL'
+failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtktreemodel.c: line 400
+(gtk_tree_path_free): assertion `path != NULL' failed
+........
+.........................................
+.........................................
+...........................F..............
+.........................................
+.........................................
+.............
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkeditable.c: line 172
+(gtk_editable_delete_selection): assertion `GTK_IS_EDITABLE (editable)' failed
+
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkeditable.c: line 172
+(gtk_editable_delete_selection): assertion `GTK_IS_EDITABLE (editable)' failed
+F....F.......F.......F.E.......E..
+.........................................
+.........................................
+.............................
+(&lt;unknown&gt;:6548): Gtk-CRITICAL **: file gtkframe.c: line 362
+(gtk_frame_set_label_widget): assertion `label_widget == NULL || label_widget-
+&gt;parent == NULL' failed
+............
+.........................................
+.........................................
+................F.........................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.......................................F.F.
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+...........F.F.............................
+..F....F..E.E................................
+....F.F....................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.......
+Time: 111.199
+There were 7 errors:
+1) test_getFontData
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_graphics_Font)
+java.lang.NullPointerException
+ at org.eclipse.swt.graphics.Font.dispose(Font.java:143)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_graphics_Font.test_getFontData
+(Test_org_eclipse_swt_graphics_Font.java:239)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_graphics_Font.runTest
+(Test_org_eclipse_swt_graphics_Font.java:308)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+2) test_setText$Ljava_lang_String
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem)
+org.eclipse.swt.SWTError: Cannot get text
+ at org.eclipse.swt.SWT.error(SWT.java:2391)
+ at org.eclipse.swt.SWT.error(SWT.java:2295)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:375)
+ at org.eclipse.swt.widgets.TableItem.getText(TableItem.java:350)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.test_setText
+$Ljava_lang_String(Test_org_eclipse_swt_widgets_TableItem.java:359)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.runTest
+(Test_org_eclipse_swt_widgets_TableItem.java:518)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+3) test_setTextILjava_lang_String
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem)
+org.eclipse.swt.SWTError: Cannot get text
+ at org.eclipse.swt.SWT.error(SWT.java:2391)
+ at org.eclipse.swt.SWT.error(SWT.java:2295)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:375)
+ at org.eclipse.swt.widgets.TableItem.getText(TableItem.java:350)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.test_setText
+ILjava_lang_String(Test_org_eclipse_swt_widgets_TableItem.java:396)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.runTest
+(Test_org_eclipse_swt_widgets_TableItem.java:519)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+4) test_removeII
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo)
+java.lang.IllegalArgumentException: Index out of bounds
+ at org.eclipse.swt.SWT.error(SWT.java:2351)
+ at org.eclipse.swt.SWT.error(SWT.java:2295)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:375)
+ at org.eclipse.swt.widgets.Combo.remove(Combo.java:938)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.test_removeII
+(Test_org_eclipse_swt_widgets_Combo.java:397)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.runTest
+(Test_org_eclipse_swt_widgets_Combo.java:688)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+5) test_setItemILjava_lang_String
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo)
+java.lang.ArrayIndexOutOfBoundsException: 0
+ at org.eclipse.swt.widgets.Combo.setItem(Combo.java:1103)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.test_setItemILja
+va_lang_String(Test_org_eclipse_swt_widgets_Combo.java:503)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.runTest
+(Test_org_eclipse_swt_widgets_Combo.java:695)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+6) test_print
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+java.lang.NullPointerException
+ at org.eclipse.swt.custom.StyledText$Printing.&lt;init&gt;
+(StyledText.java:200)
+ at org.eclipse.swt.custom.StyledText.print(StyledText.java:5933)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_print
+(Test_org_eclipse_swt_custom_StyledText.java:1690)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4165)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+7) test_printLorg_eclipse_swt_printing_Printer
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+java.lang.NullPointerException
+ at org.eclipse.swt.custom.StyledText$Printing.&lt;init&gt;
+(StyledText.java:200)
+ at org.eclipse.swt.custom.StyledText.print(StyledText.java:5988)
+ at org.eclipse.swt.custom.StyledText.print(StyledText.java:5963)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_printLo
+rg_eclipse_swt_printing_Printer
+(Test_org_eclipse_swt_custom_StyledText.java:1710)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4166)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+There were 30 failures:
+1) test_getBoundsI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem)
+junit.framework.AssertionFailedError: :a:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.test_getBoun
+dsI(Test_org_eclipse_swt_widgets_TableItem.java:85)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.runTest
+(Test_org_eclipse_swt_widgets_TableItem.java:501)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+2) test_getImageBoundsI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem)
+junit.framework.AssertionFailedError: :e:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.test_getImag
+eBoundsI(Test_org_eclipse_swt_widgets_TableItem.java:177)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.runTest
+(Test_org_eclipse_swt_widgets_TableItem.java:506)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+3) test_setImageIndentI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem)
+junit.framework.AssertionFailedError: expected:&lt;1&gt; but was:&lt;0&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.test_setImag
+eIndentI(Test_org_eclipse_swt_widgets_TableItem.java:338)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableItem.runTest
+(Test_org_eclipse_swt_widgets_TableItem.java:517)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+4) test_getWidth
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableColumn)
+junit.framework.AssertionFailedError: :a: width=0 should be=10
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableColumn.test_getWi
+dth(Test_org_eclipse_swt_widgets_TableColumn.java:122)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableColumn.runTest
+(Test_org_eclipse_swt_widgets_TableColumn.java:264)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+5) test_setAlignmentI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableColumn)
+junit.framework.AssertionFailedError: :c: Should not be allowed to set
+alignment of the first column
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableColumn.test_setAl
+ignmentI(Test_org_eclipse_swt_widgets_TableColumn.java:177)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TableColumn.runTest
+(Test_org_eclipse_swt_widgets_TableColumn.java:268)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+6) test_setDefaultItemLorg_eclipse_swt_widgets_MenuItem
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Menu)
+junit.framework.AssertionFailedError: expected:&lt;null&gt; but was:&lt;MenuItem {}&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Menu.test_setDefaultIt
+emLorg_eclipse_swt_widgets_MenuItem(Test_org_eclipse_swt_widgets_Menu.java:272)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Menu.runTest
+(Test_org_eclipse_swt_widgets_Menu.java:387)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+7) test_getMonitor
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Shell)
+junit.framework.AssertionFailedError
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Control.test_getMonito
+r(Test_org_eclipse_swt_widgets_Control.java:287)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Control.runTest
+(Test_org_eclipse_swt_widgets_Control.java:819)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Scrollable.runTest
+(Test_org_eclipse_swt_widgets_Scrollable.java:72)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Composite.runTest
+(Test_org_eclipse_swt_widgets_Composite.java:159)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Canvas.runTest
+(Test_org_eclipse_swt_widgets_Canvas.java:115)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Decorations.runTest
+(Test_org_eclipse_swt_widgets_Decorations.java:250)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Shell.runTest
+(Test_org_eclipse_swt_widgets_Shell.java:428)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+8) test_setTopIndexI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_List)
+junit.framework.AssertionFailedError: expected:&lt;0&gt; but was:&lt;1&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_List.test_setTopIndexI
+(Test_org_eclipse_swt_widgets_List.java:2019)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_List.runTest
+(Test_org_eclipse_swt_widgets_List.java:2144)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+9) test_getDoubleClickEnabled
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text)
+junit.framework.AssertionFailedError: expected:&lt;false&gt; but was:&lt;true&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.test_getDoubleCli
+ckEnabled(Test_org_eclipse_swt_widgets_Text.java:316)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.runTest
+(Test_org_eclipse_swt_widgets_Text.java:953)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+10) test_getTopIndex
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text)
+junit.framework.AssertionFailedError: expected:&lt;1&gt; but was:&lt;0&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.test_getTopIndex
+(Test_org_eclipse_swt_widgets_Text.java:424)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.runTest
+(Test_org_eclipse_swt_widgets_Text.java:966)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+11) test_setDoubleClickEnabledZ
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text)
+junit.framework.AssertionFailedError: expected:&lt;false&gt; but was:&lt;true&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.test_setDoubleCli
+ckEnabledZ(Test_org_eclipse_swt_widgets_Text.java:599)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.runTest
+(Test_org_eclipse_swt_widgets_Text.java:974)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+12) test_setTabsI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text)
+junit.framework.AssertionFailedError: expected:&lt;8&gt; but was:&lt;0&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.test_setTabsI
+(Test_org_eclipse_swt_widgets_Text.java:759)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.runTest
+(Test_org_eclipse_swt_widgets_Text.java:982)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+13) test_setTopIndexI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text)
+junit.framework.AssertionFailedError: expected:&lt;1&gt; but was:&lt;0&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.test_setTopIndexI
+(Test_org_eclipse_swt_widgets_Text.java:820)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Text.runTest
+(Test_org_eclipse_swt_widgets_Text.java:985)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+14) test_setMaximumI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar)
+junit.framework.AssertionFailedError: expected:&lt;1&gt; but was:&lt;10&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.check
+(Test_org_eclipse_swt_widgets_ScrollBar.java:67)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.report
+(Test_org_eclipse_swt_widgets_ScrollBar.java:61)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.test_setMaxi
+mumI(Test_org_eclipse_swt_widgets_ScrollBar.java:757)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.runTest
+(Test_org_eclipse_swt_widgets_ScrollBar.java:892)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+15) test_setMinimumI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar)
+junit.framework.AssertionFailedError: expected:&lt;10&gt; but was:&lt;9&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.check
+(Test_org_eclipse_swt_widgets_ScrollBar.java:68)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.report
+(Test_org_eclipse_swt_widgets_ScrollBar.java:61)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.test_setMini
+mumI(Test_org_eclipse_swt_widgets_ScrollBar.java:773)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ScrollBar.runTest
+(Test_org_eclipse_swt_widgets_ScrollBar.java:893)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+16) test_setTopItemLorg_eclipse_swt_widgets_TreeItem
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Tree)
+junit.framework.AssertionFailedError: expected:&lt;TreeItem {}&gt; but was:&lt;null&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Tree.test_setTopItemLo
+rg_eclipse_swt_widgets_TreeItem(Test_org_eclipse_swt_widgets_Tree.java:424)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Tree.runTest
+(Test_org_eclipse_swt_widgets_Tree.java:538)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+17) test_setSelectionI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TabFolder)
+junit.framework.AssertionFailedError: expected:&lt;0&gt; but was:&lt;1&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TabFolder.test_setSele
+ctionI(Test_org_eclipse_swt_widgets_TabFolder.java:307)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_TabFolder.runTest
+(Test_org_eclipse_swt_widgets_TabFolder.java:405)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+18) test_clearSelection
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo)
+junit.framework.AssertionFailedError: :d:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.test_clearSelect
+ion(Test_org_eclipse_swt_widgets_Combo.java:130)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.runTest
+(Test_org_eclipse_swt_widgets_Combo.java:669)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+19) test_deselectI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo)
+junit.framework.AssertionFailedError: :b:0
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.test_deselectI
+(Test_org_eclipse_swt_widgets_Combo.java:155)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.runTest
+(Test_org_eclipse_swt_widgets_Combo.java:673)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+20) test_getSelectionIndex
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo)
+junit.framework.AssertionFailedError: expected:&lt;1&gt; but was:&lt;0&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.test_getSelectio
+nIndex(Test_org_eclipse_swt_widgets_Combo.java:219)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.runTest
+(Test_org_eclipse_swt_widgets_Combo.java:680)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+21) test_removeI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo)
+junit.framework.AssertionFailedError: index 0 expected:&lt;0&gt; but was:&lt;-1&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.test_removeI
+(Test_org_eclipse_swt_widgets_Combo.java:356)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Combo.runTest
+(Test_org_eclipse_swt_widgets_Combo.java:687)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+22) test_getRowCount
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ToolBar)
+junit.framework.AssertionFailedError: :a:1
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ToolBar.test_getRowCou
+nt(Test_org_eclipse_swt_widgets_ToolBar.java:132)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_ToolBar.runTest
+(Test_org_eclipse_swt_widgets_ToolBar.java:206)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+23) test_setMaximumI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider)
+junit.framework.AssertionFailedError: setMaximum(11): Thumb Expected: 1
+Actual: 10
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.check
+(Test_org_eclipse_swt_widgets_Slider.java:67)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.report
+(Test_org_eclipse_swt_widgets_Slider.java:60)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.test_setMaximum
+I(Test_org_eclipse_swt_widgets_Slider.java:743)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.runTest
+(Test_org_eclipse_swt_widgets_Slider.java:836)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+24) test_setMinimumI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider)
+junit.framework.AssertionFailedError: setMinimum(91): Thumb Expected: 9
+Actual: 10
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.check
+(Test_org_eclipse_swt_widgets_Slider.java:67)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.report
+(Test_org_eclipse_swt_widgets_Slider.java:60)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.test_setMinimum
+I(Test_org_eclipse_swt_widgets_Slider.java:755)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_widgets_Slider.runTest
+(Test_org_eclipse_swt_widgets_Slider.java:837)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+25) test_copy
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+junit.framework.AssertionFailedError: :a:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_copy
+(Test_org_eclipse_swt_custom_StyledText.java:559)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4127)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+26) test_cut
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+junit.framework.AssertionFailedError: :a:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_cut
+(Test_org_eclipse_swt_custom_StyledText.java:619)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4128)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+27) test_getTopIndex
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+junit.framework.AssertionFailedError: :d:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_getTopI
+ndex(Test_org_eclipse_swt_custom_StyledText.java:1388)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4159)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+28) test_invokeActionI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+junit.framework.ComparisonFailure: expected:&lt;...
+...&gt; but was:&lt;......&gt;
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_invokeA
+ctionI(Test_org_eclipse_swt_custom_StyledText.java:1593)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4163)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+29) test_setTopIndexI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+junit.framework.AssertionFailedError: :e:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_setTopI
+ndexI(Test_org_eclipse_swt_custom_StyledText.java:3943)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4202)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+30) test_setTopPixelI
+(org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText)
+junit.framework.AssertionFailedError: :f:
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.test_setTopP
+ixelI(Test_org_eclipse_swt_custom_StyledText.java:3972)
+ at
+org.eclipse.swt.tests.junit.Test_org_eclipse_swt_custom_StyledText.runTest
+(Test_org_eclipse_swt_custom_StyledText.java:4203)
+ at org.eclipse.swt.tests.junit.AllTests.main(AllTests.java:25)
+
+FAILURES!!!
+Tests run: 4148, Failures: 30, Errors: 7
+
+
+Calls to warnUnimpl: 958</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40152#c1" name=c1>#1</A>
+From <A href="mailto:felipe_heidrich@ca.ibm.com">Felipe Heidrich</A> 2003-07-28
+17:17 ------- </I><PRE>I was able to get rid of the GTK warnings, we still have 2 errors and 28
+Failures.
+</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> (18 of 183) <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79413">Last</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40059">Prev</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40723">Next</A>
+&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4548.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4548.html
new file mode 100644
index 000000000..b7047a40b
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4548.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0050)https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 4548 - DCR: TableTree should support icon in 1st column (1G06WFT)</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="4548_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="4548_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="4548_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 4548</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>DCR: TableTree should support icon in 1st
+ column (1G06WFT)</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug
+List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20020527161709 name=delta_ts> <INPUT type=hidden value=2
+name=longdesclength> <INPUT type=hidden value=4548 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548">4548</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All selected>All</OPTION>
+ <OPTION value=Macintosh>Macintosh</OPTION> <OPTION value=PC>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>erich_gamma@ch.ibm.com (Erich Gamma) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION
+ value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION
+ value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION
+ value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION
+ value=Platform selected>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All selected>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION
+ value="Windows XP">Windows XP</OPTION> <OPTION
+ value="Windows All">Windows All</OPTION> <OPTION value="MacOS X">MacOS
+ X</OPTION> <OPTION value=Linux>Linux</OPTION> <OPTION
+ value=Linux-GTK>Linux-GTK</OPTION> <OPTION
+ value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Platform">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Ant>Ant</OPTION> <OPTION
+ value=Compare>Compare</OPTION> <OPTION value=CVS>CVS</OPTION> <OPTION
+ value=Debug>Debug</OPTION> <OPTION value=Doc>Doc</OPTION> <OPTION
+ value=Help>Help</OPTION> <OPTION value=Intro>Intro</OPTION> <OPTION
+ value=Releng>Releng</OPTION> <OPTION value=Resources>Resources</OPTION>
+ <OPTION value=Runtime>Runtime</OPTION> <OPTION
+ value=Scripting>Scripting</OPTION> <OPTION value=Search>Search</OPTION>
+ <OPTION value=SWT selected>SWT</OPTION> <OPTION value=Team>Team</OPTION>
+ <OPTION value=Text>Text</OPTION> <OPTION value=UI>UI</OPTION> <OPTION
+ value=Update>Update</OPTION> <OPTION value=WebDAV>WebDAV</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=2.0 selected>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION>
+ <OPTION value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION>
+ <OPTION value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION>
+ <OPTION value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION>
+ <OPTION value=3.0.1>3.0.1</OPTION> <OPTION value=3.1>3.1</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>RESOLVED</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5 selected>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD>WONTFIX</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>veronika_irvine@ca.ibm.com (Veronika Irvine)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0
+ M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION
+ value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION>
+ <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0
+ M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION
+ value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION>
+ <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION
+ value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION
+ value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION
+ value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION>
+ <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1
+ M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION
+ value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1
+ RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION
+ value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION>
+ <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0
+ M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION
+ value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION>
+ <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0
+ M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION
+ value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0
+ RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION
+ value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION
+ value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION
+ value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION>
+ <OPTION value="3.1 M4">3.1 M4</OPTION> <OPTION value="3.1 M5">3.1
+ M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION> <OPTION value=---
+ selected>---</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="DCR: TableTree should support icon in 1st column (1G06WFT)"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4548&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4548&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 4548 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=4548">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 4548 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
+ <TD>0&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=4548">Show
+ votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=4548">Vote
+ for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>RESOLVED&nbsp;WONTFIX</B> <BR><INPUT type=radio value=reopen name=knob>
+Reopen bug <BR><INPUT type=radio value=verify name=knob> Mark bug as
+<B>VERIFIED</B><BR><INPUT type=radio value=close name=knob> Mark bug as
+<B>CLOSED</B><BR><INPUT type=submit value=Commit> <INPUT type=hidden
+value=process_bug name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=4548">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=4548">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2001-10-11 14:18 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>EG (8/24/00 3:41:25 PM)
+ TableTree doesn't support showing an icon in the first column. The icon is eaten up
+ by the +/- icon.
+ Not being able to have an icon in the first column reduces the applicability
+ of TableTree (we would like to use it in the Java plugin, but we can't).
+
+NOTES:
+
+VI (8/24/00 10:54:39 AM)
+ TableTree is implemented using the Windows table widget and this only allows
+ one image per column. Sorry, there's nothing we can do.
+
+AW (24.08.00 17:31:06)
+ Why not combining the +/- icon with the client's icon into a single icon?
+
+EG (8/29/00 3:35:01 PM)
+ JFace has support for compositing icons see:
+ com.ibm.jface.examples.compositeimage.CompositeImageExample
+
+CM (3/17/01 5:29:49 PM)
+ P1/M1 (April 1st, 2001)
+ Need to know the priority of 1GAJ9KP: SWT:ALL - TableTree class has no selection support for the SWT.CHECK style
+ because these two PRs may conflict.
+
+CM (3/28/01 5:09:33 PM)
+ We investigated using the Windows "state image" feature in Table, but this is already being used by
+ checkboxes if the Table is created with check style. It would also mean that we would have to provide
+ platform-specific public API on Table to allow TableTree class to set/get state images. So we decided
+ against this.
+
+ VI is going to investigate merging the [+]/[-] images with the user's image. We would try to write it
+ in such a way that only those who actually put an image in the first column would have to pay for
+ the added slowness. We suspect there may be issues such as background color/transparency
+ problems, hit test problems, selection highlight problems, and cheese problems, but we will have
+ to try it first before we know for sure.
+
+VI (4/4/2001 10:41:59 AM)
+ Two major issues which prevent us from merging the [+]/[-] with the user's image and using the normal first column image:
+ 1) Images of different sizes can be added to the control, however the size of the image displayed in the associated
+ Windows Common Control will be constrained to the size of the first image added to the ImageList.
+ Images for all columns are added to the same ImageList and therefore must have the exact same height and WIDTH.
+ This makes merging the +/- and the first column image have impact on every image in the TableTree
+ 2) There is a limit to how may images I can cram in the ImageList. Having potentially 3 per row I think will quickly exceed the limit.
+
+VI (4/4/2001 05:20 PM)
+
+ We have a PR that requests support for an image in the first column of a TableTree and I believe that you
+ are the prime requestor.
+
+ I have tried to make this work and below is the best I can do. As you can see, there is a limitation on the
+ underlying native widget which is that all images in the TableTree must have the exact same height and width.
+ Consequently, when I leave enough room to merge the +/- image with the image you wish to show in the first column,
+ this causes all the other images in the TableTree to be stretched width wise.
+
+ &lt;picture&gt;
+
+ It is my opinion that the current TableTree can not be made to work any better than this. If this is not
+ adequate for your use, the only alternative is to write a custom widget that does this and does not
+ use the native widget. Writing a full custom widget is not trivial. It will probably require a month or
+ two and will probably not give all the capability that is present in native List or Tree widgets (just
+ because there are a lot of subtle things going on there and I won't have time to get them all). I need
+ to know if I should commence with a custom widget. Also, as I have other responsibilities, Mike and I will
+ have to discuss which of them will be set aside before I can do this work.
+
+VI (4/27/2001 8:42:19 AM)
+ Have received no feedback requesting a custom Tree or implementation of the solution presented above.
+ Moving to Inactive.</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548#c1" name=c1>#1</A> From
+<A href="mailto:veronika_irvine@ca.ibm.com">Veronika Irvine</A> 2002-05-27 16:17
+------- </I><PRE>Closing this bug report. A new DCR should be raised from a better custom table
+tree.</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4862.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4862.html
new file mode 100644
index 000000000..813a29a15
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/4862.html
@@ -0,0 +1,401 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0050)https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 4862 - Check for isDisposed() in dispose after sending Dispose Calback (1GLC25X)</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="4862_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="4862_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="4862_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 4862</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>Check for isDisposed() in dispose after
+ sending Dispose Calback (1GLC25X)</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20040924100922 name=delta_ts> <INPUT type=hidden value=3
+name=longdesclength> <INPUT type=hidden value=4862 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862">4862</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All selected>All</OPTION>
+ <OPTION value=Macintosh>Macintosh</OPTION> <OPTION value=PC>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>veronika_irvine@ca.ibm.com (Veronika Irvine) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION
+ value=AspectJ>AspectJ</OPTION> <OPTION value=CDT>CDT</OPTION> <OPTION
+ value=CME>CME</OPTION> <OPTION value=Community>Community</OPTION>
+ <OPTION value=ECESIS>ECESIS</OPTION> <OPTION value=EMF>EMF</OPTION>
+ <OPTION value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION>
+ <OPTION value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION
+ value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION
+ value=Platform selected>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All selected>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION
+ value="Windows XP">Windows XP</OPTION> <OPTION
+ value="Windows All">Windows All</OPTION> <OPTION value="MacOS X">MacOS
+ X</OPTION> <OPTION value=Linux>Linux</OPTION> <OPTION
+ value=Linux-GTK>Linux-GTK</OPTION> <OPTION
+ value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Platform">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Ant>Ant</OPTION> <OPTION
+ value=Compare>Compare</OPTION> <OPTION value=CVS>CVS</OPTION> <OPTION
+ value=Debug>Debug</OPTION> <OPTION value=Doc>Doc</OPTION> <OPTION
+ value=Help>Help</OPTION> <OPTION value=Intro>Intro</OPTION> <OPTION
+ value=Releng>Releng</OPTION> <OPTION value=Resources>Resources</OPTION>
+ <OPTION value=Runtime>Runtime</OPTION> <OPTION
+ value=Scripting>Scripting</OPTION> <OPTION value=Search>Search</OPTION>
+ <OPTION value=SWT selected>SWT</OPTION> <OPTION value=Team>Team</OPTION>
+ <OPTION value=Text>Text</OPTION> <OPTION value=UI>UI</OPTION> <OPTION
+ value=Update>Update</OPTION> <OPTION value=WebDAV>WebDAV</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=2.0 selected>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION>
+ <OPTION value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION>
+ <OPTION value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION>
+ <OPTION value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION>
+ <OPTION value=3.0.1>3.0.1</OPTION> <OPTION value=3.1>3.1</OPTION></SELECT>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><SELECT multiple size=5 name=cc> <OPTION
+ value=steve_northover@ca.ibm.com>steve_northover@ca.ibm.com</OPTION></SELECT>
+ <BR><INPUT type=checkbox name=removecc>Remove selected CCs <BR></TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>NEW</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3 selected>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD></TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>Silenio_Quarti@ca.ibm.com (Silenio Quarti)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0
+ M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION
+ value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION>
+ <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0
+ M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION
+ value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION>
+ <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION
+ value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION
+ value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION
+ value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION>
+ <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1
+ M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION
+ value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1
+ RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION
+ value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION>
+ <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0
+ M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION
+ value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION>
+ <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0
+ M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION
+ value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0
+ RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION
+ value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION
+ value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION
+ value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION>
+ <OPTION value="3.1 M4">3.1 M4</OPTION> <OPTION value="3.1 M5">3.1
+ M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION> <OPTION value=---
+ selected>---</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="Check for isDisposed() in dispose after sending Dispose Calback (1GLC25X)"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4862&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4862&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 4862 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=4862">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 4862 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
+ <TD>0&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=4862">Show
+ votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=4862">Vote
+ for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>NEW&nbsp;</B> <BR><INPUT type=radio value=accept name=knob> Accept bug
+(change status to <B>ASSIGNED</B>) <BR><INPUT type=radio value=resolve
+name=knob> Resolve bug, changing <A
+href="https://bugs.eclipse.org/bugs/bug_status.html">resolution</A> to <SELECT
+onchange=document.changeform.knob[2].checked=true name=resolution> <OPTION
+ value=FIXED selected>FIXED</OPTION> <OPTION value=INVALID>INVALID</OPTION>
+ <OPTION value=WONTFIX>WONTFIX</OPTION> <OPTION value=LATER>LATER</OPTION>
+ <OPTION value=REMIND>REMIND</OPTION> <OPTION
+ value=WORKSFORME>WORKSFORME</OPTION></SELECT> <BR><INPUT type=radio
+value=duplicate name=knob> Resolve bug, mark it as duplicate of bug # <INPUT
+onchange="if (this.value != '')&#10; {document.changeform.knob[3].checked=true}"
+size=6 name=dup_id> <BR><INPUT type=radio value=reassign name=knob> <A
+href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Reassign</A>
+bug to <INPUT
+onchange="if ((this.value != 'Silenio_Quarti@ca.ibm.com') &amp;&amp; &#10; (this.value != '')) {&#10; document.changeform.knob[4].checked=true; &#10; }"
+size=32 value=Silenio_Quarti@ca.ibm.com name=assigned_to> <BR><INPUT type=radio
+value=reassignbycomponent name=knob> Reassign bug to owner of selected component
+<BR><INPUT type=submit value=Commit> <INPUT type=hidden value=process_bug
+name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=4862">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=4862">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2001-10-11 14:24 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>Run the following example, click on the button and you get the SWT Exception wdiget is disposed.
+See Stack trace below.
+In the dispose method of a widget, we need to check that the widget has not been disposed in the Dispose callback.
+
+public static void main(String args[]){
+ Display display = new Display ();
+ Shell shell = new Shell();
+ shell.setLayout(new org.eclipse.swt.layout.GridLayout());
+ shell.setBounds(100,30, 800,600);
+ shell.open();
+
+ final Composite panel = new Composite(shell, SWT.BORDER);
+ panel.setBounds(20,430,100,100);
+
+ final Button button = new Button(panel, 0);
+ button.setText("dispose button");
+ button.setBounds(7,7,80,70);
+ final SelectionAdapter[] selectionListener = new SelectionAdapter[1];
+ selectionListener[0] = new SelectionAdapter(){
+ public void widgetSelected (org.eclipse.swt.events.SelectionEvent e){
+ button.dispose();
+ }
+ };
+ button.addSelectionListener(selectionListener[0]);
+
+ final DisposeListener[] disposeListener = new DisposeListener[1];
+ disposeListener[0] = new DisposeListener(){
+ public void widgetDisposed(org.eclipse.swt.events.DisposeEvent e){
+ button.removeDisposeListener(disposeListener[0]);
+ panel.dispose();
+ }
+ };
+ button.addDisposeListener(disposeListener[0]);
+
+ while (!shell.isDisposed ()) {
+ if (!display.readAndDispatch ()) display.sleep ();
+ }
+}
+
+
+org.eclipse.swt.SWTException: Widget is disposed
+ at org.eclipse.swt.SWT.error(SWT.java:1818)
+ at org.eclipse.swt.SWT.error(SWT.java:1750)
+ at org.eclipse.swt.widgets.Widget.error(Widget.java:379)
+ at org.eclipse.swt.widgets.Control.getDisplay(Control.java:597)
+ at org.eclipse.swt.widgets.Control.unsubclass(Control.java:2365)
+ at org.eclipse.swt.widgets.Control.releaseWidget(Control.java:1247)
+ at org.eclipse.swt.widgets.Button.releaseWidget(Button.java:344)
+ at org.eclipse.swt.widgets.Widget.dispose(Widget.java:366)
+ at veronika._Scrapbook$1.widgetSelected(_Scrapbook.java:43)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:85)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:54)
+ at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:645)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1359)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1160)
+ at veronika._Scrapbook.main(_Scrapbook.java:58)
+Exception in thread "main"
+
+NOTES:</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862#c1" name=c1>#1</A> From
+<A href="mailto:dj_houghton@ca.ibm.com">DJ Houghton</A> 2001-10-29 16:44 -------
+</I><PRE>PRODUCT VERSION:
+2.0 007
+
+</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4862#c2" name=c2>#2</A> From
+<A href="mailto:veronika_irvine@ca.ibm.com">Veronika Irvine</A> 2004-09-24 10:09
+------- </I><PRE>In 3.1, I get a different error now on Windows:
+
+java.lang.NullPointerException
+ at org.eclipse.swt.widgets.Control.deregister(Control.java:498)
+ at org.eclipse.swt.widgets.Control.releaseWidget(Control.java:1496)
+ at org.eclipse.swt.widgets.Button.releaseWidget(Button.java:364)
+ at org.eclipse.swt.widgets.Widget.dispose(Widget.java:368)
+ at veronika.Newsgroup$1.widgetSelected(Newsgroup.java:25)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent
+(TypedListener.java:89)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2783)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2442)
+ at veronika.Newsgroup.main(Newsgroup.java:40)
+</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/67395.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/67395.html
new file mode 100644
index 000000000..ec9911002
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/67395.html
@@ -0,0 +1,390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0051)https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 67395 - NullPointerException @ org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.containsALocalType</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="67395_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="67395_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="67395_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 67395</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>NullPointerException @
+ org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.containsALocalType</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug
+List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20041108112414 name=delta_ts> <INPUT type=hidden value=10
+name=longdesclength> <INPUT type=hidden value=67395 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395">67395</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>Leo.Kuznetsov@windriver.com (Leo Kuznetsov) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION
+ value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION
+ value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT selected>JDT</OPTION>
+ <OPTION value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION>
+ <OPTION value=Platform>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=JDT">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Core>Core</OPTION> <OPTION
+ value=Debug selected>Debug</OPTION> <OPTION value=Doc>Doc</OPTION>
+ <OPTION value=Text>Text</OPTION> <OPTION value=UI>UI</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=2.0>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION> <OPTION
+ value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=3.0 selected>3.0</OPTION> <OPTION value=3.0.1>3.0.1</OPTION>
+ <OPTION value=3.1>3.1</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><SELECT multiple size=5 name=cc> <OPTION
+ value=christof_marti@ch.ibm.com>christof_marti@ch.ibm.com</OPTION>
+ <OPTION value=Darin_Wright@ca.ibm.com>Darin_Wright@ca.ibm.com</OPTION>
+ <OPTION
+ value=Michael.Scharf@windriver.com>Michael.Scharf@windriver.com</OPTION></SELECT>
+ <BR><INPUT type=checkbox name=removecc>Remove selected CCs <BR></TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>ASSIGNED</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3 selected>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD></TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>luc_bourlier@us.ibm.com (Luc Bourlier)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0
+ M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION
+ value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION>
+ <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0
+ M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION
+ value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION>
+ <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION
+ value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION
+ value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION
+ value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION>
+ <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1
+ M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION
+ value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1
+ RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION
+ value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION>
+ <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0
+ M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION
+ value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION>
+ <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0
+ M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION
+ value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0
+ RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION
+ value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION
+ value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION
+ value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION>
+ <OPTION value="3.1 M4" selected>3.1 M4</OPTION> <OPTION
+ value="3.1 M5">3.1 M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION>
+ <OPTION value=--->---</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="NullPointerException @ org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.containsALocalType"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=67395&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=67395&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 67395 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=67395">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 67395 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
+ <TD>0&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=67395">Show
+ votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=67395">Vote
+ for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>ASSIGNED&nbsp;</B> <BR><INPUT type=radio value=resolve name=knob> Resolve
+bug, changing <A
+href="https://bugs.eclipse.org/bugs/bug_status.html">resolution</A> to <SELECT
+onchange=document.changeform.knob[1].checked=true name=resolution> <OPTION
+ value=FIXED selected>FIXED</OPTION> <OPTION value=INVALID>INVALID</OPTION>
+ <OPTION value=WONTFIX>WONTFIX</OPTION> <OPTION value=LATER>LATER</OPTION>
+ <OPTION value=REMIND>REMIND</OPTION> <OPTION
+ value=WORKSFORME>WORKSFORME</OPTION></SELECT> <BR><INPUT type=radio
+value=duplicate name=knob> Resolve bug, mark it as duplicate of bug # <INPUT
+onchange="if (this.value != '')&#10; {document.changeform.knob[2].checked=true}"
+size=6 name=dup_id> <BR><INPUT type=radio value=reassign name=knob> <A
+href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Reassign</A>
+bug to <INPUT
+onchange="if ((this.value != 'luc_bourlier@us.ibm.com') &amp;&amp; &#10; (this.value != '')) {&#10; document.changeform.knob[3].checked=true; &#10; }"
+size=32 value=luc_bourlier@us.ibm.com name=assigned_to> <BR><INPUT type=radio
+value=reassignbycomponent name=knob> Reassign bug to owner of selected component
+<BR><INPUT type=submit value=Commit> <INPUT type=hidden value=process_bug
+name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=67395">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=67395">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2004-06-15 18:14 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>java.lang.NullPointerException
+at
+org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.containsA
+LocalType(ASTInstructionCompiler.java:331)
+at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.visit
+(ASTInstructionCompiler.java:2075)
+at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234)
+at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2456)
+at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2503)
+at org.eclipse.jdt.core.dom.ReturnStatement.accept0(ReturnStatement.java:133)
+at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2456)
+at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2526)
+at org.eclipse.jdt.core.dom.Block.accept0(Block.java:133)
+at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2456)
+at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2503)
+at org.eclipse.jdt.core.dom.MethodDeclaration.accept0
+(MethodDeclaration.java:499)
+at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2456)
+at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2526)
+at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:474)
+at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2456)
+at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2526)
+at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:290)
+at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2456)
+at
+org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.createExpres
+sionFromAST(ASTEvaluationEngine.java:251)
+at
+org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.getCompiledE
+xpression(ASTEvaluationEngine.java:156)
+at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.evaluate
+(ASTEvaluationEngine.java:73)
+at
+org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate$EvaluationRunnabl
+e.run(JavaWatchExpressionDelegate.java:144)
+at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run
+(JDIThread.java:2510)
+at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)</PRE><BR><I>-------
+Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c1" name=c1>#1</A>
+From <A href="mailto:john_arthorne@ca.ibm.com">John Arthorne</A> 2004-06-15
+18:17 ------- </I><PRE>Please include the Eclipse build number in the bug report. Also, it looks like
+you are evaluating a watch expression. Please include/describe the expression,
+and say if it is reproducible.</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c2" name=c2>#2</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-06-16 13:38
+------- </I><PRE>Do you have the expression that caused this problem?</PRE><BR><I>-------
+Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c3" name=c3>#3</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-06-17 12:26
+------- </I><PRE>*** <STRIKE><A title="RESOLVED DUPLICATE - NPE while evaluating watch expression" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67664">Bug 67664</A></STRIKE> has been marked as a duplicate of this bug. ***</PRE><BR><I>-------
+Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c4" name=c4>#4</A>
+From <A href="mailto:Leo.Kuznetsov@windriver.com">Leo Kuznetsov</A> 2004-06-17
+15:53 ------- </I><PRE>This was a function call:
+
+Sequent.getCurrent().toDebugString()
+
+where toDebugString() returns String</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c5" name=c5>#5</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-06-23 09:24
+------- </I><PRE>Deferred</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c6" name=c6>#6</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-08-03 14:57
+------- </I><PRE>*** <STRIKE><A title="RESOLVED DUPLICATE - NPE from watch expression evaluation" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70615">Bug 70615</A></STRIKE> has been marked as a duplicate of this bug. ***</PRE><BR><I>-------
+Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c7" name=c7>#7</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-08-03 14:57
+------- </I><PRE>open for 3.1</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c8" name=c8>#8</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-08-03 14:58
+------- </I><PRE>Luc, please advise if this should be fixed in 3.0.1</PRE><BR><I>-------
+Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67395#c9" name=c9>#9</A>
+From <A href="mailto:Darin_Wright@ca.ibm.com">Darin Wright</A> 2004-08-12 09:26
+------- </I><PRE>*** <STRIKE><A title="RESOLVED DUPLICATE - NPE in ASTInstructionCompiler.containsALocalType" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71851">Bug 71851</A></STRIKE> has been marked as a duplicate of this bug. ***</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76146.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76146.html
new file mode 100644
index 000000000..f806fe8aa
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76146.html
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0051)https://bugs.eclipse.org/bugs/show_bug.cgi?id=76146 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 76146 - NPE using quickfix in Aspect opened with java editor</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="76146_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="76146_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="76146_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 76146</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>NPE using quickfix in Aspect opened with java
+ editor</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20041013045125 name=delta_ts> <INPUT type=hidden value=1
+name=longdesclength> <INPUT type=hidden value=76146 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76146">76146</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>hawkinsh@uk.ibm.com (Helen Hawkins) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT selected>AJDT</OPTION>
+ <OPTION value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION>
+ <OPTION value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION
+ value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION
+ value=Platform>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=AJDT">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Core>Core</OPTION> <OPTION
+ value=Doc>Doc</OPTION> <OPTION value=UI selected>UI</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.1.11>1.1.11</OPTION> <OPTION
+ value=1.1.12 selected>1.1.12</OPTION> <OPTION value=1.1.3>1.1.3</OPTION>
+ <OPTION value=1.1.4>1.1.4</OPTION> <OPTION value=1.1.7>1.1.7</OPTION>
+ <OPTION value=1.2.0>1.2.0</OPTION> <OPTION value="1.2.0 M1">1.2.0
+ M1</OPTION> <OPTION value=unspecified>unspecified</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>NEW</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3 selected>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD></TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>mchapman@uk.ibm.com (Matt Chapman)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value=---
+ selected>---</OPTION> <OPTION value=1.1.12>1.1.12</OPTION> <OPTION
+ value=1.1.13>1.1.13</OPTION> <OPTION value=1.1.3>1.1.3</OPTION> <OPTION
+ value=1.1.4>1.1.4</OPTION> <OPTION value=1.2.0>1.2.0</OPTION> <OPTION
+ value="1.2.0 M1">1.2.0 M1</OPTION> <OPTION value="1.2.0 M2">1.2.0
+ M2</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="NPE using quickfix in Aspect opened with java editor"
+ name=short_desc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=76146&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=76146&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 76146 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=76146">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 76146 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE><BR><B>Additional
+Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>NEW&nbsp;</B> <BR><INPUT type=radio value=accept name=knob> Accept bug
+(change status to <B>ASSIGNED</B>) <BR><INPUT type=radio value=resolve
+name=knob> Resolve bug, changing <A
+href="https://bugs.eclipse.org/bugs/bug_status.html">resolution</A> to <SELECT
+onchange=document.changeform.knob[2].checked=true name=resolution> <OPTION
+ value=FIXED selected>FIXED</OPTION> <OPTION value=INVALID>INVALID</OPTION>
+ <OPTION value=WONTFIX>WONTFIX</OPTION> <OPTION value=LATER>LATER</OPTION>
+ <OPTION value=REMIND>REMIND</OPTION> <OPTION
+ value=WORKSFORME>WORKSFORME</OPTION></SELECT> <BR><INPUT type=radio
+value=duplicate name=knob> Resolve bug, mark it as duplicate of bug # <INPUT
+onchange="if (this.value != '')&#10; {document.changeform.knob[3].checked=true}"
+size=6 name=dup_id> <BR><INPUT type=radio value=reassign name=knob> <A
+href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Reassign</A>
+bug to <INPUT
+onchange="if ((this.value != 'mchapman@uk.ibm.com') &amp;&amp; &#10; (this.value != '')) {&#10; document.changeform.knob[4].checked=true; &#10; }"
+size=32 value=mchapman@uk.ibm.com name=assigned_to> <BR><INPUT type=radio
+value=reassignbycomponent name=knob> Reassign bug to owner of selected component
+<BR><INPUT type=submit value=Commit> <INPUT type=hidden value=process_bug
+name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=76146">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=76146">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76146#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2004-10-13 04:51 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>To recreate:
+
+- Check out the QuickFix project from ajdt.test project
+- Open TestAspect.java in the Java Editor (right click &gt; open with &gt; Java
+Editor)
+- Click on the lightbulb with the error marker (the same line as File f = new
+File("tmp");
+- An Internal Error appear in the Error log with the following stack trace:
+
+
+
+java.lang.NullPointerException
+at
+org.eclipse.jdt.internal.ui.text.correction.UnresolvedElementsSubProcessor.getT
+ypeProposals(UnresolvedElementsSubProcessor.java:395)
+at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.process
+(QuickFixProcessor.java:270)
+at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.getCorrections
+(QuickFixProcessor.java:202)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.collectCorr
+ections(JavaCorrectionProcessor.java:240)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.processAnno
+tations(JavaCorrectionProcessor.java:208)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.computeComp
+letionProposals(JavaCorrectionProcessor.java:177)
+at
+org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposal
+s(ContentAssistant.java:1472)
+at
+org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals
+(CompletionProposalPopup.java:242)
+at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$7
+(CompletionProposalPopup.java:238)
+at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run
+(CompletionProposalPopup.java:197)
+at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
+at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals
+(CompletionProposalPopup.java:192)
+at
+org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions
+(ContentAssistant.java:1320)
+at
+org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionAssistant.showPossibl
+eCompletions(JavaCorrectionAssistant.java:159)
+at
+org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewe
+r.doOperation(CompilationUnitEditor.java:184)
+at org.eclipse.jdt.internal.ui.javaeditor.JavaSelectAnnotationRulerAction.run
+(JavaSelectAnnotationRulerAction.java:78)
+at org.eclipse.ui.texteditor.AbstractRulerActionDelegate.run
+(AbstractRulerActionDelegate.java:99)
+at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:276)
+at org.eclipse.ui.internal.PluginAction.run(PluginAction.java:238)
+at org.eclipse.ui.texteditor.AbstractTextEditor$11.triggerAction
+(AbstractTextEditor.java:2110)
+at org.eclipse.ui.texteditor.AbstractTextEditor$11.mouseUp
+(AbstractTextEditor.java:2117)
+at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:136)
+at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
+at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
+at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
+at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
+at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
+at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
+at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
+at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
+at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
+at org.eclipse.core.internal.runtime.PlatformActivator$1.run
+(PlatformActivator.java:335)
+at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
+at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
+at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+at sun.reflect.NativeMethodAccessorImpl.invoke
+(NativeMethodAccessorImpl.java:39)
+at sun.reflect.DelegatingMethodAccessorImpl.invoke
+(DelegatingMethodAccessorImpl.java:25)
+at java.lang.reflect.Method.invoke(Method.java:324)
+at org.eclipse.core.launcher.Main.basicRun(Main.java:183)
+at org.eclipse.core.launcher.Main.run(Main.java:644)
+at org.eclipse.core.launcher.Main.main(Main.java:628)
+
+
+Looking at the jdt code in UnresolvedElementsSubProcessor.java, at line 395,
+the parent field is null:
+
+ ASTNode parent= selectedNode.getParent();
+ while (parent.getLength() == selectedNode.getLength()) { // line 395
+ parent= parent.getParent();
+ }
+
+There just needs to be a null check as there is above:
+
+
+ ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());
+ if (selectedNode == null) {
+ return;
+ }
+ int kind= SimilarElementsRequestor.ALL_TYPES;
+
+ ASTNode parent= selectedNode.getParent();
+ while (parent.getLength() == selectedNode.getLength()) {
+ parent= parent.getParent();
+ }
+
+should become:
+
+
+ ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());
+ if (selectedNode == null) {
+ return;
+ }
+ int kind= SimilarElementsRequestor.ALL_TYPES;
+
+ ASTNode parent= selectedNode.getParent();
+ if (parent == null) {
+ return;
+ }
+ while (parent.getLength() == selectedNode.getLength()) {
+ parent= parent.getParent();
+ }
+
+
+This needs to be raised as a jdt bug, since we don't pass through any ajdt
+code in order to get here.
+
+Raising this bug against ajdt is just for tracking.
+
+(note this happens on 1.1.12, but also on the latest AJDT dev build).</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76388.html b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76388.html
new file mode 100644
index 000000000..1e2c41aa0
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/reports-stacktrace/76388.html
@@ -0,0 +1,426 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- saved from url=(0051)https://bugs.eclipse.org/bugs/show_bug.cgi?id=76388 -->
+<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 76388 - Assertion failed during pull up refactoring</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK
+href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101"
+rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK
+href="buglist.cgi?regetlastlist=1" rel=Contents>
+<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
+<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff
+onload=""><!-- 1.0@bugzilla.org -->
+<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD width="100%">
+ <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
+ border=0><TBODY>
+ <TR>
+ <TD width=116 bgColor=#000000><IMG height=50
+ src="76388_files/EclipseBannerPic.jpg" width=115></TD>
+ <TD width=637><A href="http://www.eclipse.org/"><IMG height=50
+ src="76388_files/gradient.jpg" width=282 border=0></A></TD>
+ <TD width=250><IMG height=48 src="76388_files/eproject-simple.gif"
+ width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
+<TABLE cellSpacing=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top align=left>
+ <TABLE cellSpacing=2 cellPadding=0 border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug
+ 76388</B></FONT> </TD></TR></TBODY></TABLE></TD>
+ <TD vAlign=center>&nbsp;</TD>
+ <TD vAlign=center align=left>Assertion failed during pull up
+ refactoring</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug List:</B>
+<A href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A>
+<HR>
+
+<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden
+value=20041019085725 name=delta_ts> <INPUT type=hidden value=3
+name=longdesclength> <INPUT type=hidden value=76388 name=id>
+<TABLE cellSpacing=1 cellPadding=1 border=0>
+ <TBODY>
+ <TR>
+ <TD align=right><B>Bug#:</B> </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76388">76388</A> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Platform:</B> </TD>
+ <TD><SELECT name=rep_platform> <OPTION value=All>All</OPTION> <OPTION
+ value=Macintosh>Macintosh</OPTION> <OPTION value=PC selected>PC</OPTION>
+ <OPTION value="Power PC">Power PC</OPTION> <OPTION
+ value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Reporter:</B> </TD>
+ <TD>silvio_boehler@ca.ibm.com (Silvio Böhler) </TD></TR>
+ <TR>
+ <TD align=right><B>Product:</B> </TD>
+ <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION
+ value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION
+ value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION
+ value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
+ <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION
+ value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
+ value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION
+ value=Hyades>Hyades</OPTION> <OPTION value=JDT selected>JDT</OPTION>
+ <OPTION value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION>
+ <OPTION value=Platform>Platform</OPTION> <OPTION
+ value=Pollinate>Pollinate</OPTION> <OPTION
+ value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION>
+ <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web
+ Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION
+ value=XSD>XSD</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>OS:</B> </TD>
+ <TD><SELECT name=op_sys> <OPTION value=All>All</OPTION> <OPTION
+ value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows
+ 95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION
+ value="Windows CE">Windows CE</OPTION> <OPTION
+ value="Windows ME">Windows ME</OPTION> <OPTION
+ value="Windows 2000">Windows 2000</OPTION> <OPTION
+ value="Windows NT">Windows NT</OPTION> <OPTION value="Windows XP"
+ selected>Windows XP</OPTION> <OPTION value="Windows All">Windows
+ All</OPTION> <OPTION value="MacOS X">MacOS X</OPTION> <OPTION
+ value=Linux>Linux</OPTION> <OPTION value=Linux-GTK>Linux-GTK</OPTION>
+ <OPTION value=Linux-Motif>Linux-Motif</OPTION> <OPTION
+ value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION>
+ <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION
+ value=Solaris>Solaris</OPTION> <OPTION
+ value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION
+ value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix
+ All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Add&nbsp;CC:</B> </TD>
+ <TD><INPUT size=30 name=newcc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=JDT">Component</A>:
+ </B></TD>
+ <TD><SELECT name=component> <OPTION value=Core>Core</OPTION> <OPTION
+ value=Debug>Debug</OPTION> <OPTION value=Doc>Doc</OPTION> <OPTION
+ value=Text>Text</OPTION> <OPTION value=UI selected>UI</OPTION></SELECT>
+</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B>Version:</B> </TD>
+ <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION
+ value=2.0>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION> <OPTION
+ value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=3.0 selected>3.0</OPTION> <OPTION value=3.0.1>3.0.1</OPTION>
+ <OPTION value=3.1>3.1</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
+ <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
+ <TD>NEW</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B>
+ </TD>
+ <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION
+ value=P2>P2</OPTION> <OPTION value=P3 selected>P3</OPTION> <OPTION
+ value=P4>P4</OPTION> <OPTION value=P5>P5</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>:
+ </B></TD>
+ <TD></TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B>
+ </TD>
+ <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION>
+ <OPTION value=critical>critical</OPTION> <OPTION
+ value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION>
+ <OPTION value=minor>minor</OPTION> <OPTION
+ value=trivial>trivial</OPTION> <OPTION
+ value=enhancement>enhancement</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>:
+ </B></TD>
+ <TD>dirk_baeumer@ch.ibm.com (Dirk Baeumer)</TD>
+ <TD>&nbsp;</TD>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target
+ Milestone</A>: </B></TD>
+ <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0
+ M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION
+ value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION>
+ <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0
+ M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION
+ value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION>
+ <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION
+ value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION
+ value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION
+ value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION>
+ <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1
+ M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION
+ value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1
+ RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION
+ value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION
+ value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION
+ value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION>
+ <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0
+ M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION
+ value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION>
+ <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0
+ M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION
+ value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0
+ RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION
+ value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION
+ value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION
+ value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION>
+ <OPTION value="3.1 M4">3.1 M4</OPTION> <OPTION value="3.1 M5">3.1
+ M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION> <OPTION value=---
+ selected>---</OPTION></SELECT> </TD>
+ <TD>&nbsp;</TD></TR>
+ <TR>
+ <TD align=right><B>URL: </B></TD>
+ <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
+ <TR>
+ <TD align=right><B>Summary:</B> </TD>
+ <TD colSpan=7><INPUT size=60
+ value="Assertion failed during pull up refactoring" name=short_desc>
+</TD></TR>
+ <TR>
+ <TD align=right><B><A
+ href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>:
+ </B>
+ <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
+<TABLE cellSpacing=0 cellPadding=4 border=1>
+ <TBODY>
+ <TR>
+ <TH align=left bgColor=#cccccc>Attachment</TH>
+ <TH align=left bgColor=#cccccc>Type</TH>
+ <TH align=left bgColor=#cccccc>Modified</TH>
+ <TH align=left bgColor=#cccccc>Status</TH>
+ <TH align=left bgColor=#cccccc>Actions</TH></TR>
+ <TR>
+ <TD colSpan=4><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=76388&amp;action=enter">Create
+ a New Attachment</A> (proposed patch, testcase, etc.) </TD>
+ <TD><A
+ href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=76388&amp;action=viewall">View
+ All</A> </TD></TR></TBODY></TABLE><BR>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH align=right>Bug 76388 depends on:</TH>
+ <TD></TD>
+ <TD><INPUT name=dependson> </TD>
+ <TD rowSpan=2><A
+ href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=76388">Show
+ dependency tree</A> </TD></TR>
+ <TR>
+ <TH align=right>Bug 76388 blocks:</TH>
+ <TD></TD>
+ <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
+ <TD>0&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=76388">Show
+ votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
+ href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=76388">Vote
+ for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA>
+<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as
+<B>NEW&nbsp;</B> <BR><INPUT type=radio value=accept name=knob> Accept bug
+(change status to <B>ASSIGNED</B>) <BR><INPUT type=radio value=resolve
+name=knob> Resolve bug, changing <A
+href="https://bugs.eclipse.org/bugs/bug_status.html">resolution</A> to <SELECT
+onchange=document.changeform.knob[2].checked=true name=resolution> <OPTION
+ value=FIXED selected>FIXED</OPTION> <OPTION value=INVALID>INVALID</OPTION>
+ <OPTION value=WONTFIX>WONTFIX</OPTION> <OPTION value=LATER>LATER</OPTION>
+ <OPTION value=REMIND>REMIND</OPTION> <OPTION
+ value=WORKSFORME>WORKSFORME</OPTION></SELECT> <BR><INPUT type=radio
+value=duplicate name=knob> Resolve bug, mark it as duplicate of bug # <INPUT
+onchange="if (this.value != '')&#10; {document.changeform.knob[3].checked=true}"
+size=6 name=dup_id> <BR><INPUT type=radio value=reassign name=knob> <A
+href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Reassign</A>
+bug to <INPUT
+onchange="if ((this.value != 'dirk_baeumer@ch.ibm.com') &amp;&amp; &#10; (this.value != '')) {&#10; document.changeform.knob[4].checked=true; &#10; }"
+size=32 value=dirk_baeumer@ch.ibm.com name=assigned_to> <BR><INPUT type=radio
+value=reassignbycomponent name=knob> Reassign bug to owner of selected component
+<BR><INPUT type=submit value=Commit> <INPUT type=hidden value=process_bug
+name=form_name>
+<P><FONT size=+1><B><A
+href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=76388">View Bug
+Activity</A> &nbsp; | &nbsp; <A
+href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=76388">Format For
+Printing</A> </B></FONT></P></FORM>
+<TABLE>
+ <TBODY>
+ <TR>
+ <TD align=left><B><A
+ href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76388#c0"
+ name=c0>Description</A>: </B></TD>
+ <TD align=right width="100%">Opened: 2004-10-15 15:30 </TD></TR></TBODY></TABLE>
+<HR>
+<!-- 1.0@bugzilla.org --><PRE>I was doing some pull up refactorings.
+
+!SESSION Oct 15, 2004 15:08:42.572 ---------------------------------------------
+eclipse.buildId=I200410130800
+java.fullversion=J2RE 1.4.2 IBM J9 2.2 Windows XP x86-32 j9n142-20040831 (JIT
+enabled)
+J9VM - 20040827_2136_lHdSMR
+JIT - r7_level20040827_1801
+BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
+
+!ENTRY org.eclipse.core.runtime 4 2 Oct 15, 2004 15:08:42.572
+!MESSAGE Problems occurred when invoking code from plug-in:
+"org.eclipse.core.runtime".
+!STACK 0
+org.eclipse.jface.text.Assert$AssertionFailedException: Assertion failed:
+ at org.eclipse.jface.text.Assert.isTrue(Assert.java:177)
+ at org.eclipse.jface.text.Assert.isTrue(Assert.java:162)
+ at org.eclipse.text.edits.TextEdit.internalSetLength(TextEdit.java:712)
+ at org.eclipse.text.edits.MultiTextEdit.defineRegion(MultiTextEdit.java:194)
+ at org.eclipse.text.edits.TextEditProcessor.&lt;init&gt;(TextEditProcessor.java:65)
+ at org.eclipse.text.edits.TextEditProcessor.&lt;init&gt;(TextEditProcessor.java:56)
+ at
+org.eclipse.ltk.core.refactoring.TextChange.createTextEditProcessor(TextChange.java:638)
+ at
+org.eclipse.ltk.core.refactoring.TextChange.getPreviewDocument(TextChange.java:611)
+ at
+org.eclipse.ltk.core.refactoring.TextChange.getPreviewDocument(TextChange.java:538)
+ at
+org.eclipse.ltk.core.refactoring.TextChange.getPreviewContent(TextChange.java:553)
+ at
+org.eclipse.ltk.internal.ui.refactoring.TextChangePreviewViewer.setInput(TextChangePreviewViewer.java:190)
+ at
+org.eclipse.ltk.internal.ui.refactoring.DefaultChangeElement.feedInput(DefaultChangeElement.java:57)
+ at
+org.eclipse.ltk.internal.ui.refactoring.PreviewWizardPage.showPreview(PreviewWizardPage.java:370)
+ at
+org.eclipse.ltk.internal.ui.refactoring.PreviewWizardPage.access$2(PreviewWizardPage.java:355)
+ at
+org.eclipse.ltk.internal.ui.refactoring.PreviewWizardPage$2.selectionChanged(PreviewWizardPage.java:346)
+ at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:163)
+ at
+org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
+ at org.eclipse.core.runtime.Platform.run(Platform.java:747)
+ at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:161)
+ at
+org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1613)
+ at
+org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1304)
+ at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:380)
+ at
+org.eclipse.ltk.internal.ui.refactoring.PreviewWizardPage.setVisible(PreviewWizardPage.java:283)
+ at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1024)
+ at org.eclipse.jface.wizard.WizardDialog.access$2(WizardDialog.java:1007)
+ at org.eclipse.jface.wizard.WizardDialog$4.run(WizardDialog.java:997)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
+ at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:995)
+ at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:747)
+ at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:338)
+ at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:543)
+ at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:800)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2784)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2443)
+ at org.eclipse.jface.window.Window.runEventLoop(Window.java:706)
+ at org.eclipse.jface.window.Window.open(Window.java:684)
+ at
+org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:125)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
+ at
+org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:138)
+ at
+org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:40)
+ at org.eclipse.jdt.ui.actions.PullUpAction.startRefactoring(PullUpAction.java:209)
+ at org.eclipse.jdt.ui.actions.PullUpAction.run(PullUpAction.java:151)
+ at
+org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:216)
+ at
+org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188)
+ at org.eclipse.jface.action.Action.runWithEvent(Action.java:988)
+ at
+org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:946)
+ at
+org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:896)
+ at
+org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:810)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:800)
+ at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2784)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2443)
+ at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1443)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1414)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:271)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144)
+ at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102)
+ at
+org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
+ at
+sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
+ at java.lang.reflect.Method.invoke(Method.java:391)
+ at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
+ at org.eclipse.core.launcher.Main.run(Main.java:704)
+ at org.eclipse.core.launcher.Main.main(Main.java:688)</PRE><BR><I>-------
+Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76388#c1" name=c1>#1</A>
+From <A href="mailto:dirk_baeumer@ch.ibm.com">Dirk Baeumer</A> 2004-10-19 06:06
+------- </I><PRE>Silvio, any steps to reproduce or any additional entries in the log that
+contain exceptions from text edits ?</PRE><BR><I>------- Additional Comment <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76388#c2" name=c2>#2</A>
+From <A href="mailto:silvio_boehler@ca.ibm.com">Silvio Böhler</A> 2004-10-19
+08:57 ------- </I><PRE>No further entries and no reproducable steps unfortunately, sorry.</PRE>
+<HR>
+<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A
+href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is
+not in your list) &nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A
+href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
+<TABLE border=0>
+ <TBODY>
+ <TR>
+ <TD vAlign=top bgColor=#000000>
+ <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
+ border=0>
+ <TBODY>
+ <TR>
+ <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more
+ information about what Bugzilla is and what it can do, see <A
+ href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
+ <FORM action=show_bug.cgi method=get>
+ <TABLE width="100%">
+ <TBODY>
+ <TR>
+ <TD>Actions: </TD>
+ <TD vAlign=center noWrap><A
+ href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> |
+ <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
+ <A
+ href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A>
+ </TD>
+ <TD>&nbsp;</TD>
+ <TD vAlign=center align=right><A
+ href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A>
+ | <A
+ href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A>
+ </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..398008f59
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,303 @@
+#Mon Feb 13 11:20:13 PST 2006
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+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.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+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.fieldHiding=ignore
+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.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.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+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.uncheckedTypeOperation=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
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
+org.eclipse.jdt.core.formatter.comment.format_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..ea5da51b5
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,6 @@
+#Mon Feb 13 11:20:13 PST 2006
+eclipse.preferences.version=1
+formatter_profile=_Mylar based on Eclipse [built-in]
+formatter_settings_version=10
+internal.default.compliance=default
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\r\n * Copyright (c) 2004 - 2006 University Of British Columbia and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n * University Of British Columbia - initial API and implementation\r\n *******************************************************************************/\r\n\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ignore\r\n${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ignore</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.mylyn.bugzilla.ui/build.properties b/org.eclipse.mylyn.bugzilla.ui/build.properties
new file mode 100644
index 000000000..1ba129af7
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/build.properties
@@ -0,0 +1,27 @@
+###############################################################################
+# Copyright (c) 2004 - 2005 University Of British Columbia 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:
+# University Of British Columbia - initial API and implementation
+###############################################################################
+bin.includes = META-INF/,\
+ bugzilla-ui.jar,\
+ plugin.xml,\
+ icons/,\
+ about.html,\
+ doc/,\
+ bugzilla-help.xml
+jars.compile.order = bugzilla-ui.jar
+source.bugzilla-ui.jar = src/
+output.bugzilla-ui.jar = bin/
+src.includes = src/,\
+ plugin.xml,\
+ META-INF/,\
+ about.html,\
+ icons/,\
+ doc/
+jre.compilation.profile = J2SE-1.5
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-remote.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-remote.gif
new file mode 100644
index 000000000..d0d46a007
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-remote.gif
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository-new.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository-new.gif
new file mode 100644
index 000000000..5f3396137
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository-new.gif
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository.gif
new file mode 100644
index 000000000..78470a36f
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-repository.gif
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/eview16/bugzilla-logo.gif b/org.eclipse.mylyn.bugzilla.ui/icons/eview16/bugzilla-logo.gif
new file mode 100644
index 000000000..1c78494f3
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/icons/eview16/bugzilla-logo.gif
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/eview16/overlay-bugzilla.gif b/org.eclipse.mylyn.bugzilla.ui/icons/eview16/overlay-bugzilla.gif
new file mode 100644
index 000000000..a20e6db8c
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/icons/eview16/overlay-bugzilla.gif
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaOpenStructure.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaOpenStructure.java
new file mode 100644
index 000000000..3d92ac1d8
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaOpenStructure.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui;
+
+/**
+ * Class to hold information about opening a bug report, such as what comment
+ * number to jump to
+ *
+ * @author Shawn Minto
+ */
+public class BugzillaOpenStructure {
+
+ private String server;
+
+ private int bugId;
+
+ private int commentNumber;
+
+ /**
+ * Constructor
+ *
+ * @param server
+ * The server that the bug resides on
+ * @param bugId
+ * The id of the bug
+ * @param commentNumber
+ * The comment number to jump to when opened, or -1
+ */
+ public BugzillaOpenStructure(String server, int bugId, int commentNumber) {
+ this.bugId = bugId;
+ this.commentNumber = commentNumber;
+ this.server = server;
+ }
+
+ /**
+ * Get the bug id to open
+ *
+ * @return The bug id
+ */
+ public Integer getBugId() {
+ return bugId;
+ }
+
+ /**
+ * Get the comment number to jump to
+ *
+ * @return The comment number or -1 if none
+ */
+ public Integer getCommentNumber() {
+ return commentNumber;
+ }
+
+ /**
+ * Get the server the bug resides on
+ *
+ * @return The server url string
+ */
+ public String getServer() {
+ return server;
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaResultMatchAdapter.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaResultMatchAdapter.java
new file mode 100644
index 000000000..e2c434340
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaResultMatchAdapter.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui;
+
+import org.eclipse.mylar.internal.bugzilla.core.search.BugzillaSearchResult;
+import org.eclipse.mylar.internal.bugzilla.core.search.IBugzillaResultEditorMatchAdapter;
+import org.eclipse.mylar.internal.bugzilla.ui.editor.ExistingBugEditorInput;
+import org.eclipse.search.ui.text.AbstractTextSearchResult;
+import org.eclipse.search.ui.text.Match;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+
+public class BugzillaResultMatchAdapter implements IBugzillaResultEditorMatchAdapter {
+
+ /** An empty array of matches */
+ private final Match[] EMPTY_ARR = new Match[0];
+
+ private BugzillaSearchResult result;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.search.ui.text.IEditorMatchAdapter#isShownInEditor(org.eclipse.search.ui.text.Match,
+ * org.eclipse.ui.IEditorPart)
+ */
+ public boolean isShownInEditor(Match match, IEditorPart editor) {
+ if (result == null)
+ return false;
+ IEditorInput ei = editor.getEditorInput();
+ if (ei instanceof ExistingBugEditorInput) {
+ ExistingBugEditorInput bi = (ExistingBugEditorInput) ei;
+ return match.getElement().equals(bi.getBug());
+ }
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.search.ui.text.IEditorMatchAdapter#computeContainedMatches(org.eclipse.search.ui.text.AbstractTextSearchResult,
+ * org.eclipse.ui.IEditorPart)
+ */
+ public Match[] computeContainedMatches(AbstractTextSearchResult result, IEditorPart editor) {
+ if (result == null)
+ return EMPTY_ARR;
+ IEditorInput ei = editor.getEditorInput();
+ if (ei instanceof ExistingBugEditorInput) {
+ ExistingBugEditorInput bi = (ExistingBugEditorInput) ei;
+ return result.getMatches(bi.getBug());
+ }
+ return EMPTY_ARR;
+ }
+
+ public void setResult(BugzillaSearchResult result) {
+ this.result = result;
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaTableContentProvider.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaTableContentProvider.java
new file mode 100644
index 000000000..f6da665c1
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaTableContentProvider.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui;
+
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.mylar.internal.bugzilla.core.search.BugzillaContentProvider;
+import org.eclipse.mylar.internal.bugzilla.core.search.BugzillaSearchResult;
+import org.eclipse.mylar.internal.bugzilla.ui.search.BugzillaSearchResultView;
+import org.eclipse.search.internal.ui.SearchPreferencePage;
+
+/**
+ * This implementation of <code>BugzillaContentProvider</code> is used for the
+ * table view of a Bugzilla search result.
+ */
+public class BugzillaTableContentProvider extends BugzillaContentProvider implements IStructuredContentProvider {
+
+ /** The page the Bugzilla search results are displayed in */
+ private BugzillaSearchResultView bugPage;
+
+ /**
+ * Constructor
+ *
+ * @param page
+ * The page the Bugzilla search results are displayed in
+ */
+ public BugzillaTableContentProvider(BugzillaSearchResultView page) {
+ bugPage = page;
+ }
+
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ if (newInput instanceof BugzillaSearchResult) {
+ bugResult = (BugzillaSearchResult) newInput;
+ }
+ }
+
+ @Override
+ public void elementsChanged(Object[] updatedElements) {
+ TableViewer viewer = getViewer();
+ boolean tableLimited = SearchPreferencePage.isTableLimited();
+ for (int i = 0; i < updatedElements.length; i++) {
+ if (bugResult.getMatchCount(updatedElements[i]) > 0) {
+ if (viewer.testFindItem(updatedElements[i]) != null)
+ viewer.update(updatedElements[i], null);
+ else {
+ if (!tableLimited || viewer.getTable().getItemCount() < SearchPreferencePage.getTableLimit())
+ viewer.add(updatedElements[i]);
+ }
+ } else
+ viewer.remove(updatedElements[i]);
+ }
+ }
+
+ /**
+ * Returns the viewer the bug results are displayed in.
+ */
+ private TableViewer getViewer() {
+ return (TableViewer) bugPage.getViewer();
+ }
+
+ @Override
+ public void clear() {
+ getViewer().refresh();
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ */
+ public Object[] getElements(Object inputElement) {
+ if (inputElement instanceof BugzillaSearchResult) {
+ Object[] elements = ((BugzillaSearchResult) inputElement).getElements();
+ int tableLimit = SearchPreferencePage.getTableLimit();
+ if (SearchPreferencePage.isTableLimited() && elements.length > tableLimit) {
+ Object[] shownElements = new Object[tableLimit];
+ System.arraycopy(elements, 0, shownElements, 0, tableLimit);
+ return shownElements;
+ }
+ return elements;
+ }
+ return EMPTY_ARR;
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/OfflineView.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/OfflineView.java
new file mode 100644
index 000000000..fd0ca75c5
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/OfflineView.java
@@ -0,0 +1,697 @@
+///*******************************************************************************
+// * Copyright (c) 2003 - 2006 University Of British Columbia 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:
+// * University Of British Columbia - initial API and implementation
+// *******************************************************************************/
+//package org.eclipse.mylar.internal.bugzilla.ui;
+//
+//import java.util.ArrayList;
+//import java.util.Iterator;
+//import java.util.List;
+//
+//import org.eclipse.core.runtime.CoreException;
+//import org.eclipse.jface.action.GroupMarker;
+//import org.eclipse.jface.action.IMenuListener;
+//import org.eclipse.jface.action.IMenuManager;
+//import org.eclipse.jface.action.IStatusLineManager;
+//import org.eclipse.jface.action.IToolBarManager;
+//import org.eclipse.jface.action.MenuManager;
+//import org.eclipse.jface.action.Separator;
+//import org.eclipse.jface.viewers.ColumnLayoutData;
+//import org.eclipse.jface.viewers.ColumnWeightData;
+//import org.eclipse.jface.viewers.IContentProvider;
+//import org.eclipse.jface.viewers.ISelectionChangedListener;
+//import org.eclipse.jface.viewers.IStructuredContentProvider;
+//import org.eclipse.jface.viewers.IStructuredSelection;
+//import org.eclipse.jface.viewers.ITableLabelProvider;
+//import org.eclipse.jface.viewers.LabelProvider;
+//import org.eclipse.jface.viewers.SelectionChangedEvent;
+//import org.eclipse.jface.viewers.TableLayout;
+//import org.eclipse.jface.viewers.TableViewer;
+//import org.eclipse.jface.viewers.Viewer;
+//import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
+//import org.eclipse.mylar.internal.bugzilla.core.BugzillaPlugin;
+//import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
+//import org.eclipse.mylar.internal.bugzilla.core.IOfflineBugListener.BugzillaOfflineStaus;
+//import org.eclipse.mylar.internal.bugzilla.core.internal.OfflineReportsFile;
+//import org.eclipse.mylar.internal.bugzilla.ui.actions.AbstractOfflineReportsAction;
+//import org.eclipse.mylar.internal.bugzilla.ui.actions.DeleteOfflineReportAction;
+//import org.eclipse.mylar.internal.bugzilla.ui.actions.ViewOfflineReportAction;
+//import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
+//import org.eclipse.swt.SWT;
+//import org.eclipse.swt.events.KeyAdapter;
+//import org.eclipse.swt.events.KeyEvent;
+//import org.eclipse.swt.events.MouseAdapter;
+//import org.eclipse.swt.events.MouseEvent;
+//import org.eclipse.swt.events.SelectionEvent;
+//import org.eclipse.swt.events.SelectionListener;
+//import org.eclipse.swt.graphics.Image;
+//import org.eclipse.swt.layout.GridData;
+//import org.eclipse.swt.widgets.Composite;
+//import org.eclipse.swt.widgets.Display;
+//import org.eclipse.swt.widgets.Menu;
+//import org.eclipse.swt.widgets.Table;
+//import org.eclipse.swt.widgets.TableColumn;
+//import org.eclipse.swt.widgets.TableItem;
+//import org.eclipse.ui.IActionBars;
+//import org.eclipse.ui.IMemento;
+//import org.eclipse.ui.IViewSite;
+//import org.eclipse.ui.IWorkbenchActionConstants;
+//import org.eclipse.ui.IWorkbenchPage;
+//import org.eclipse.ui.IWorkbenchWindow;
+//import org.eclipse.ui.PartInitException;
+//import org.eclipse.ui.actions.ActionFactory;
+//import org.eclipse.ui.part.ViewPart;
+//
+///**
+// * A view that displays any bugs that have been saved offline.
+// */
+//public class OfflineView extends ViewPart {
+//
+// private static Composite parent;
+//
+// private IMemento savedMemento;
+//
+// private static DeleteOfflineReportAction remove;
+//
+// public static DeleteOfflineReportAction removeAll;
+//
+// public static SelectAllAction selectAll;
+//
+// private static ViewOfflineReportAction open;
+//
+// private Table table;
+//
+// private MenuManager contextMenu;
+//
+// private static TableViewer viewer;
+//
+// private static OfflineReportsViewContentProvider contentProvider = new OfflineReportsViewContentProvider();
+//
+// private String[] columnHeaders = { "Bug", "Summary", "Description" };
+//
+// private ColumnLayoutData columnLayouts[] = { new ColumnWeightData(3), new ColumnWeightData(5),
+// new ColumnWeightData(10) };
+//
+// /**
+// * Constructor initializes OfflineReports' source file initializes actions
+// */
+// public OfflineView() {
+// super();
+// open = new ViewOfflineReportAction(this);
+// selectAll = new SelectAllAction();
+// remove = new DeleteOfflineReportAction(this, false);
+// removeAll = new DeleteOfflineReportAction(this, true);
+// }
+//
+// @Override
+// public void init(IViewSite site) throws PartInitException {
+// super.init(site);
+// }
+//
+// /**
+// * Initializes this view with the given view site. A memento is passed to
+// * the view which contains a snapshot of the views state from a previous
+// * session.
+// */
+// @Override
+// public void init(IViewSite site, IMemento memento) throws PartInitException {
+// init(site);
+// this.savedMemento = memento;
+// }
+//
+// @Override
+// public void createPartControl(Composite parentComposite) {
+// OfflineView.parent = parentComposite;
+// setPartName("Bugzilla Offline Reports");
+// createTable();
+//
+// viewer = new TableViewer(table);
+// viewer.setUseHashlookup(true);
+// createColumns();
+//
+// GridData gd = new GridData(GridData.FILL_BOTH);
+// gd.verticalSpan = 20;
+// viewer.getTable().setLayoutData(gd);
+//
+// viewer.setContentProvider(contentProvider);
+// viewer.setLabelProvider(new OfflineReportsViewLabelProvider());
+// viewer.setInput(BugzillaPlugin.getDefault().getOfflineReports().elements());
+//
+// viewer.addSelectionChangedListener(new ISelectionChangedListener() {
+// public void selectionChanged(SelectionChangedEvent event) {
+// OfflineView.this.widgetSelected(event);
+// }
+// });
+//
+// fillToolbar();
+// createContextMenu();
+//
+// Menu menu = contextMenu.createContextMenu(table);
+// table.setMenu(menu);
+//
+// hookGlobalActions();
+// parentComposite.layout();
+//
+// // Restore state from the previous session.
+// restoreState();
+// }
+//
+// @Override
+// public void setFocus() {
+// // don't need to do anything when we get focus
+// }
+//
+// private void createColumns() {
+// TableLayout layout = new TableLayout();
+// table.setLayout(layout);
+// table.setHeaderVisible(true);
+//
+// for (int i = 0; i < columnHeaders.length; i++) {
+// TableColumn tc = new TableColumn(table, SWT.NONE, i);
+//
+// tc.setText(columnHeaders[i]);
+// tc.pack();
+// tc.setResizable(columnLayouts[i].resizable);
+// layout.addColumnData(columnLayouts[i]);
+// }
+// }
+//
+// private void createTable() {
+//
+// table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
+// table.setLinesVisible(true);
+//
+// // Add action support for a double-click
+// table.addMouseListener(new MouseAdapter() {
+//
+// @Override
+// public void mouseDoubleClick(MouseEvent e) {
+// open.run();
+// }
+// });
+// }
+//
+// private void fillToolbar() {
+// IActionBars actionBars = getViewSite().getActionBars();
+// IToolBarManager toolbar = actionBars.getToolBarManager();
+//
+// remove.setEnabled(false);
+// toolbar.add(remove);
+// toolbar.add(removeAll);
+// toolbar.add(new Separator());
+// toolbar.add(selectAll);
+//
+// // create actions to handle the sorting of the OfflineReports
+// // sortByIDAction = new SortByAction(OfflineReportsFile.ID_SORT);
+// // sortByIDAction.setText("by &Bug ID");
+// // sortByIDAction.setToolTipText("Sorts by Bug number");
+// //
+// // sortByTypeAction = new SortByAction(OfflineReportsFile.TYPE_SORT);
+// // sortByTypeAction.setText("by &Bug Type");
+// // sortByTypeAction.setToolTipText("Sorts by locally created/from server
+// // status");
+//
+// // get the menu manager and create a submenu to contain sorting
+// IMenuManager menu = actionBars.getMenuManager();
+// IMenuManager submenu = new MenuManager("&Sort");
+//
+// // add the sorting actions to the menu bar
+// menu.add(submenu);
+// // submenu.add(sortByIDAction);
+// // submenu.add(sortByTypeAction);
+//
+// // updateSortingState();
+// }
+//
+// // /**
+// // * Function to make sure that the appropriate sort is checked
+// // */
+// // void updateSortingState() {
+// // int curCriterion = OfflineReportsFile.lastSel;
+// //
+// // sortByIDAction.setChecked(curCriterion == OfflineReportsFile.ID_SORT);
+// // sortByTypeAction.setChecked(curCriterion ==
+// // OfflineReportsFile.TYPE_SORT);
+// // viewer.setInput(viewer.getInput());
+// // }
+// //
+// // // Sorting actions for the OfflineReports view
+// // SortByAction sortByIDAction, sortByTypeAction/*, sortBySeverityAction,
+// // sortByPriorityAction, sortByStatusAction*/;
+//
+// // /**
+// // * Inner class to handle sorting
+// // * @author Shawn Minto
+// // */
+// // class SortByAction extends Action {
+// // /** The criteria to sort the OfflineReports menu based on */
+// // private int criterion;
+// //
+// // /**
+// // * Constructor
+// // * @param criteria The criteria to sort the OfflineReports menu based on
+// // */
+// // public SortByAction(int criteria) {
+// // this.criterion = criteria;
+// // }
+// //
+// // /**
+// // * Perform the sort
+// // */
+// // @Override
+// // public void run() {
+// // BugzillaPlugin.getDefault().getOfflineReports().sort(criterion);
+// // updateSortingState();
+// // }
+// // }
+//
+// /**
+// * Create context menu.
+// */
+// private void createContextMenu() {
+// contextMenu = new MenuManager("#OfflineReportsView");
+// contextMenu.setRemoveAllWhenShown(true);
+// contextMenu.addMenuListener(new IMenuListener() {
+// public void menuAboutToShow(IMenuManager manager) {
+// fillContextMenu(manager);
+// updateActionEnablement();
+// }
+// });
+//
+// // Register menu for extension.
+// getSite().registerContextMenu("#OfflineReportsView", contextMenu, viewer);
+// }
+//
+// /**
+// * Hook global actions
+// */
+// private void hookGlobalActions() {
+// IActionBars bars = getViewSite().getActionBars();
+// bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAll);
+// bars.setGlobalActionHandler(ActionFactory.DELETE.getId(), remove);
+// table.addKeyListener(new KeyAdapter() {
+//
+// @Override
+// public void keyPressed(KeyEvent event) {
+// if (event.character == SWT.DEL && event.stateMask == 0 && remove.isEnabled()) {
+// remove.run();
+// }
+// }
+// });
+// }
+//
+// /**
+// * Populate context menu
+// */
+// private void fillContextMenu(IMenuManager mgr) {
+// mgr.add(open);
+// mgr.add(new Separator());
+// mgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+// mgr.add(new Separator());
+// mgr.add(remove);
+// mgr.add(new DeleteOfflineReportAction(this, true));
+// mgr.add(new SelectAllAction());
+// }
+//
+// /**
+// * Update action enablement depending on whether or not any items are
+// * selected. Displays name of current item in status bar.
+// */
+// public static void updateActionEnablement() {
+//
+// boolean hasSelected = viewer.getTable().getSelectionCount() > 0;
+// remove.setEnabled(hasSelected);
+// open.setEnabled(hasSelected);
+//
+// boolean hasItems = viewer.getTable().getItemCount() > 0;
+// removeAll.setEnabled(hasItems);
+// selectAll.setEnabled(hasItems);
+// }
+//
+// @Override
+// public void saveState(IMemento memento) {
+// TableItem[] sel = table.getSelection();
+// if (sel.length == 0)
+// return;
+// memento = memento.createChild("selection");
+// for (int i = 0; i < sel.length; i++) {
+// memento.createChild("descriptor", new Integer(table.indexOf(sel[i])).toString());
+// }
+// }
+//
+// private void restoreState() {
+// if (savedMemento == null)
+// return;
+// savedMemento = savedMemento.getChild("selection");
+// if (savedMemento != null) {
+// IMemento descriptors[] = savedMemento.getChildren("descriptor");
+// if (descriptors.length > 0) {
+// int[] objList = new int[descriptors.length];
+// for (int nX = 0; nX < descriptors.length; nX++) {
+// String id = descriptors[nX].getID();
+// objList[nX] = BugzillaPlugin.getDefault().getOfflineReports().find(Integer.valueOf(id).intValue());
+// }
+// table.setSelection(objList);
+// }
+// }
+// viewer.setSelection(viewer.getSelection(), true);
+// savedMemento = null;
+// updateActionEnablement();
+// }
+//
+// /**
+// * Returns list of names of selected items.
+// */
+// @SuppressWarnings("unchecked")
+// public List<Integer> getBugIdsOfSelected() {
+// IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();// TableItem[]
+// // sel
+// // =
+// // table.getSelection();
+// List<Object> sel = selection.toList();
+// List<Integer> Ids = new ArrayList<Integer>();
+//
+// Iterator<Object> itr = sel.iterator();
+// while (itr.hasNext()) {
+// Object o = itr.next();
+// if (o instanceof IBugzillaBug) {
+// IBugzillaBug entry = (IBugzillaBug) o;
+// Integer id = entry.getId();
+// if (!entry.isLocallyCreated()) {
+// Ids.add(id);
+// }
+// }
+// }
+//
+// return Ids;
+// }
+//
+// /**
+// * @return List of selected offline bug reports.
+// */
+// @SuppressWarnings("unchecked")
+// public List<IBugzillaBug> getSelectedBugs() {
+// List<Object> selection = ((IStructuredSelection) viewer.getSelection()).toList();
+// List<IBugzillaBug> bugs = new ArrayList<IBugzillaBug>();
+// for (Iterator<Object> iter = selection.iterator(); iter.hasNext();) {
+// Object obj = iter.next();
+// if (obj instanceof IBugzillaBug) {
+// bugs.add((IBugzillaBug) obj);
+// }
+// }
+// return bugs;
+// }
+//
+// /**
+// * Closes any open editors of the given offline reports.
+// *
+// * @param reports
+// * The list of offline reports that need their editors closed.
+// */
+// protected void closeOfflineReports(List<IBugzillaBug> reports) {
+// if (reports == null)
+// return;
+//
+// IWorkbenchPage page = BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
+//
+// // if we couldn't get the page, get out of here
+// if (page == null)
+// return;
+//
+// for (Iterator<IBugzillaBug> iter = reports.iterator(); iter.hasNext();) {
+// IBugzillaBug bug = iter.next();
+// BugzillaUITools.closeEditor(page, bug);
+// }
+// }
+//
+// /**
+// * Refreshes the view.
+// */
+// public static void refreshView() {
+// if (viewer != null && !viewer.getControl().isDisposed()) {
+// if (viewer.getContentProvider() == null)
+// viewer.setContentProvider(contentProvider);
+// if (viewer.getContentProvider() == null)
+// return;
+// viewer.setInput(viewer.getInput());
+// }
+// }
+//
+// /**
+// * Calls remove function in OfflineReportsFile
+// */
+// @SuppressWarnings("unchecked")
+// public void deleteSelectedOfflineReports() {
+// List<IBugzillaBug> selection = ((IStructuredSelection) viewer.getSelection()).toList();
+// closeOfflineReports(selection);
+// for (IBugzillaBug bug : selection) {
+// removeReport(bug);
+// }
+// viewer.setInput(viewer.getInput());
+// }
+//
+// /**
+// * Removes all of the offline reports in the OfflineReportsFile.
+// */
+// public void deleteAllOfflineReports() {
+// closeOfflineReports(BugzillaPlugin.getDefault().getOfflineReports().elements());
+// List<IBugzillaBug> reports = new ArrayList<IBugzillaBug>(OfflineReportsFile.getOfflineBugs());
+// for (IBugzillaBug bug : reports) {
+// removeReport(bug);
+// }
+// viewer.setInput(viewer.getInput());
+// }
+//
+// /**
+// * Saves the given report to the offlineReportsFile, or, if it already
+// * exists in the file, updates it.
+// *
+// * @param bug
+// * The bug to add/update.
+// * @param saveChosen
+// * This is used to determine a refresh from a user save
+// */
+// public static void saveOffline(final IBugzillaBug bug, final boolean saveChosen) {
+// Display.getDefault().asyncExec(new Runnable() {
+// public void run() {
+//
+// OfflineReportsFile file = BugzillaPlugin.getDefault().getOfflineReports();
+// // If there is already an offline report for this bug, update
+// // the file.
+// if (bug.isSavedOffline()) {
+// file.update();
+// }
+// // If this bug has not been saved offline before, add it to the
+// // file.
+// else {
+// // If there is already an offline report with the same id,
+// // don't save this report.
+// // int index = -1;
+// // if ((index = file.find(bug.getId())) >= 0) {
+// // removeReport(getOfflineBugs().get(index));
+// // MessageDialog.openInformation(null, "Bug's Id is already
+// // used.", "There is already a bug saved offline with an
+// // identical id.");
+// // return;
+// // }
+// try {
+// file.add(bug, saveChosen);
+// bug.setOfflineState(true);
+// } catch (CoreException e) {
+// MylarStatusHandler.fail(e, e.getMessage(), false);
+// }
+// // file.sort(OfflineReportsFile.lastSel);
+// }
+// // OfflineView.checkWindow();
+// OfflineView.refreshView();
+// }
+// });
+// }
+//
+// public static List<IBugzillaBug> getOfflineBugs() {
+// OfflineReportsFile file = BugzillaPlugin.getDefault().getOfflineReports();
+// return file.elements();
+// }
+//
+// /**
+// * Removes the given report from the offlineReportsFile.
+// *
+// * @param bug
+// * The report to remove.
+// */
+// public static void removeReport(IBugzillaBug bug) {
+// BugzillaPlugin.getDefault().fireOfflineStatusChanged(bug, BugzillaOfflineStaus.DELETED);
+//
+// ArrayList<IBugzillaBug> bugList = new ArrayList<IBugzillaBug>();
+// bugList.add(bug);
+// BugzillaPlugin.getDefault().getOfflineReports().remove(bugList);
+//
+// if (viewer != null && !viewer.getControl().isDisposed()) {
+// if (viewer.getContentProvider() == null)
+// viewer.setContentProvider(contentProvider);
+// if (viewer.getContentProvider() == null)
+// return;
+// viewer.setInput(viewer.getInput());
+// }
+// }
+//
+//// public static IBugzillaBug find(int bugId) {
+//// int location = BugzillaPlugin.getDefault().getOfflineReports().find(bugId);
+//// if (location != -1) {
+//// return BugzillaPlugin.getDefault().getOfflineReports().elements().get(location);
+//// }
+//// return null;
+//// }
+//
+// /**
+// * @see SelectionListener#widgetSelected(SelectionEvent)
+// */
+// @SuppressWarnings("unchecked")
+// public void widgetSelected(SelectionChangedEvent e) {
+//
+// IStructuredSelection selection = (IStructuredSelection) e.getSelection();
+//
+// boolean enable = selection.size() > 0;
+// selectAll.setEnabled(enable);
+// remove.setEnabled(enable);
+// open.setEnabled(enable);
+//
+// IStructuredSelection viewerSelection = (IStructuredSelection) viewer.getSelection();// TableItem[]
+// // sel
+// // =
+// // table.getSelection();
+// List<IBugzillaBug> sel = viewerSelection.toList();
+// if (sel.size() > 0) {
+// IStatusLineManager manager = this.getViewSite().getActionBars().getStatusLineManager();
+// manager.setMessage(sel.get(0).toString());
+// }
+//
+// updateActionEnablement();
+// }
+//
+// /**
+// * Attempts to display this view on the workbench.
+// */
+// public static void checkWindow() {
+// if (parent == null || parent.isDisposed()) {
+// IWorkbenchWindow w = BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
+// if (w != null) {
+// IWorkbenchPage page = w.getActivePage();
+// if (page != null) {
+// try {
+// page.showView(IBugzillaConstants.PLUGIN_ID + ".ui.offlineReportsView");
+// } catch (PartInitException pie) {
+// BugzillaPlugin.log(pie.getStatus());
+// }
+// }
+// }
+// }
+// }
+//
+// /**
+// * Action class - "Select All"
+// */
+// public class SelectAllAction extends AbstractOfflineReportsAction {
+//
+// public SelectAllAction() {
+// setToolTipText("Select all offline Bugzilla reports");
+// setText("Select all");
+// setImageDescriptor(BugzillaImages.SELECT_ALL);
+// }
+//
+// @Override
+// public void run() {
+// checkWindow();
+// table.selectAll();
+// viewer.setSelection(viewer.getSelection(), true);
+// updateActionEnablement();
+// }
+// }
+//
+// private class OfflineReportsViewLabelProvider extends LabelProvider implements ITableLabelProvider {
+//
+// /**
+// * Returns the label text for the given column of a recommendation in
+// * the table.
+// */
+// public String getColumnText(Object element, int columnIndex) {
+// if (element instanceof IBugzillaBug) {
+// IBugzillaBug f = (IBugzillaBug) element;
+// switch (columnIndex) {
+// case 0:
+// return f.getLabel();
+// case 1:
+// return f.getSummary();
+// case 2:
+// return f.getDescription();
+// default:
+// return "Undefined column text";
+// }
+// }
+// return ""; //$NON-NLS-1$
+// }
+//
+// /*
+// * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object,
+// * int)
+// */
+// public Image getColumnImage(Object arg0, int arg1) {
+// return null;
+// }
+// }
+//
+// public static void refresh() {
+// if (viewer != null && !viewer.getTable().isDisposed())
+// viewer.refresh();
+// }
+//
+// private static class OfflineReportsViewContentProvider implements IStructuredContentProvider {
+//
+// private List results;
+//
+// /**
+// * The constructor.
+// */
+// public OfflineReportsViewContentProvider() {
+// // no setup needed
+// }
+//
+// /**
+// * Returns the elements to display in the viewer when its input is set
+// * to the given element. These elements can be presented as rows in a
+// * table, items in a list, etc. The result is not modified by the
+// * viewer.
+// *
+// * @param inputElement
+// * the input element
+// * @return the array of elements to display in the viewer
+// */
+// public Object[] getElements(Object inputElement) {
+// if (results != null) {
+// return results.toArray();
+// } else
+// return null;
+// }
+//
+// /**
+// * Notifies this content provider that a given viewer's input has been
+// * changed.
+// *
+// * @see IContentProvider#inputChanged
+// */
+// public void inputChanged(Viewer inputViewer, Object oldInput, Object newInput) {
+// this.results = (List) newInput;
+// }
+//
+// public void dispose() {
+// if (results != null)
+// results = null;
+// }
+// }
+//}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/ViewBugzillaAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/ViewBugzillaAction.java
new file mode 100644
index 000000000..55cc6bee2
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/ViewBugzillaAction.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2003 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.mylar.internal.bugzilla.ui;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.security.auth.login.LoginException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaPlugin;
+import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
+import org.eclipse.mylar.internal.bugzilla.ui.editor.AbstractBugEditor;
+import org.eclipse.mylar.internal.bugzilla.ui.editor.ExistingBugEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.progress.UIJob;
+
+/**
+ * Action performed when the bugs are supposed to be displayed in the editor
+ * window from the favorites list
+ */
+public class ViewBugzillaAction extends UIJob {
+
+ /** List of bugs to be displayed */
+ private List<BugzillaOpenStructure> bugs;
+
+ /**
+ * Constructor
+ *
+ * @param name
+ * The job name
+ * @param bugs
+ * List of bugs to be displayed
+ */
+ public ViewBugzillaAction(String name, List<BugzillaOpenStructure> bugs) {
+ super(name);
+ this.bugs = bugs;
+ }
+
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ IWorkbenchPage page = BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
+
+ // go through each bug and get its id
+ for (Iterator<BugzillaOpenStructure> it = bugs.iterator(); it.hasNext();) {
+ BugzillaOpenStructure bos = it.next();
+ Integer bugId = bos.getBugId();
+ Integer commentNumber = bos.getCommentNumber();
+
+ try {
+ // try to open a new editor on the bug
+ ExistingBugEditorInput editorInput = new ExistingBugEditorInput(bos.getServer(), bugId.intValue());
+
+ // if the bug could not be found, then tell the user that the
+ // server settings are wrong
+ if (editorInput.getBug() == null) {
+ MessageDialog.openError(null, "Server Setting Error", "Incorrect server set for the bug.");
+ } else {
+ AbstractBugEditor abe = (AbstractBugEditor) page.openEditor(editorInput,
+ IBugzillaConstants.EXISTING_BUG_EDITOR_ID);
+ if (commentNumber == 0) {
+ abe.selectDescription();
+ } else if (commentNumber == 1) {
+ abe.select(commentNumber);
+ } else {
+ abe.select(commentNumber - 1);
+ }
+ }
+ } catch (LoginException e) {
+ MessageDialog
+ .openError(
+ null,
+ "Login Error",
+ "Bugzilla could not log you in to get the information you requested since login name or password is incorrect.\nPlease check your settings in the bugzilla preferences. ");
+ BugzillaPlugin.log(e);
+ } catch (PartInitException e) {
+ BugzillaPlugin.log(e);
+ } catch (IOException e) {
+ BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(e,
+ "occurred while opening the bug report.", "Bugzilla Error");
+ }
+ }
+ return new Status(IStatus.OK, IBugzillaConstants.PLUGIN_ID, IStatus.OK, "", null);
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractFavoritesAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractFavoritesAction.java
new file mode 100644
index 000000000..6c9e1b47c
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractFavoritesAction.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaPlugin;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Class that contains shared functions for the favorites actions
+ */
+public class AbstractFavoritesAction extends Action {
+
+ /**
+ * Set the actions icon
+ *
+ * @param filename
+ * The icons file
+ */
+ protected void setIcon(String filename) {
+ URL url = null;
+ try {
+ // try to change the default icon
+ url = new URL(BugzillaPlugin.getDefault().getBundle().getEntry("/"), filename);
+ setImageDescriptor(ImageDescriptor.createFromURL(url));
+ } catch (MalformedURLException e) {
+ // Simply don't change the default icon
+ }
+ }
+
+ /**
+ * Convienience method for getting the current shell
+ *
+ * @return The current shell
+ */
+ protected Shell getShell() {
+ return BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractOfflineReportsAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractOfflineReportsAction.java
new file mode 100644
index 000000000..c16ab1022
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AbstractOfflineReportsAction.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaPlugin;
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaUiPlugin;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Class that contains shared functions for the offline report actions
+ */
+public class AbstractOfflineReportsAction extends Action {
+
+ /**
+ * Set the actions icon
+ *
+ * @param filename
+ * The icons file
+ */
+ protected void setIcon(String filename) {
+ URL url = null;
+ try {
+ // try to change the default icon
+ url = new URL(BugzillaUiPlugin.getDefault().getBundle().getEntry("/"), filename);
+ setImageDescriptor(ImageDescriptor.createFromURL(url));
+ } catch (MalformedURLException e) {
+ // Simply don't change the default icon
+ }
+ }
+
+ /**
+ * Convienience method for getting the current shell
+ *
+ * @return The current shell
+ */
+ protected Shell getShell() {
+ return BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AddBugzillaQueryAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AddBugzillaQueryAction.java
new file mode 100644
index 000000000..13a8116c9
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/AddBugzillaQueryAction.java
@@ -0,0 +1,123 @@
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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: University Of British Columbia - initial API and implementation
+ ******************************************************************************/
+// /*******************************************************************************
+// * Copyright (c) 2004 - 2005 University Of British Columbia 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:
+// * University Of British Columbia - initial API and implementation
+// *******************************************************************************/
+//
+// package org.eclipse.mylar.internal.bugzilla.ui.actions;
+//
+// import org.eclipse.core.runtime.CoreException;
+// import org.eclipse.core.runtime.IProgressMonitor;
+// import org.eclipse.jface.action.Action;
+// import org.eclipse.jface.action.IAction;
+// import org.eclipse.jface.dialogs.Dialog;
+// import org.eclipse.jface.dialogs.MessageDialog;
+// import org.eclipse.jface.viewers.ISelection;
+// import org.eclipse.mylar.internal.bugzilla.ui.BugzillaImages;
+// import org.eclipse.mylar.internal.bugzilla.ui.tasklist.BugzillaCustomRepositoryQuery;
+// import org.eclipse.mylar.internal.bugzilla.ui.tasklist.BugzillaRepositoryQuery;
+// import org.eclipse.mylar.internal.bugzilla.ui.tasklist.BugzillaQueryDialog;
+// import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
+// import org.eclipse.mylar.internal.tasklist.MylarTaskListPlugin;
+// import org.eclipse.mylar.internal.tasklist.TaskListPreferenceConstants;
+// import org.eclipse.mylar.internal.tasklist.TaskRepositoryManager;
+// import org.eclipse.mylar.internal.tasklist.ui.views.TaskListView;
+// import org.eclipse.mylar.tasklist.TaskRepository;
+// import org.eclipse.swt.widgets.Display;
+// import org.eclipse.ui.IViewActionDelegate;
+// import org.eclipse.ui.IViewPart;
+// import org.eclipse.ui.PlatformUI;
+// import org.eclipse.ui.actions.WorkspaceModifyOperation;
+// import org.eclipse.ui.progress.IProgressService;
+//
+// /**
+// * @author Mik Kersten
+// */
+// public class AddBugzillaQueryAction extends Action implements
+// IViewActionDelegate {
+//
+// public static final String ID =
+// "org.eclipse.mylar.tasklist.actions.create.bug.query";
+//
+// public AddBugzillaQueryAction() {
+// setText("Add Bugzilla Query");
+// setToolTipText("Add Bugzilla Query");
+// setId(ID);
+// setImageDescriptor(BugzillaImages.CATEGORY_QUERY_NEW);
+// }
+//
+// @Override
+// public void run() {
+// BugzillaQueryDialog queryDialog = new
+// BugzillaQueryDialog(Display.getCurrent().getActiveShell());
+// if(queryDialog.open() == Dialog.OK){
+// TaskRepository repository = queryDialog.getRepository();
+// if (repository == null) {
+// MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Mylar
+// Bugzilla Client",
+// TaskRepositoryManager.MESSAGE_NO_REPOSITORY);
+// return;
+// }
+//
+// final BugzillaRepositoryQuery queryCategory;
+// if(!queryDialog.isCustom()){
+// queryCategory = new
+// BugzillaRepositoryQuery(repository.getUrl().toExternalForm(),
+// queryDialog.getUrl(), queryDialog.getName(), queryDialog.getMaxHits());
+// } else {
+// queryCategory = new
+// BugzillaCustomRepositoryQuery(repository.getUrl().toExternalForm(),
+// queryDialog.getName(), queryDialog.getUrl(), queryDialog.getMaxHits());
+// }
+// MylarTaskListPlugin.getTaskListManager().addQuery(queryCategory);
+// boolean offline =
+// MylarTaskListPlugin.getPrefs().getBoolean(TaskListPreferenceConstants.WORK_OFFLINE);
+// if(!offline){
+// WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+// protected void execute(IProgressMonitor monitor) throws CoreException {
+// queryCategory.refreshBugs();
+// }
+// };
+//
+// IProgressService service = PlatformUI.getWorkbench().getProgressService();
+// try {
+// service.run(true, true, op);
+// } catch (Exception e) {
+// MylarStatusHandler.log(e, "There was a problem executing the query refresh");
+// }
+// }
+// if(TaskListView.getDefault() != null) {
+// // TODO: remove
+// TaskListView.getDefault().getViewer().refresh();
+// }
+//
+// }
+// }
+//
+// public void init(IViewPart view) {
+//
+// }
+//
+// public void run(IAction action) {
+// run();
+// }
+//
+// public void selectionChanged(IAction action, ISelection selection) {
+//
+// }
+// }
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/BugzillaSortAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/BugzillaSortAction.java
new file mode 100644
index 000000000..13f253282
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/BugzillaSortAction.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.mylar.internal.bugzilla.ui.search.BugzillaSearchResultView;
+
+/**
+ * This class sorts Bugzilla search results by a supplied category.
+ */
+public class BugzillaSortAction extends Action {
+
+ /** The category that this class sorts Bugzilla search results by. */
+ private int bugSortOrder;
+
+ /** The view where the Bugzilla search results are displayed. */
+ private BugzillaSearchResultView bugPage;
+
+ /**
+ * Constructor
+ *
+ * @param label
+ * The string used as the text for the action, or null if there
+ * is no text
+ * @param page
+ * The view where the Bugzilla search results are displayed.
+ * @param sortOrder
+ * The category that this class sorts Bugzilla search results by
+ */
+ public BugzillaSortAction(String label, BugzillaSearchResultView page, int sortOrder) {
+ super(label);
+ bugPage = page;
+ bugSortOrder = sortOrder;
+ }
+
+ /**
+ * Reorder the Bugzilla search results.
+ */
+ @Override
+ public void run() {
+ bugPage.setSortOrder(bugSortOrder);
+ }
+
+ /**
+ * Returns the category that this class sorts Bugzilla search results by.
+ */
+ public int getSortOrder() {
+ return bugSortOrder;
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/DeleteFavoriteAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/DeleteFavoriteAction.java
new file mode 100644
index 000000000..eb9e0eca8
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/DeleteFavoriteAction.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaImages;
+import org.eclipse.mylar.internal.bugzilla.ui.FavoritesView;
+
+/**
+ * Action of removing a bookmark
+ */
+public class DeleteFavoriteAction extends AbstractFavoritesAction {
+ /** The instance of the favorites view */
+ private FavoritesView view;
+
+ /** True if all of the bookmarks are to be deleted */
+ private boolean deleteAll;
+
+ /**
+ * Constructor
+ *
+ * @param favoritesView
+ * The favorites view being used
+ * @param deleteAllFavorites
+ * <code>true</code> if all of the favorites should be deleted,
+ * else <code>false</code>
+ */
+ public DeleteFavoriteAction(FavoritesView favoritesView, boolean deleteAllFavorites) {
+ deleteAll = deleteAllFavorites;
+
+ // set the appropriate icons and tool tips for the action depending
+ // on whether it will delete all items or not
+ if (deleteAll) {
+ setToolTipText("Remove All Favorites");
+ setText("Remove All");
+ setImageDescriptor(BugzillaImages.REMOVE_ALL);
+ } else {
+ setToolTipText("Remove Selected Favorites");
+ setText("Remove");
+ setImageDescriptor(BugzillaImages.REMOVE);
+ }
+
+ view = favoritesView;
+ }
+
+ /**
+ * Delete the appropriate favorites
+ *
+ * @see org.eclipse.jface.action.IAction#run()
+ */
+ @Override
+ public void run() {
+ FavoritesView.checkWindow();
+
+ // call the appropriate delete function
+ if (deleteAll)
+ view.deleteAllFavorites();
+ else
+ view.deleteSelectedFavorites();
+ FavoritesView.updateActionEnablement();
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/OpenBugsAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/OpenBugsAction.java
new file mode 100644
index 000000000..39a433fb0
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/OpenBugsAction.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2003 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+
+import java.util.Iterator;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaPlugin;
+import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaUITools;
+import org.eclipse.mylar.internal.bugzilla.ui.search.BugzillaSearchResultView;
+import org.eclipse.search.internal.ui.SearchMessages;
+import org.eclipse.search.internal.ui.util.ExceptionHandler;
+
+/**
+ * This class is used to open a bug report in an editor.
+ */
+public class OpenBugsAction extends Action {
+
+ /** The view this action works on */
+ private BugzillaSearchResultView resultView;
+
+ /**
+ * Constructor
+ *
+ * @param text
+ * The text for this action
+ * @param resultView
+ * The <code>BugzillaSearchResultView</code> this action works
+ * on
+ */
+ public OpenBugsAction(String text, BugzillaSearchResultView resultView) {
+ setText(text);
+ this.resultView = resultView;
+ }
+
+ /**
+ * Open the selected bug reports in their own editors.
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void run() {
+
+ // Get the selected items
+ ISelection s = resultView.getViewer().getSelection();
+ if (s instanceof IStructuredSelection) {
+ IStructuredSelection selection = (IStructuredSelection) s;
+
+ // go through each of the selected items and show it in an editor
+ for (Iterator<IMarker> it = selection.iterator(); it.hasNext();) {
+ IMarker marker = it.next();
+ try {
+
+ String repositoryUrl = (String) marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_REPOSITORY);
+ Integer id = (Integer) marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID);
+ BugzillaUITools.show(repositoryUrl, id.intValue());
+ } catch (CoreException e) {
+ // if an error occurs, handle and log it
+ ExceptionHandler.handle(e, SearchMessages.Search_Error_search_title,
+ SearchMessages.Search_Error_search_message); //$NON-NLS-2$ //$NON-NLS-1$
+ BugzillaPlugin.log(e.getStatus());
+ }
+ }
+
+ }
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/ViewFavoriteAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/ViewFavoriteAction.java
new file mode 100644
index 000000000..5113796ae
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/actions/ViewFavoriteAction.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.actions;
+
+import java.util.List;
+
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaImages;
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaOpenStructure;
+import org.eclipse.mylar.internal.bugzilla.ui.FavoritesView;
+import org.eclipse.mylar.internal.bugzilla.ui.ViewBugzillaAction;
+
+/**
+ * View a bug from the favorites menu
+ */
+public class ViewFavoriteAction extends AbstractFavoritesAction {
+
+ /** The view to get the result to launch a viewer on */
+ private FavoritesView view;
+
+ /**
+ * Constructor
+ *
+ * @param resultsView
+ * The view to launch a viewer on
+ */
+ public ViewFavoriteAction(FavoritesView resultsView) {
+ setToolTipText("View Selected Favorites");
+ setText("View Selected");
+ setImageDescriptor(BugzillaImages.OPEN);
+ view = resultsView;
+ }
+
+ /**
+ * View the selected bugs in the editor window
+ *
+ * @see org.eclipse.jface.action.IAction#run()
+ */
+ @Override
+ public void run() {
+ FavoritesView.checkWindow();
+ List<BugzillaOpenStructure> selectedBugs = view.getBugIdsOfSelected();
+
+ // if there are some selected bugs view the bugs in the editor window
+ if (!selectedBugs.isEmpty()) {
+ ViewBugzillaAction viewBugs = new ViewBugzillaAction("Display bugs in editor", selectedBugs);
+ viewBugs.schedule();
+ }
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/AbstractBugEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/AbstractBugEditorInput.java
new file mode 100644
index 000000000..6a52b1b8f
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/AbstractBugEditorInput.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IPersistableElement;
+
+/**
+ * Abstract base implementation of an <code>IEditorInput</code> for a subclass
+ * of <code>AbstractBugEditor</code>.
+ */
+public abstract class AbstractBugEditorInput implements IEditorInput {
+
+ protected String toolTipText = "";
+
+ /**
+ * Sets the tool tip text for this editor input.
+ *
+ * @param str
+ * The new tool tip text.
+ */
+ protected void setToolTipText(String str) {
+ // 03-20-03 Allows editor to store title (once it is known)
+ toolTipText = str;
+ }
+
+ public boolean exists() {
+ return true;
+ }
+
+ /**
+ * @return The <code>IBugzillaBug</code> object for this editor input.
+ */
+ public abstract IBugzillaBug getBug();
+
+ public ImageDescriptor getImageDescriptor() {
+ return null;
+ }
+
+ public IPersistableElement getPersistable() {
+ return null;
+ }
+
+ public String getToolTipText() {
+ return toolTipText;
+ }
+
+ public Object getAdapter(Class adapter) {
+ return null;
+ }
+
+ /**
+ * @return <code>true</code> if the argument is an editor input on the
+ * same bug.
+ */
+ @Override
+ public abstract boolean equals(Object o);
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaEditorCopyAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaEditorCopyAction.java
new file mode 100644
index 000000000..bd8b6db5a
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaEditorCopyAction.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.jface.action.Action;
+
+/**
+ * Action used to copy selected text from a bug editor to the clipboard.
+ */
+public class BugzillaEditorCopyAction extends Action {
+ /** The editor to copy text selections from. */
+ private AbstractBugEditor bugEditor;
+
+ /**
+ * Creates a new <code>BugzillaEditorCopyAction</code>.
+ *
+ * @param editor
+ * The editor that this action is copying text selections from.
+ */
+ public BugzillaEditorCopyAction(AbstractBugEditor editor) {
+ bugEditor = editor;
+ setText("AbstractBugEditor.copy.text");
+ }
+
+ @Override
+ public void run() {
+ bugEditor.getCurrentText().copy();
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineComparer.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineComparer.java
new file mode 100644
index 000000000..fb0571d80
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineComparer.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.jface.viewers.IElementComparer;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaTools;
+import org.eclipse.mylar.internal.bugzilla.core.IBugzillaReportSelection;
+
+/**
+ * This class is used to compare two <code>IBugzillaReportSelection</code>
+ * objects.
+ *
+ * @see IElementComparer
+ * @see IBugzillaReportSelection
+ */
+public class BugzillaOutlineComparer implements IElementComparer {
+
+ public boolean equals(Object a, Object b) {
+ if ((a instanceof IBugzillaReportSelection) && (b instanceof IBugzillaReportSelection)) {
+ IBugzillaReportSelection s1 = (IBugzillaReportSelection) a;
+ IBugzillaReportSelection s2 = (IBugzillaReportSelection) b;
+
+ // An IBugzillaReportSelection is uniquely defined by its handle and
+ // its contents
+ return ((BugzillaTools.getHandle(s1).equals(BugzillaTools.getHandle(s2))) && ((s1.getContents() == null) ? (s2
+ .getContents() == null)
+ : s1.getContents().equals(s2.getContents())));
+ }
+ return a.equals(b);
+ }
+
+ public int hashCode(Object element) {
+ if (element instanceof IBugzillaReportSelection) {
+ IBugzillaReportSelection sel = (IBugzillaReportSelection) element;
+
+ // An IBugzillaReportSelection is uniquely defined by its handle and
+ // its contents
+ return (BugzillaTools.getHandle(sel) + sel.getContents()).hashCode();
+ }
+ return element.hashCode();
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineNode.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineNode.java
new file mode 100644
index 000000000..b18a6ea8f
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlineNode.java
@@ -0,0 +1,355 @@
+/*******************************************************************************
+ * Copyright (c) 2003 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.eclipse.mylar.bugzilla.core.BugReport;
+import org.eclipse.mylar.bugzilla.core.Comment;
+import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
+import org.eclipse.mylar.internal.bugzilla.core.IBugzillaReportSelection;
+import org.eclipse.mylar.internal.bugzilla.core.NewBugModel;
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaImages;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * A node for the tree in the <code>BugzillaOutlinePage</code>.
+ *
+ * @author Mik Kersten (hardening of prototype)
+ */
+public class BugzillaOutlineNode implements IBugzillaReportSelection {
+
+ /** The id of the Bugzilla object that the selection was on. */
+ protected int id;
+
+ /** The server of the Bugzilla object that the selection was on. */
+ protected String server;
+
+ /** The label for this piece of data. */
+ private String key;
+
+ /** The children of this node. */
+ private ArrayList<BugzillaOutlineNode> nodeChildren;
+
+ /** The parent of this node or null if it is the bug report */
+ private BugzillaOutlineNode parent;
+
+ /** This node's image. */
+ private Image image;
+
+ private Object data = null;
+
+ private String bugSummary;
+
+ private boolean fromEditor = false;
+
+ private boolean isCommentHeader = false;
+
+ private boolean isDescription = false;
+
+ /**
+ * Creates a new <code>BugzillaOutlineNode</code>.
+ *
+ * @param id
+ * The id of the bug this outline is for.
+ * @param server
+ * The server of the bug this outline is for.
+ * @param key
+ * The label for this node.
+ * @param image
+ * The image that will be displayed by this node in the tree.
+ * @param data
+ * The data, if necessary, this node represents.
+ * @param parent
+ * The parent of this node
+ */
+ public BugzillaOutlineNode(int id, String server, String key, Image image, Object data, String summary) {
+ this.id = id;
+ this.server = server;
+ this.key = key;
+ this.nodeChildren = null;
+ this.image = image;
+ this.data = data;
+ this.parent = null;
+ this.bugSummary = summary;
+ }
+
+ public boolean isFromEditor() {
+ return fromEditor;
+ }
+
+ /**
+ * @return The children of this node, represented as an <code>Object</code>
+ * array.
+ */
+ public BugzillaOutlineNode[] getChildren() {
+ return (nodeChildren == null) ? new BugzillaOutlineNode[0] : nodeChildren
+ .toArray(new BugzillaOutlineNode[nodeChildren.size()]);
+ }
+
+ /**
+ * Adds a node to this node's list of children.
+ *
+ * @param bugNode
+ * The new child.
+ */
+ public void addChild(BugzillaOutlineNode bugNode) {
+ if (nodeChildren == null) {
+ nodeChildren = new ArrayList<BugzillaOutlineNode>();
+ }
+ bugNode.setParent(this);
+ nodeChildren.add(bugNode);
+ }
+
+ /**
+ * @return The label of this node.
+ */
+ public String getKey() {
+ return key;
+ }
+
+ // /**
+ // * Set the label of this node.
+ // * @param key The new label.
+ // */
+ // public void setKey(String key) {
+ // this.key = key;
+ // }
+
+ /**
+ * TODO: remove, nodes don't need to know about image decorator
+ */
+ public Image getImage() {
+ return image;
+ }
+
+ /**
+ * Sets the decorator image for this node.
+ *
+ * @param newImage
+ * The new image.
+ */
+ public void setImage(Image newImage) {
+ this.image = newImage;
+ }
+
+ /**
+ * @return <code>true</code> if the given object is another node
+ * representing the same piece of data in the editor.
+ */
+ @Override
+ public boolean equals(Object arg0) {
+ if (arg0 instanceof BugzillaOutlineNode) {
+ BugzillaOutlineNode bugNode = (BugzillaOutlineNode) arg0;
+ return getKey().equals(bugNode.getKey());
+ }
+ return super.equals(arg0);
+ }
+
+ @Override
+ public int hashCode() {
+ return getKey().hashCode();
+ }
+
+ /**
+ * @return The name of this node.
+ */
+ public String getName() {
+ return getKey();
+ }
+
+ /**
+ * @return The data (where applicable) this node represents.
+ */
+ public Object getData() {
+ return data;
+ }
+
+ /**
+ * Sets the data that this node represents.
+ *
+ * @param data
+ * The new piece of data.
+ */
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ /**
+ * Parses the given <code>IBugzillaBug</code> into a tree of
+ * <code>BugzillaOutlineNode</code>'s suitable for use in the
+ * <code>BugzillaOutlinePage</code> view.
+ *
+ * @param bug
+ * The bug that needs parsing.
+ * @return The tree of <code>BugzillaOutlineNode</code>'s.
+ */
+ public static BugzillaOutlineNode parseBugReport(IBugzillaBug bug) {
+ // Choose the appropriate parsing function based on
+ // the type of IBugzillaBug.
+ if (bug instanceof NewBugModel) {
+ return parseBugReport((NewBugModel) bug);
+ } else if (bug instanceof BugReport) {
+ return parseBugReport((BugReport) bug);
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Parses the given <code>NewBugModel</code> into a tree of
+ * <code>BugzillaOutlineNode</code>'s suitable for use in the
+ * <code>BugzillaOutlinePage</code> view.
+ *
+ * @param bug
+ * The <code>NewBugModel</code> that needs parsing.
+ * @return The tree of <code>BugzillaOutlineNode</code>'s.
+ */
+ protected static BugzillaOutlineNode parseBugReport(NewBugModel bug) {
+ int bugId = bug.getId();
+ String bugServer = bug.getRepositoryUrl();
+ Image bugImage = BugzillaImages.getImage(BugzillaImages.BUG);
+ Image defaultImage = BugzillaImages.getImage(BugzillaImages.BUG_COMMENT);
+ BugzillaOutlineNode topNode = new BugzillaOutlineNode(bugId, bugServer, bug.getLabel(), bugImage, bug, bug
+ .getSummary());
+
+ topNode.addChild(new BugzillaOutlineNode(bugId, bugServer, "New Description", defaultImage, null, bug
+ .getSummary()));
+
+ BugzillaOutlineNode titleNode = new BugzillaOutlineNode(bugId, bugServer, "NewBugModel Object", defaultImage,
+ null, bug.getSummary());
+ titleNode.addChild(topNode);
+
+ return titleNode;
+ }
+
+ /**
+ * Parses the given <code>BugReport</code> into a tree of
+ * <code>BugzillaOutlineNode</code>'s suitable for use in the
+ * <code>BugzillaOutlinePage</code> view.
+ *
+ * @param bug
+ * The <code>BugReport</code> that needs parsing.
+ * @return The tree of <code>BugzillaOutlineNode</code>'s.
+ */
+ protected static BugzillaOutlineNode parseBugReport(BugReport bug) {
+
+ int bugId = bug.getId();
+ String bugServer = bug.getRepositoryUrl();
+ Image bugImage = BugzillaImages.getImage(BugzillaImages.BUG);
+ Image defaultImage = BugzillaImages.getImage(BugzillaImages.BUG_COMMENT);
+ BugzillaOutlineNode topNode = new BugzillaOutlineNode(bugId, bugServer, bug.getLabel(), bugImage, bug, bug
+ .getSummary());
+
+ BugzillaOutlineNode desc = new BugzillaOutlineNode(bugId, bugServer, "Description", defaultImage, bug
+ .getDescription(), bug.getSummary());
+ desc.setIsDescription(true);
+
+ topNode.addChild(desc);
+
+ BugzillaOutlineNode comments = null;
+ for (Iterator<Comment> iter = bug.getComments().iterator(); iter.hasNext();) {
+ Comment comment = iter.next();
+
+ if (comments == null) {
+ comments = new BugzillaOutlineNode(bugId, bugServer, "Comments", defaultImage, comment, bug
+ .getSummary());
+ comments.setIsCommentHeader(true);
+ }
+ comments.addChild(new BugzillaOutlineNode(bugId, bugServer, comment.getCreated().toString(), defaultImage,
+ comment, bug.getSummary()));
+ }
+ if (comments != null) {
+ topNode.addChild(comments);
+ }
+
+ topNode
+ .addChild(new BugzillaOutlineNode(bugId, bugServer, "New Comment", defaultImage, null, bug.getSummary()));
+
+ BugzillaOutlineNode titleNode = new BugzillaOutlineNode(bugId, bugServer, "BugReport Object", defaultImage,
+ null, bug.getSummary());
+ titleNode.addChild(topNode);
+
+ return titleNode;
+ }
+
+ public boolean hasComment() {
+ // If the comment category was selected, then the comment object is
+ // not the intended selection (it is just used to help find the correct
+ // location in the editor).
+ return (data instanceof Comment) && !(key.toLowerCase().equals("comments"));
+ }
+
+ public Comment getComment() {
+ return (hasComment()) ? (Comment) data : null;
+ }
+
+ public void setComment(Comment comment) {
+ data = comment;
+ }
+
+ public String getContents() {
+ return key;
+ }
+
+ public void setContents(String contents) {
+ key = contents;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getServer() {
+ return server;
+ }
+
+ public void setServer(String server) {
+ this.server = server;
+ }
+
+ public boolean isEmpty() {
+ return (server == null) || ((getContents() == null) && (getComment() == null));
+ }
+
+ public BugzillaOutlineNode getParent() {
+ return parent;
+ }
+
+ public void setParent(BugzillaOutlineNode parent) {
+ this.parent = parent;
+ }
+
+ public boolean isCommentHeader() {
+ return isCommentHeader;
+ }
+
+ public boolean isDescription() {
+ return isDescription;
+ }
+
+ public void setIsCommentHeader(boolean isCommentHeader) {
+ this.isCommentHeader = isCommentHeader;
+ }
+
+ public void setIsDescription(boolean isDescription) {
+ this.isDescription = isDescription;
+ }
+
+ public String getBugSummary() {
+ return bugSummary;
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlinePage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlinePage.java
new file mode 100644
index 000000000..b8c04448a
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaOutlinePage.java
@@ -0,0 +1,172 @@
+/*******************************************************************************
+ * Copyright (c) 2003 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaTools;
+import org.eclipse.mylar.internal.bugzilla.core.IBugzillaReportSelection;
+import org.eclipse.mylar.internal.bugzilla.ui.BugzillaImages;
+import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+
+/**
+ * An outline page for a <code>BugEditor</code>.
+ */
+public class BugzillaOutlinePage extends ContentOutlinePage {
+
+ private BugzillaOutlineNode topTreeNode;
+
+ protected final ISelectionListener selectionListener = new ISelectionListener() {
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+ if ((part instanceof AbstractBugEditor) && (selection instanceof IStructuredSelection)) {
+ if (((IStructuredSelection) selection).getFirstElement() instanceof IBugzillaReportSelection) {
+ if (((IStructuredSelection) getSelection()).getFirstElement() instanceof IBugzillaReportSelection) {
+ IBugzillaReportSelection brs1 = (IBugzillaReportSelection) ((IStructuredSelection) getSelection())
+ .getFirstElement();
+ IBugzillaReportSelection brs2 = ((IBugzillaReportSelection) ((IStructuredSelection) selection)
+ .getFirstElement());
+ if (BugzillaTools.getHandle(brs1).compareTo(BugzillaTools.getHandle(brs2)) == 0) {
+ // don't need to make a selection for the same
+ // element
+ return;
+ }
+ }
+ getTreeViewer().setSelection(selection, true);
+ }
+ }
+ }
+ };
+
+ private TreeViewer viewer;
+
+ /**
+ * Creates a new <code>BugzillaOutlinePage</code>.
+ *
+ * @param topTreeNode
+ * The top data node of the tree for this view.
+ * @param editor
+ * The editor this outline page is for.
+ */
+ public BugzillaOutlinePage(BugzillaOutlineNode topTreeNode) {
+ super();
+ this.topTreeNode = topTreeNode;
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ viewer = getTreeViewer();
+ viewer.setContentProvider(new BugTaskOutlineContentProvider());
+ viewer.setLabelProvider(new LabelProvider() {
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof BugzillaOutlineNode) {
+ BugzillaOutlineNode node = (BugzillaOutlineNode) element;
+ if (node.getComment() != null) {
+ return node.getImage();
+ } else {
+ return BugzillaImages.getImage(BugzillaImages.BUG);
+ }
+ } else {
+ return super.getImage(element);
+ }
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element instanceof BugzillaOutlineNode) {
+ BugzillaOutlineNode node = (BugzillaOutlineNode) element;
+ if (node.getComment() != null) {
+ return node.getComment().getAuthorName() + " (" + node.getName() + ")";
+ } else {
+ return node.getName();
+ }
+ }
+ return super.getText(element);
+ }
+ });
+ try {
+ viewer.setInput(topTreeNode);
+ viewer.setComparer(new BugzillaOutlineComparer());
+ viewer.expandAll();
+ } catch (Exception e) {
+ MylarStatusHandler.fail(e, "could not create bugzilla outline", true);
+ }
+ getSite().getPage().addSelectionListener(selectionListener);
+ }
+
+ @Override
+ public void dispose() {
+ super.dispose();
+ getSite().getPage().removeSelectionListener(selectionListener);
+ }
+
+ public TreeViewer getOutlineTreeViewer() {
+ return viewer;
+ }
+
+ /**
+ * A content provider for the tree for this view.
+ *
+ * @see ITreeContentProvider
+ */
+ protected class BugTaskOutlineContentProvider implements ITreeContentProvider {
+
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof BugzillaOutlineNode) {
+ Object[] children = ((BugzillaOutlineNode) parentElement).getChildren();
+ if (children.length > 0) {
+ return children;
+ }
+ }
+ return new Object[0];
+ }
+
+ public Object getParent(Object element) {
+ return null;
+ }
+
+ public boolean hasChildren(Object element) {
+ if (element instanceof BugzillaOutlineNode) {
+ return ((BugzillaOutlineNode) element).getChildren().length > 0;
+ }
+ return false;
+ }
+
+ public Object[] getElements(Object inputElement) {
+ if (inputElement instanceof BugzillaOutlineNode) {
+ Object[] children = ((BugzillaOutlineNode) inputElement).getChildren();
+ if (children.length > 0) {
+ return children;
+ }
+ }
+ return new Object[0];
+ }
+
+ public void dispose() {
+ // don't care when we are disposed
+ }
+
+ public void inputChanged(Viewer viewerChanged, Object oldInput, Object newInput) {
+ // don't care when the input changes
+ }
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaReportSelection.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaReportSelection.java
new file mode 100644
index 000000000..48941171f
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaReportSelection.java
@@ -0,0 +1,172 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.mylar.bugzilla.core.Comment;
+import org.eclipse.mylar.internal.bugzilla.core.IBugzillaReportSelection;
+
+/**
+ * A selection of a Bugzilla element in a view.
+ */
+public class BugzillaReportSelection implements IBugzillaReportSelection {
+
+ /**
+ * The id of the Bugzilla object that the selection was on.
+ */
+ protected int id;
+
+ /** The server of the Bugzilla object that the selection was on. */
+ protected String server;
+
+ /** The contents of the selection. */
+ protected String contents;
+
+ protected String bugSummary;
+
+ /**
+ * The comment, if a comment was selected. If the selection was not a
+ * comment, then this is <code>null</code>.
+ */
+ protected Comment comment;
+
+ /**
+ * Creates a new <code>BugzillaReportSelection</code> with no supplied
+ * contents or comment.
+ *
+ * @param id
+ * The id of the Bugzilla object that the selection was on.
+ * @param server
+ * The server of the Bugzilla object that the selection was on.
+ */
+ public BugzillaReportSelection(int id, String server, String summary) {
+ this(id, server, null, null, summary);
+ }
+
+ /**
+ * Creates a new <code>BugzillaReportSelection</code> with no supplied
+ * comment.
+ *
+ * @param id
+ * The id of the Bugzilla object that the selection was on.
+ * @param server
+ * The server of the Bugzilla object that the selection was on.
+ * @param contents
+ * The contents of the selection.
+ */
+ public BugzillaReportSelection(int id, String server, String contents, boolean isDescription, String summary) {
+ this(id, server, contents, null, summary);
+ this.isDescription = isDescription;
+ }
+
+ /**
+ * Creates a new <code>BugzillaReportSelection</code> with no supplied
+ * contents.
+ *
+ * @param id
+ * The id of the Bugzilla object that the selection was on.
+ * @param server
+ * The server of the Bugzilla object that the selection was on.
+ * @param comment
+ * The <code>Comment</code> object for this selection. If a
+ * comment was not selected, then this should be
+ * <code>null</code>.
+ */
+ public BugzillaReportSelection(int id, String server, Comment comment, String summary) {
+ this(id, server, null, comment, summary);
+ }
+
+ /**
+ * Creates a new <code>BugzillaReportSelection</code>.
+ *
+ * @param id
+ * The id of the Bugzilla object that the selection was on.
+ * @param server
+ * The server of the Bugzilla object that the selection was on.
+ * @param contents
+ * The contents of the selection.
+ * @param comment
+ * The <code>Comment</code> object for this selection. If a
+ * comment was not selected, then this should be
+ * <code>null</code>.
+ */
+ public BugzillaReportSelection(int id, String server, String contents, Comment comment, String summary) {
+ this.id = id;
+ this.server = server;
+ this.contents = contents;
+ this.comment = comment;
+ this.bugSummary = summary;
+ }
+
+ public boolean hasComment() {
+ return comment != null;
+ }
+
+ public Comment getComment() {
+ return comment;
+ }
+
+ public void setComment(Comment comment) {
+ this.comment = comment;
+ }
+
+ public String getContents() {
+ return contents;
+ }
+
+ public void setContents(String contents) {
+ this.contents = contents;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getServer() {
+ return server;
+ }
+
+ public void setServer(String server) {
+ this.server = server;
+ }
+
+ public boolean isEmpty() {
+ return (server == null) || ((contents == null) && (comment == null));
+ }
+
+ private boolean isCommentHeader = false;
+
+ private boolean isDescription = false;
+
+ public boolean isCommentHeader() {
+ return isCommentHeader;
+ }
+
+ public boolean isDescription() {
+ return isDescription;
+ }
+
+ public void setIsCommentHeader(boolean isCommentHeader) {
+ this.isCommentHeader = isCommentHeader;
+ }
+
+ public void setIsDescription(boolean isDescription) {
+ this.isDescription = isDescription;
+ }
+
+ public String getBugSummary() {
+ return bugSummary;
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditorInput.java
new file mode 100644
index 000000000..3f7045ede
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/ExistingBugEditorInput.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2003 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import java.io.IOException;
+
+import javax.security.auth.login.LoginException;
+
+import org.eclipse.mylar.bugzilla.core.BugReport;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaPlugin;
+import org.eclipse.mylar.internal.bugzilla.core.BugzillaRepositoryUtil;
+import org.eclipse.mylar.provisional.tasklist.MylarTaskListPlugin;
+import org.eclipse.mylar.provisional.tasklist.TaskRepository;
+
+/**
+ * The <code>IEditorInput</code> implementation for
+ * <code>ExistingBugEditor</code>.
+ *
+ * @author Mik Kersten (some hardening of initial prototype)
+ */
+public class ExistingBugEditorInput extends AbstractBugEditorInput {
+
+ private TaskRepository repository;
+
+ protected int bugId;
+
+ protected BugReport bug;
+
+ /**
+ * Creates a new <code>ExistingBugEditorInput</code>.
+ *
+ * @param bug
+ * The bug for this editor input.
+ */
+ public ExistingBugEditorInput(BugReport bug) {
+ this.bug = bug;
+ this.bugId = bug.getId();
+ repository = MylarTaskListPlugin.getRepositoryManager().getRepository(BugzillaPlugin.REPOSITORY_KIND,
+ bug.getRepositoryUrl());
+ }
+
+ /**
+ * Creates a new <code>ExistingBugEditorInput</code>. An exception is
+ * thrown if the bug could not be obtained from the server.
+ *
+ * @param bugId
+ * The id of the bug for this editor input.
+ * @throws LoginException
+ * @throws IOException
+ */
+ public ExistingBugEditorInput(String repositoryUrl, int bugId) throws LoginException, IOException {
+ this.bugId = bugId;
+ // get the bug from the server if it exists
+ bug = BugzillaRepositoryUtil.getBug(repositoryUrl, bugId);
+ repository = MylarTaskListPlugin.getRepositoryManager().getRepository(BugzillaPlugin.REPOSITORY_KIND,
+ repositoryUrl);
+ }
+
+ public ExistingBugEditorInput(String repositoryUrl, int bugId, boolean offline) throws LoginException, IOException {
+ this.bugId = bugId;
+ repository = MylarTaskListPlugin.getRepositoryManager().getRepository(BugzillaPlugin.REPOSITORY_KIND,
+ repositoryUrl);
+ if (!offline) {
+ try {
+ bug = BugzillaRepositoryUtil.getBug(repositoryUrl, bugId);
+ } catch (IOException e) {
+ bug = BugzillaRepositoryUtil.getCurrentBug(repositoryUrl, bugId);
+ // IWorkbench workbench = PlatformUI.getWorkbench();
+ // workbench.getDisplay().asyncExec(new Runnable() {
+ // public void run() {
+ // MessageDialog.openInformation(
+ // Display.getDefault().getActiveShell(),
+ // "Mylar Bugzilla Client",
+ // "Unable to download bug report, using offline copy.");
+ //
+ // }
+ // });
+ }
+ } else {
+ bug = BugzillaRepositoryUtil.getCurrentBug(repositoryUrl, bugId);
+ }
+ }
+
+ public String getName() {
+ return bug.getLabel();
+ }
+
+ /**
+ * @return The id of the bug for this editor input.
+ */
+ public int getBugId() {
+ return bugId;
+ }
+
+ @Override
+ public BugReport getBug() {
+ return bug;
+ }
+
+ /**
+ * @return <code>true</code> if the argument is a bug report editor input
+ * on the same bug id.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof ExistingBugEditorInput) {
+ ExistingBugEditorInput input = (ExistingBugEditorInput) o;
+ return getBugId() == input.getBugId();
+ }
+ return false;
+ }
+
+ public TaskRepository getRepository() {
+ return repository;
+ }
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditorInput.java
new file mode 100644
index 000000000..4d91b85cd
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/NewBugEditorInput.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.mylar.internal.bugzilla.core.NewBugModel;
+
+/**
+ * The <code>IEditorInput</code> implementation for <code>NewBugEditor</code>.
+ */
+public class NewBugEditorInput extends AbstractBugEditorInput {
+
+ protected NewBugModel bug;
+
+ /**
+ * Creates a new <code>NewBugEditorInput</code>.
+ *
+ * @param bug
+ * The bug for this editor input.
+ */
+ public NewBugEditorInput(NewBugModel bug) {
+ this.bug = bug;
+ }
+
+ public String getName() {
+ return bug.getLabel();
+ }
+
+ @Override
+ public NewBugModel getBug() {
+ return bug;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof NewBugEditorInput) {
+ NewBugEditorInput input = (NewBugEditorInput) o;
+ return input.getBug().equals(bug);
+ }
+ return false;
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/SpellingDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/SpellingDialog.java
new file mode 100644
index 000000000..f4b40ef25
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/SpellingDialog.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.bugzilla.ui.editor;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * TODO this is used only for spell checking which is not yet implemented,
+ * therefore this is not properly tested
+ *
+ * @author Shawn Minto
+ */
+public class SpellingDialog extends Dialog {
+
+ private String title;
+
+ private Text wordToFix;
+
+ private List suggestions;
+
+ private IDocument document;
+
+ private ICompletionProposal[] proposals;
+
+ protected SpellingDialog(Shell parentShell, String title, IDocument document) {
+ super(parentShell);
+ this.title = title;
+ this.document = document;
+ }
+
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Control c = super.createDialogArea(parent);
+
+ Composite spellingComposite = new Composite(parent, SWT.NONE);
+
+ GridLayout spellingLayout = new GridLayout();
+ spellingLayout.numColumns = 1;
+ spellingComposite.setLayout(spellingLayout);
+
+ wordToFix = new Text(spellingComposite, SWT.BORDER | SWT.READ_ONLY);
+ GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gd.widthHint = 150;
+ wordToFix.setLayoutData(gd);
+
+ suggestions = new List(spellingComposite, SWT.BORDER);
+ gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gd.widthHint = 150;
+ gd.heightHint = AbstractBugEditor.WRAP_LENGTH;
+ suggestions.setLayoutData(gd);
+
+ return c;
+ }
+
+ @Override
+ protected void configureShell(Shell newShell) {
+ super.configureShell(newShell);
+ newShell.setText(title);
+ }
+
+ public void open(String word, ICompletionProposal[] proposals) {
+ create();
+
+ this.proposals = proposals;
+
+ wordToFix.setText(word);
+ suggestions.removeAll();
+
+ for (int i = 0; i < proposals.length; i++) {
+ suggestions.setItem(i, proposals[i].getDisplayString());
+ }
+
+ super.open();
+ }
+
+ @Override
+ protected void handleShellCloseEvent() {
+ if (getReturnCode() == Dialog.OK) {
+ int i = suggestions.getSelectionIndex();
+ if (i > 0 && i < proposals.length)
+ proposals[i].apply(document);
+ }
+ super.handleShellCloseEvent();
+ }
+
+}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaResultCollector.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaResultCollector.java
new file mode 100644
index 000000000..3a48332ed
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaResultCollector.java
@@ -0,0 +1,176 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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:
+ * University Of British Columbia - initial API and implementation
+ ****************************************