Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvs2git2005-10-27 00:29:45 +0000
committercvs2git2005-10-27 00:29:45 +0000
commit54c9d76c2e566a5e9353df35e995dd42e60816fd (patch)
tree4f4eafd77c8a79d75a66eea30144f8ed1332c4b4
parent80f17e84878ff8c28b26d15eeb52abda654ceadb (diff)
downloadorg.eclipse.mylyn.tasks-54c9d76c2e566a5e9353df35e995dd42e60816fd.tar.gz
org.eclipse.mylyn.tasks-54c9d76c2e566a5e9353df35e995dd42e60816fd.tar.xz
org.eclipse.mylyn.tasks-54c9d76c2e566a5e9353df35e995dd42e60816fd.zip
This commit was manufactured by cvs2svn to create tag 'Root_eclipse_3_1'.Root_eclipse_3_1
Sprout from master 2005-10-27 00:29:44 UTC mkersten 'Update site progress' Delete: org.eclipse.mylyn.bugzilla-feature/.project org.eclipse.mylyn.bugzilla-feature/about.html org.eclipse.mylyn.bugzilla-feature/build.properties org.eclipse.mylyn.bugzilla-feature/epl-v10.html org.eclipse.mylyn.bugzilla-feature/feature.xml org.eclipse.mylyn.bugzilla-feature/license.html org.eclipse.mylyn.bugzilla.core/.classpath org.eclipse.mylyn.bugzilla.core/.cvsignore 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.pde.prefs org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF org.eclipse.mylyn.bugzilla.core/about.html org.eclipse.mylyn.bugzilla.core/build-user.xml org.eclipse.mylyn.bugzilla.core/build.properties org.eclipse.mylyn.bugzilla.core/build.xml org.eclipse.mylyn.bugzilla.core/plugin.xml org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Attribute.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugPost.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugReport.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaAuthenticator.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaException.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPlugin.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPreferences.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaRepository.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaTools.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Comment.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaAttributeListener.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaBug.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaConstants.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaReportSelection.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IOfflineBugListener.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/NewBugModel.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Operation.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/PossibleBugzillaFailureException.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/TrustAll.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareInput.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaStructureCreator.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/Favorite.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/FavoritesFile.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/BugParser.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlStreamTokenizer.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlTag.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/KeywordParser.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/NewBugParser.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfiguration.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfigurationFactory.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductParser.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/offline/OfflineReportsFile.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaContentProvider.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaIdSearchSorter.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaLabelProvider.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaPrioritySearchSorter.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaQueryPageParser.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchEngine.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchHit.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchOperation.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchQuery.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResult.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResultCollector.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSeveritySearchSorter.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaStateSearchSorter.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaResultEditorMatchAdapter.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchOperation.java org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchResultCollector.java org.eclipse.mylyn.bugzilla.tests/.classpath org.eclipse.mylyn.bugzilla.tests/.cvsignore org.eclipse.mylyn.bugzilla.tests/.project org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.pde.prefs org.eclipse.mylyn.bugzilla.tests/META-INF/MANIFEST.MF org.eclipse.mylyn.bugzilla.tests/TestPages/bug-1-full.html org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-eclipse.html org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-hipikat.html org.eclipse.mylyn.bugzilla.tests/TestPages/cdt-page.html org.eclipse.mylyn.bugzilla.tests/TestPages/equinox-page.html org.eclipse.mylyn.bugzilla.tests/TestPages/gmt-page.html org.eclipse.mylyn.bugzilla.tests/TestPages/hipikat-copy-bug-1-full.html org.eclipse.mylyn.bugzilla.tests/TestPages/platform-page.html org.eclipse.mylyn.bugzilla.tests/TestPages/product-page-1-product-hipikat.html org.eclipse.mylyn.bugzilla.tests/TestPages/product-page.html org.eclipse.mylyn.bugzilla.tests/TestPages/ve-page.html org.eclipse.mylyn.bugzilla.tests/about.html org.eclipse.mylyn.bugzilla.tests/build.properties org.eclipse.mylyn.bugzilla.tests/plugin.xml org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/AllTests.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestCDT.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestEquinox.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestGMT.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestPlatform.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestVE.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTest.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTestNoBug.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParser1ProductHipikatTest.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParserTest.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaTestPlugin.java org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java org.eclipse.mylyn.bugzilla.ui/.classpath org.eclipse.mylyn.bugzilla.ui/.cvsignore org.eclipse.mylyn.bugzilla.ui/.project 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/.settings/org.eclipse.pde.prefs org.eclipse.mylyn.bugzilla.ui/META-INF/MANIFEST.MF org.eclipse.mylyn.bugzilla.ui/about.html org.eclipse.mylyn.bugzilla.ui/bugzilla-help.xml org.eclipse.mylyn.bugzilla.ui/build-user.xml org.eclipse.mylyn.bugzilla.ui/build.properties org.eclipse.mylyn.bugzilla.ui/build.xml org.eclipse.mylyn.bugzilla.ui/doc/html/Bugzilla.gif org.eclipse.mylyn.bugzilla.ui/doc/html/book.html org.eclipse.mylyn.bugzilla.ui/doc/html/start.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugEditor.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugWizard.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaFavorites.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaSearch.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove-all.gif org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove.gif org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-bug-editor.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-favorites-window.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-context.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-dialog.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-sorting.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-searchresults.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/existing-bug-editor.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-attributes.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-products.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/offline-reports.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/prefs.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/previous-searches.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query-overwrite.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/saved-query-list.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/update-search-dialog.png org.eclipse.mylyn.bugzilla.ui/doc/html/start/limitations.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/offlineReports.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/saveQuery.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/setup.html org.eclipse.mylyn.bugzilla.ui/doc/html/start/use.html org.eclipse.mylyn.bugzilla.ui/doc/toc.xml org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-comment.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-dirty.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-favorite.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-new.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search-new.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-small.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-conflicting.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-incoming.gif org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-outgoing.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query-new.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-new.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-refresh.gif org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug.gif org.eclipse.mylyn.bugzilla.ui/icons/openresult.gif org.eclipse.mylyn.bugzilla.ui/icons/remove-all.gif org.eclipse.mylyn.bugzilla.ui/icons/remove.gif org.eclipse.mylyn.bugzilla.ui/icons/selectAll.gif org.eclipse.mylyn.bugzilla.ui/icons/wizban/bug-wizard.gif org.eclipse.mylyn.bugzilla.ui/plugin.xml org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaImages.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaOpenStructure.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaResultMatchAdapter.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaTableContentProvider.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUITools.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUiPlugin.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/FavoritesView.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/OfflineView.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/ViewBugzillaAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/WebBrowserDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/AbstractOfflineReportsAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/BugzillaSortAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/DeleteOfflineReportAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/OpenBugsAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/ViewOfflineReportAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditor.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/BugzillaEditorCopyAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/SpellingDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AbstractFavoritesAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddFavoriteAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddToFavoritesAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/DeleteFavoriteAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/ViewFavoriteAction.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineComparer.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineNode.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlinePage.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaReportSelection.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/GetQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SaveQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SavedQueryFile.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaResultCollector.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchPage.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchResultView.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCacheFile.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCategorySearchOperation.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQuery.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaHit.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryCategory.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryDialog.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaRefreshManager.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaReportNode.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTask.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditor.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskHandler.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskListManager.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTasksTools.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/StackTrace.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractBugWizard.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardDataPage.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardListPage.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/NewBugWizard.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardAttributesPage.java org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardProductPage.java org.eclipse.mylyn.help.ui/.classpath org.eclipse.mylyn.help.ui/.cvsignore org.eclipse.mylyn.help.ui/.project org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.help.ui/.settings/org.eclipse.pde.prefs org.eclipse.mylyn.help.ui/META-INF/MANIFEST.MF org.eclipse.mylyn.help.ui/about.html org.eclipse.mylyn.help.ui/build-user.xml org.eclipse.mylyn.help.ui/build.properties org.eclipse.mylyn.help.ui/build.xml org.eclipse.mylyn.help.ui/doc/book.css org.eclipse.mylyn.help.ui/doc/context.html org.eclipse.mylyn.help.ui/doc/developer/changes.html org.eclipse.mylyn.help.ui/doc/developer/dependencies.vsd org.eclipse.mylyn.help.ui/doc/developer/index.html org.eclipse.mylyn.help.ui/doc/developer/model.vsd org.eclipse.mylyn.help.ui/doc/faq.html org.eclipse.mylyn.help.ui/doc/images/active-hierarchy.gif org.eclipse.mylyn.help.ui/doc/images/active-search-linked.gif org.eclipse.mylyn.help.ui/doc/images/active-search-manipulation.gif org.eclipse.mylyn.help.ui/doc/images/active-search-qualify.gif org.eclipse.mylyn.help.ui/doc/images/active-search.gif org.eclipse.mylyn.help.ui/doc/images/alt-click.gif org.eclipse.mylyn.help.ui/doc/images/bugzilla-hyperlink.gif org.eclipse.mylyn.help.ui/doc/images/bugzilla-internal-browser.gif org.eclipse.mylyn.help.ui/doc/images/bugzilla-query-custom.gif org.eclipse.mylyn.help.ui/doc/images/bugzilla-synch.gif org.eclipse.mylyn.help.ui/doc/images/filter-auto-toggle.gif org.eclipse.mylyn.help.ui/doc/images/filtering-ant.gif org.eclipse.mylyn.help.ui/doc/images/filtering-declarations.gif org.eclipse.mylyn.help.ui/doc/images/filtering-exclusion.gif org.eclipse.mylyn.help.ui/doc/images/filtering-navigator.gif org.eclipse.mylyn.help.ui/doc/images/folding-toggle.gif org.eclipse.mylyn.help.ui/doc/images/highlight.gif org.eclipse.mylyn.help.ui/doc/images/interest-content-assist.gif org.eclipse.mylyn.help.ui/doc/images/interest-error.gif org.eclipse.mylyn.help.ui/doc/images/interest-java-browsing.gif org.eclipse.mylyn.help.ui/doc/images/interest-manipulate.gif org.eclipse.mylyn.help.ui/doc/images/open-type.gif org.eclipse.mylyn.help.ui/doc/images/overview.gif org.eclipse.mylyn.help.ui/doc/images/preference-error-interest.gif org.eclipse.mylyn.help.ui/doc/images/search-context.gif org.eclipse.mylyn.help.ui/doc/images/task-context-visible.gif org.eclipse.mylyn.help.ui/doc/images/tasklist-actions.gif org.eclipse.mylyn.help.ui/doc/images/tasks-archive.gif org.eclipse.mylyn.help.ui/doc/images/tasks-drilldown.gif org.eclipse.mylyn.help.ui/doc/images/tasks-go-navigation.gif org.eclipse.mylyn.help.ui/doc/images/tasks-history.gif org.eclipse.mylyn.help.ui/doc/images/tasks-offline.gif org.eclipse.mylyn.help.ui/doc/images/tasks-quick-filter.gif org.eclipse.mylyn.help.ui/doc/images/tasks-reminders.gif org.eclipse.mylyn.help.ui/doc/images/test-context.gif org.eclipse.mylyn.help.ui/doc/new.html org.eclipse.mylyn.help.ui/doc/overview.html org.eclipse.mylyn.help.ui/doc/toc.xml org.eclipse.mylyn.help.ui/plugin.xml org.eclipse.mylyn.help.ui/src/empty.txt org.eclipse.mylyn.tasks.core/.classpath org.eclipse.mylyn.tasks.core/.cvsignore org.eclipse.mylyn.tasks.core/.project 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/.settings/org.eclipse.pde.prefs org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF org.eclipse.mylyn.tasks.core/build-user.xml org.eclipse.mylyn.tasks.core/build.properties org.eclipse.mylyn.tasks.core/build.xml org.eclipse.mylyn.tasks.core/icons/elcl16/edge-ref-bug.gif org.eclipse.mylyn.tasks.core/plugin.xml org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaContextLabelProvider.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaEditingMonitor.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaReportCache.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaSearchManager.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaStructureBridge.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaUiBridge.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/MylarBugsPlugin.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLink.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLinkDetector.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearch.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchJob.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchOperation.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaReferencesProvider.java org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/Util.java org.eclipse.mylyn.tasks.tests/.classpath org.eclipse.mylyn.tasks.tests/.cvsignore org.eclipse.mylyn.tasks.tests/.project org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.core.prefs org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.pde.prefs org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF org.eclipse.mylyn.tasks.tests/about.html 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/Job.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/People.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Person.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/TaskListManagerTest.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/TaskTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaSearchPluginTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaStackTraceTest.java org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/MylarBugzillaTestsPlugin.java org.eclipse.mylyn.tasks.ui/.classpath org.eclipse.mylyn.tasks.ui/.cvsignore org.eclipse.mylyn.tasks.ui/.project org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.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/about.html org.eclipse.mylyn.tasks.ui/build-user.xml org.eclipse.mylyn.tasks.ui/build.properties org.eclipse.mylyn.tasks.ui/build.xml org.eclipse.mylyn.tasks.ui/doc/book.css org.eclipse.mylyn.tasks.ui/doc/bugzilla.html org.eclipse.mylyn.tasks.ui/doc/images/tasklist-overview.gif org.eclipse.mylyn.tasks.ui/doc/planning.html org.eclipse.mylyn.tasks.ui/doc/tasklist.html org.eclipse.mylyn.tasks.ui/doc/toc.xml org.eclipse.mylyn.tasks.ui/icons/elcl16/collapseall.png org.eclipse.mylyn.tasks.ui/icons/elcl16/delete.gif org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-complete.gif org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-priority.gif org.eclipse.mylyn.tasks.ui/icons/elcl16/refresh.gif org.eclipse.mylyn.tasks.ui/icons/elcl16/remove.gif org.eclipse.mylyn.tasks.ui/icons/etool16/category-archive.gif org.eclipse.mylyn.tasks.ui/icons/etool16/category-new.gif org.eclipse.mylyn.tasks.ui/icons/etool16/category.gif org.eclipse.mylyn.tasks.ui/icons/etool16/copy.png org.eclipse.mylyn.tasks.ui/icons/etool16/go-into.gif org.eclipse.mylyn.tasks.ui/icons/etool16/go-up.gif org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-next.gif org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-active.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-complete.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-context.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-inactive.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-incomplete.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gif org.eclipse.mylyn.tasks.ui/icons/etool16/task.gif org.eclipse.mylyn.tasks.ui/icons/eview16/task-bug.gif org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif org.eclipse.mylyn.tasks.ui/icons/eview16/task.gif org.eclipse.mylyn.tasks.ui/plugin.xml org.eclipse.mylyn.tasks.ui/schema/editors.exsd org.eclipse.mylyn.tasks.ui/schema/providers.exsd org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITask.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivationListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivityListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHandler.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHighlighter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskInfo.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListDynamicSubMenuContributor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListElement.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListExternalizer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/Task.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskActiveTimerListener.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListImages.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListManager.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/contribution/DatePicker.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/DefaultTaskListExternalizer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/MylarExternalizerException.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/RelativePathUtil.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCategory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCompleteFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskList.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExternalizer.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListPatternFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskPriorityFilter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/CompletedTaskCollector.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ITasksCollector.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ReminderRequiredCollector.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/TaskReportGenerator.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksEditorInput.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksSorter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerEditorPart.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizard.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizardPage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksSorter.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditorInput.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorCopyAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorInput.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TasksReminderDialog.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/AutoCloseAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CollapseAllAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateCategoryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateTaskAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DeleteAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/FilterCompletedTasksAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoIntoAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskCompleteAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskIncompleteAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MoveTaskToRootAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/OpenTaskEditorAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RemoveFromCategoryAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskActivateAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskDeactivateAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/DateChooserDialog.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskInputDialog.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListContentProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListLabelProvider.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/ToolTipHandler.java
-rw-r--r--org.eclipse.mylyn.bugzilla-feature/.project17
-rw-r--r--org.eclipse.mylyn.bugzilla-feature/about.html22
-rw-r--r--org.eclipse.mylyn.bugzilla-feature/build.properties18
-rw-r--r--org.eclipse.mylyn.bugzilla-feature/epl-v10.html328
-rw-r--r--org.eclipse.mylyn.bugzilla-feature/feature.xml260
-rw-r--r--org.eclipse.mylyn.bugzilla-feature/license.html73
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.classpath12
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.cvsignore3
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.project28
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF24
-rw-r--r--org.eclipse.mylyn.bugzilla.core/about.html22
-rw-r--r--org.eclipse.mylyn.bugzilla.core/build-user.xml3
-rw-r--r--org.eclipse.mylyn.bugzilla.core/build.properties34
-rw-r--r--org.eclipse.mylyn.bugzilla.core/build.xml39
-rw-r--r--org.eclipse.mylyn.bugzilla.core/plugin.xml32
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Attribute.java177
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugPost.java332
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugReport.java420
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaAuthenticator.java57
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaException.java65
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPlugin.java376
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPreferences.java604
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaRepository.java418
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaTools.java64
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Comment.java165
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaAttributeListener.java19
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaBug.java88
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaConstants.java94
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaReportSelection.java89
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IOfflineBugListener.java12
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/NewBugModel.java200
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Operation.java205
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/PossibleBugzillaFailureException.java64
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/TrustAll.java62
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareInput.java122
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java233
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaStructureCreator.java75
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/Favorite.java110
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/FavoritesFile.java318
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/BugParser.java840
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlStreamTokenizer.java633
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlTag.java340
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/KeywordParser.java151
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/NewBugParser.java409
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfiguration.java177
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfigurationFactory.java194
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductParser.java148
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/offline/OfflineReportsFile.java419
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaContentProvider.java58
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaIdSearchSorter.java85
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaLabelProvider.java96
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaPrioritySearchSorter.java85
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaQueryPageParser.java513
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchEngine.java334
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchHit.java171
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchOperation.java110
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchQuery.java115
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResult.java110
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResultCollector.java225
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSeveritySearchSorter.java91
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaStateSearchSorter.java112
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaResultEditorMatchAdapter.java26
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchOperation.java58
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchResultCollector.java65
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.classpath7
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.cvsignore1
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.project28
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/META-INF/MANIFEST.MF20
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/bug-1-full.html719
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-eclipse.html158
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-hipikat.html142
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/cdt-page.html184
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/equinox-page.html177
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/gmt-page.html175
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/hipikat-copy-bug-1-full.html157
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/platform-page.html299
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/product-page-1-product-hipikat.html256
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/product-page.html237
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/TestPages/ve-page.html178
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/about.html22
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/build.properties23
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/plugin.xml6
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/AllTests.java42
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestCDT.java231
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestEquinox.java216
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestGMT.java217
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestPlatform.java243
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestVE.java223
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTest.java215
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTestNoBug.java46
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParser1ProductHipikatTest.java68
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParserTest.java80
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaTestPlugin.java96
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java256
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.classpath11
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.cvsignore1
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.project28
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs3
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/META-INF/MANIFEST.MF31
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/about.html22
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/bugzilla-help.xml16
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/build-user.xml3
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/build.properties32
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/build.xml97
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/Bugzilla.gifbin3895 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/book.html29
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start.html17
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugEditor.html63
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugWizard.html61
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaFavorites.html47
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaSearch.html74
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove-all.gifbin117 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove.gifbin97 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-bug-editor.pngbin26853 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-favorites-window.pngbin6923 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-context.pngbin29427 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-dialog.pngbin24123 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-sorting.pngbin21175 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-searchresults.pngbin16954 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/existing-bug-editor.pngbin45881 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-attributes.pngbin20574 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-products.pngbin16445 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard.pngbin18781 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/offline-reports.pngbin13017 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/prefs.pngbin17722 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/previous-searches.pngbin16037 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query-overwrite.pngbin6687 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query.pngbin4326 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/saved-query-list.pngbin5074 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/update-search-dialog.pngbin24123 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/limitations.html35
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/offlineReports.html37
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/saveQuery.html50
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/setup.html54
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/html/start/use.html19
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/doc/toc.xml19
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-comment.gifbin343 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-dirty.gifbin237 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-favorite.gifbin358 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-new.gifbin233 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search-new.gifbin596 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search.gifbin583 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-small.gifbin132 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug.gifbin159 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-conflicting.gifbin187 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-incoming.gifbin114 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-outgoing.gifbin64 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query-new.gifbin349 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query.gifbin332 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-new.gifbin359 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-refresh.gifbin362 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug.gifbin339 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/openresult.gifbin157 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/remove-all.gifbin117 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/remove.gifbin97 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/selectAll.gifbin149 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/icons/wizban/bug-wizard.gifbin3895 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/plugin.xml209
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaImages.java126
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaOpenStructure.java59
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaResultMatchAdapter.java63
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaTableContentProvider.java91
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUITools.java256
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUiPlugin.java83
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/FavoritesView.java576
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/OfflineView.java681
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/ViewBugzillaAction.java93
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/WebBrowserDialog.java72
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/AbstractOfflineReportsAction.java57
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/BugzillaSortAction.java53
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java94
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java126
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java132
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/DeleteOfflineReportAction.java70
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/OpenBugsAction.java75
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java167
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java228
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/ViewOfflineReportAction.java87
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditor.java1675
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditorInput.java67
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/BugzillaEditorCopyAction.java39
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java1018
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditorInput.java96
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java355
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditorInput.java48
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/SpellingDialog.java104
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AbstractFavoritesAction.java56
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddFavoriteAction.java114
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddToFavoritesAction.java49
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/DeleteFavoriteAction.java70
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/ViewFavoriteAction.java59
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineComparer.java50
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineNode.java341
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlinePage.java157
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaReportSelection.java170
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/GetQueryDialog.java203
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SaveQueryDialog.java90
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SavedQueryFile.java249
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaResultCollector.java182
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchPage.java1050
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchResultView.java229
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCacheFile.java131
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCategorySearchOperation.java151
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQuery.java9
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java92
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaHit.java185
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryCategory.java276
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryDialog.java521
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaRefreshManager.java78
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaReportNode.java183
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTask.java638
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditor.java297
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java145
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java295
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskHandler.java285
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskListManager.java84
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTasksTools.java55
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/StackTrace.java373
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractBugWizard.java393
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardDataPage.java650
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardListPage.java217
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/NewBugWizard.java139
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardAttributesPage.java30
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardProductPage.java177
-rw-r--r--org.eclipse.mylyn.help.ui/.classpath7
-rw-r--r--org.eclipse.mylyn.help.ui/.cvsignore1
-rw-r--r--org.eclipse.mylyn.help.ui/.project28
-rw-r--r--org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.help.ui/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.help.ui/META-INF/MANIFEST.MF9
-rw-r--r--org.eclipse.mylyn.help.ui/about.html22
-rw-r--r--org.eclipse.mylyn.help.ui/build-user.xml3
-rw-r--r--org.eclipse.mylyn.help.ui/build.properties28
-rw-r--r--org.eclipse.mylyn.help.ui/build.xml25
-rw-r--r--org.eclipse.mylyn.help.ui/doc/book.css1
-rw-r--r--org.eclipse.mylyn.help.ui/doc/context.html19
-rw-r--r--org.eclipse.mylyn.help.ui/doc/developer/changes.html12395
-rw-r--r--org.eclipse.mylyn.help.ui/doc/developer/dependencies.vsdbin42496 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/developer/index.html20
-rw-r--r--org.eclipse.mylyn.help.ui/doc/developer/model.vsdbin144384 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/faq.html48
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/active-hierarchy.gifbin6216 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/active-search-linked.gifbin6141 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/active-search-manipulation.gifbin14447 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/active-search-qualify.gifbin5396 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/active-search.gifbin11276 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/alt-click.gifbin4851 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/bugzilla-hyperlink.gifbin4113 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/bugzilla-internal-browser.gifbin4234 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/bugzilla-query-custom.gifbin5553 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/bugzilla-synch.gifbin9183 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/filter-auto-toggle.gifbin1270 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/filtering-ant.gifbin7450 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/filtering-declarations.gifbin8520 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/filtering-exclusion.gifbin6921 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/filtering-navigator.gifbin8071 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/folding-toggle.gifbin5612 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/highlight.gifbin8366 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/interest-content-assist.gifbin5448 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/interest-error.gifbin4373 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/interest-java-browsing.gifbin5722 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/interest-manipulate.gifbin1438 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/open-type.gifbin14088 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/overview.gifbin75398 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/preference-error-interest.gifbin4798 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/search-context.gifbin3458 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/task-context-visible.gifbin8717 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasklist-actions.gifbin5741 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-archive.gifbin10002 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-drilldown.gifbin5729 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-go-navigation.gifbin2915 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-history.gifbin11482 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-offline.gifbin7069 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-quick-filter.gifbin6083 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/tasks-reminders.gifbin5668 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/images/test-context.gifbin18413 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.help.ui/doc/new.html764
-rw-r--r--org.eclipse.mylyn.help.ui/doc/overview.html68
-rw-r--r--org.eclipse.mylyn.help.ui/doc/toc.xml19
-rw-r--r--org.eclipse.mylyn.help.ui/plugin.xml14
-rw-r--r--org.eclipse.mylyn.help.ui/src/empty.txt0
-rw-r--r--org.eclipse.mylyn.tasks.core/.classpath11
-rw-r--r--org.eclipse.mylyn.tasks.core/.cvsignore1
-rw-r--r--org.eclipse.mylyn.tasks.core/.project28
-rw-r--r--org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.ui.prefs3
-rw-r--r--org.eclipse.mylyn.tasks.core/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF28
-rw-r--r--org.eclipse.mylyn.tasks.core/build-user.xml3
-rw-r--r--org.eclipse.mylyn.tasks.core/build.properties19
-rw-r--r--org.eclipse.mylyn.tasks.core/build.xml167
-rw-r--r--org.eclipse.mylyn.tasks.core/icons/elcl16/edge-ref-bug.gifbin572 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.core/plugin.xml23
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaContextLabelProvider.java75
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaEditingMonitor.java46
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaReportCache.java78
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaSearchManager.java152
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaStructureBridge.java258
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaUiBridge.java129
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/MylarBugsPlugin.java112
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLink.java52
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLinkDetector.java203
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearch.java179
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchJob.java109
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchOperation.java528
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaReferencesProvider.java167
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/Util.java195
-rw-r--r--org.eclipse.mylyn.tasks.tests/.classpath11
-rw-r--r--org.eclipse.mylyn.tasks.tests/.cvsignore1
-rw-r--r--org.eclipse.mylyn.tasks.tests/.project28
-rw-r--r--org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF23
-rw-r--r--org.eclipse.mylyn.tasks.tests/about.html22
-rw-r--r--org.eclipse.mylyn.tasks.tests/build.properties19
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/AllTasklistTests.java37
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Job.java87
-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/People.java67
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Person.java107
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java210
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListManagerTest.java123
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListUiTest.java330
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTest.java139
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaSearchPluginTest.java325
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaStackTraceTest.java168
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/MylarBugzillaTestsPlugin.java49
-rw-r--r--org.eclipse.mylyn.tasks.ui/.classpath11
-rw-r--r--org.eclipse.mylyn.tasks.ui/.cvsignore1
-rw-r--r--org.eclipse.mylyn.tasks.ui/.project30
-rw-r--r--org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.pde.prefs12
-rw-r--r--org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF23
-rw-r--r--org.eclipse.mylyn.tasks.ui/about.html22
-rw-r--r--org.eclipse.mylyn.tasks.ui/build-user.xml3
-rw-r--r--org.eclipse.mylyn.tasks.ui/build.properties36
-rw-r--r--org.eclipse.mylyn.tasks.ui/build.xml55
-rw-r--r--org.eclipse.mylyn.tasks.ui/doc/book.css1
-rw-r--r--org.eclipse.mylyn.tasks.ui/doc/bugzilla.html46
-rw-r--r--org.eclipse.mylyn.tasks.ui/doc/images/tasklist-overview.gifbin9719 -> 0 bytes
-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/doc/toc.xml11
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/elcl16/collapseall.pngbin192 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/elcl16/delete.gifbin351 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-complete.gifbin131 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-priority.gifbin190 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/elcl16/refresh.gifbin216 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/elcl16/remove.gifbin163 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/category-archive.gifbin346 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/category-new.gifbin343 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/category.gifbin213 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/copy.pngbin413 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/go-into.gifbin357 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/go-up.gifbin562 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-next.gifbin319 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gifbin317 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-active.gifbin179 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-complete.gifbin343 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-context.gifbin124 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-inactive.gifbin76 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-incomplete.gifbin148 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gifbin340 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/etool16/task.gifbin218 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/task-bug.gifbin341 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gifbin337 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/task.gifbin218 -> 0 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/plugin.xml97
-rw-r--r--org.eclipse.mylyn.tasks.ui/schema/editors.exsd112
-rw-r--r--org.eclipse.mylyn.tasks.ui/schema/providers.exsd198
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java30
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java28
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java21
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITask.java119
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivationListener.java23
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivityListener.java30
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskFilter.java18
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHandler.java45
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHighlighter.java22
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskInfo.java21
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java26
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListDynamicSubMenuContributor.java21
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListElement.java58
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListExternalizer.java85
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java519
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/Task.java561
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskActiveTimerListener.java62
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListImages.java167
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListManager.java217
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/contribution/DatePicker.java380
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/DefaultTaskListExternalizer.java378
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/MylarExternalizerException.java30
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/RelativePathUtil.java41
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCategory.java219
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCompleteFilter.java45
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskList.java243
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java144
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExternalizer.java888
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListPatternFilter.java25
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskPriorityFilter.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/CompletedTaskCollector.java47
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ITasksCollector.java26
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ReminderRequiredCollector.java43
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/TaskReportGenerator.java73
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksContentProvider.java39
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksEditorInput.java86
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksLabelProvider.java57
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksSorter.java91
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerEditorPart.java473
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizard.java64
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizardPage.java70
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksContentProvider.java49
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksLabelProvider.java55
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksSorter.java75
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java73
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditor.java116
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditorInput.java60
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java244
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorCopyAction.java33
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorInput.java113
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java564
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TasksReminderDialog.java257
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/AutoCloseAction.java37
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CollapseAllAction.java42
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateCategoryAction.java55
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateTaskAction.java68
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DeleteAction.java109
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java109
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/FilterCompletedTasksAction.java50
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoIntoAction.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java40
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskCompleteAction.java51
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskIncompleteAction.java45
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MoveTaskToRootAction.java53
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java59
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/OpenTaskEditorAction.java62
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java60
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RemoveFromCategoryAction.java95
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java43
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskActivateAction.java65
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskDeactivateAction.java53
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java33
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java214
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/DateChooserDialog.java77
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java224
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskInputDialog.java152
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListContentProvider.java224
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListLabelProvider.java136
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java1300
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/ToolTipHandler.java252
457 files changed, 0 insertions, 61485 deletions
diff --git a/org.eclipse.mylyn.bugzilla-feature/.project b/org.eclipse.mylyn.bugzilla-feature/.project
deleted file mode 100644
index 72dd862cd..000000000
--- a/org.eclipse.mylyn.bugzilla-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.bugzilla-feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.mylyn.bugzilla-feature/about.html b/org.eclipse.mylyn.bugzilla-feature/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.bugzilla-feature/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla-feature/build.properties b/org.eclipse.mylyn.bugzilla-feature/build.properties
deleted file mode 100644
index 4e728a03d..000000000
--- a/org.eclipse.mylyn.bugzilla-feature/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# 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 = feature.xml,\
- license.html,\
- epl-v10.html,\
- about.html
-src.includes = epl-v10.html,\
- feature.xml,\
- license.html,\
- about.html
diff --git a/org.eclipse.mylyn.bugzilla-feature/epl-v10.html b/org.eclipse.mylyn.bugzilla-feature/epl-v10.html
deleted file mode 100644
index ed4b19665..000000000
--- a/org.eclipse.mylyn.bugzilla-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla-feature/feature.xml b/org.eclipse.mylyn.bugzilla-feature/feature.xml
deleted file mode 100644
index eadabced4..000000000
--- a/org.eclipse.mylyn.bugzilla-feature/feature.xml
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.mylar.bugzilla_feature"
- label="Mylar Bugzilla Client"
- version="0.4.0"
- provider-name="Eclipse.org"
- plugin="org.eclipse.mylar.bugzilla.core">
-
- <description>
- Bugzilla Client Plugin
- </description>
-
- <license url="http://www.eclipse.org/legal/epl-v10.html">
- Eclipse Public License - v 1.0
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
-OF THIS AGREEMENT.
-1. DEFINITIONS
-&quot;Contribution&quot; means:
-a) in the case of the initial Contributor, the initial code and
-documentation distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-i) changes to the Program, and
-ii) additions to the Program;
-where such changes and/or additions to the Program originate
-from and are distributed by that particular Contributor. A Contribution
-&apos;originates&apos; from a Contributor if it was added to the Program
-by such Contributor itself or anyone acting on such Contributor&apos;s
-behalf. Contributions do not include additions to the Program
-which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.
-&quot;Contributor&quot; means any person or entity that distributes the
-Program.
-&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
-which are necessarily infringed by the use or sale of its Contribution
-alone or when combined with the Program.
-&quot;Program&quot; means the Contributions distributed in accordance with
-this Agreement.
-&quot;Recipient&quot; means anyone who receives the Program under this
-Agreement, including all Contributors.
-2. GRANT OF RIGHTS
-a) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free copyright
-license to reproduce, prepare derivative works of, publicly display,
-publicly perform, distribute and sublicense the Contribution
-of such Contributor, if any, and such derivative works, in source
-code and object code form.
-b) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free patent
-license under Licensed Patents to make, use, sell, offer to sell,
-import and otherwise transfer the Contribution of such Contributor,
-if any, in source code and object code form. This patent license
-shall apply to the combination of the Contribution and the Program
-if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to
-be covered by the Licensed Patents. The patent license shall
-not apply to any other combinations which include the Contribution.
-No hardware per se is licensed hereunder.
-c) Recipient understands that although each Contributor grants
-the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe
-the patent or other intellectual property rights of any other
-entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement
-of intellectual property rights or otherwise. As a condition
-to exercising the rights and licenses granted hereunder, each
-Recipient hereby assumes sole responsibility to secure any other
-intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient&apos;s responsibility to acquire
-that license before distributing the Program.
-d) Each Contributor represents that to its knowledge it has sufficient
-copyright rights in its Contribution, if any, to grant the copyright
-license set forth in this Agreement.
-3. REQUIREMENTS
-A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:
-a) it complies with the terms and conditions of this Agreement;
-and
-b) its license agreement:
-i) effectively disclaims on behalf of all Contributors all warranties
-and conditions, express and implied, including warranties or
-conditions of title and non-infringement, and implied warranties
-or conditions of merchantability and fitness for a particular
-purpose;
-ii) effectively excludes on behalf of all Contributors all liability
-for damages, including direct, indirect, special, incidental
-and consequential damages, such as lost profits;
-iii) states that any provisions which differ from this Agreement
-are offered by that Contributor alone and not by any other party;
-and
-iv) states that source code for the Program is available from
-such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for
-software exchange.
-When the Program is made available in source code form:
-a) it must be made available under this Agreement; and
-b) a copy of this Agreement must be included with each copy of
-the Program.
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.
-4. COMMERCIAL DISTRIBUTION
-Commercial distributors of software may accept certain responsibilities
-with respect to end users, business partners and the like. While
-this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
-every other Contributor (&quot;Indemnified Contributor&quot;) against any
-losses, damages and costs (collectively &quot;Losses&quot;) arising from
-claims, lawsuits and other legal actions brought by a third party
-against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection
-with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any
-claims or Losses relating to any actual or alleged intellectual
-property infringement. In order to qualify, an Indemnified Contributor
-must: a) promptly notify the Commercial Contributor in writing
-of such claim, and b) allow the Commercial Contributor to control,
-and cooperate with the Commercial Contributor in, the defense
-and any related settlement negotiations. The Indemnified Contributor
-may participate in any such claim at its own expense.
-For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor&apos;s responsibility
-alone. Under this section, the Commercial Contributor would have
-to defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any
-other Contributor to pay any damages as a result, the Commercial
-Contributor must pay those damages.
-5. NO WARRANTY
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
-IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement , including but not
-limited to the risks and costs of program errors, compliance
-with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations.
-6. DISCLAIMER OF LIABILITY
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
-OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGES.
-7. GENERAL
-If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or enforceability
-of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be
-reformed to the minimum extent necessary to make such provision
-valid and enforceable.
-If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging
-that the Program itself (excluding combinations of the Program
-with other software or hardware) infringes such Recipient&apos;s patent(s),
-then such Recipient&apos;s rights granted under Section 2(b) shall
-terminate as of the date such litigation is filed.
-All Recipient&apos;s rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions
-of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If
-all Recipient&apos;s rights under this Agreement terminate, Recipient
-agrees to cease use and distribution of the Program as soon as
-reasonably practicable. However, Recipient&apos;s obligations under
-this Agreement and any licenses granted by Recipient relating
-to the Program shall continue and survive.
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted
-and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other
-than the Agreement Steward has the right to modify this Agreement.
-The Eclipse Foundation is the initial Agreement Steward. The
-Eclipse Foundation may assign the responsibility to serve as
-the Agreement Steward to a suitable separate entity. Each new
-version of the Agreement will be given a distinguishing version
-number. The Program (including Contributions) may always be distributed
-subject to the version of the Agreement under which it was received.
-In addition, after a new version of the Agreement is published,
-Contributor may elect to distribute the Program (including its
-Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights
-or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under
-this Agreement are reserved.
-This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose.
-Each party waives its rights to a jury trial in any resulting
-litigation.
- </license>
-
- <url>
- <update label="Mylar Bugzilla Client" url="http://download.eclipse.org/technology/mylar/update-site/bugzilla"/>
- </url>
-
- <requires>
- <import plugin="org.eclipse.core.resources" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.search" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.help" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.help.ui" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.core.runtime" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui.ide" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui.views" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.jface.text" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui.workbench.texteditor" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.ui.editors" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.pde.ui" version="0.0.0" match="greaterOrEqual"/>
- <import plugin="org.eclipse.compare" version="0.0.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.mylar.bugzilla.core"
- download-size="0"
- install-size="0"
- version="0.4.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.mylar.bugzilla.ui"
- download-size="0"
- install-size="0"
- version="0.4.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.mylar.core"
- download-size="0"
- install-size="0"
- version="0.4.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.mylar.tasklist"
- download-size="0"
- install-size="0"
- version="0.4.0"
- unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.mylyn.bugzilla-feature/license.html b/org.eclipse.mylyn.bugzilla-feature/license.html
deleted file mode 100644
index 3259fb996..000000000
--- a/org.eclipse.mylyn.bugzilla-feature/license.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>January 28, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
- (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
- CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
- OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
- NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
- CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
- (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
- For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
- modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments are located in directories
- named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
- <li>The top-level (root) directory</li>
- <li>Plug-in and Fragment directories</li>
- <li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
- <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
- <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
- <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
- <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
- <li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
- <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
- <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
- another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
- possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.core/.classpath b/org.eclipse.mylyn.bugzilla.core/.classpath
deleted file mode 100644
index a68b3ff0f..000000000
--- a/org.eclipse.mylyn.bugzilla.core/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="**/internal/**"/>
- <accessrule kind="nonaccessible" pattern="**/System"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.bugzilla.core/.cvsignore b/org.eclipse.mylyn.bugzilla.core/.cvsignore
deleted file mode 100644
index bc8b2d4cb..000000000
--- a/org.eclipse.mylyn.bugzilla.core/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-bugzilla.jar
-doc.zip
diff --git a/org.eclipse.mylyn.bugzilla.core/.project b/org.eclipse.mylyn.bugzilla.core/.project
deleted file mode 100644
index d9ab28171..000000000
--- a/org.eclipse.mylyn.bugzilla.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.bugzilla</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
deleted file mode 100644
index 1c193742e..000000000
--- a/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Jun 30 08:31:59 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index f3432cf99..000000000
--- a/org.eclipse.mylyn.bugzilla.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:41:37 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF b/org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 872c75441..000000000
--- a/org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Bugzilla Core Plug-in
-Bundle-SymbolicName: org.eclipse.mylar.bugzilla.core; singleton:=true
-Bundle-Version: 0.4.0
-Bundle-Activator: org.eclipse.mylar.bugzilla.core.BugzillaPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.compare,
- org.eclipse.search,
- org.eclipse.ui.ide,
- org.eclipse.update.core,
- org.eclipse.update.ui
-Eclipse-AutoStart: true
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: bugzilla-core.jar
-Export-Package: org.eclipse.mylar.bugzilla.core,
- org.eclipse.mylar.bugzilla.core.compare,
- org.eclipse.mylar.bugzilla.core.favorites,
- org.eclipse.mylar.bugzilla.core.internal,
- org.eclipse.mylar.bugzilla.core.offline,
- org.eclipse.mylar.bugzilla.core.search
diff --git a/org.eclipse.mylyn.bugzilla.core/about.html b/org.eclipse.mylyn.bugzilla.core/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.bugzilla.core/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.core/build-user.xml b/org.eclipse.mylyn.bugzilla.core/build-user.xml
deleted file mode 100644
index 6097713f2..000000000
--- a/org.eclipse.mylyn.bugzilla.core/build-user.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<target name="help">
- <echo message="Please run: $ ant -v -projecthelp"/>
-</target> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.core/build.properties b/org.eclipse.mylyn.bugzilla.core/build.properties
deleted file mode 100644
index 14337764d..000000000
--- a/org.eclipse.mylyn.bugzilla.core/build.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 - 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,\
- toc.xml,\
- Icons/,\
- doc.zip,\
- xercesImpl.jar,\
- META-INF/,\
- docs/,\
- bugzilla_contexts.xml,\
- about.html,\
- icons/,\
- bugzilla-core.jar
-src.includes = META-INF/,\
- Icons/,\
- docs/,\
- plugin.xml,\
- src/,\
- toc.xml,\
- xercesImpl.jar,\
- bugzilla_contexts.xml,\
- about.html,\
- icons/
-jars.compile.order = bugzilla-core.jar
-source.bugzilla-core.jar = src/
-output.bugzilla-core.jar = bin/
diff --git a/org.eclipse.mylyn.bugzilla.core/build.xml b/org.eclipse.mylyn.bugzilla.core/build.xml
deleted file mode 100644
index dc8a522e6..000000000
--- a/org.eclipse.mylyn.bugzilla.core/build.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:./build-user.xml">]>
-<!-- WARNING: Eclipse autogenerated file.
- Any modifications will be overwritten.
- Please edit build-user.xml instead.
--->
-<project basedir="." default="build" name="org.eclipse.mylar.bugzilla.core">
- &buildfile;
- <path id="project.classpath">
- <pathelement location="bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.compare_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.search_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.update.core_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.update.ui_3.1.0.jar"/>
- </path>
- <target name="init">
- <mkdir dir="bin"/>
- </target>
- <target name="clean">
- <delete dir="bin"/>
- </target>
- <target depends="init" name="build">
- <echo message="${ant.project.name}: ${ant.file}"/>
- <javac destdir="bin">
- <src path="src"/>
- <classpath refid="project.classpath"/>
- </javac>
- </target>
-</project>
diff --git a/org.eclipse.mylyn.bugzilla.core/plugin.xml b/org.eclipse.mylyn.bugzilla.core/plugin.xml
deleted file mode 100644
index 364a83782..000000000
--- a/org.eclipse.mylyn.bugzilla.core/plugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension
- id="searchHit"
- name="Bugzilla Search Match"
- point="org.eclipse.core.resources.markers">
- <super type="org.eclipse.search.searchmarker"/>
- <attribute name="id"/>
- <attribute name="href"/>
- <attribute name="description"/>
- <attribute name="label"/>
- <attribute name="severity"/>
- <attribute name="priority"/>
- <attribute name="platform"/>
- <attribute name="status"/>
- <attribute name="result"/>
- <attribute name="owner"/>
- <attribute name="query"/>
- </extension>
-
- <extension point="org.eclipse.ui.preferencePages">
- <page
- name="Bugzilla"
- class="org.eclipse.mylar.bugzilla.core.BugzillaPreferences"
- id="org.eclipse.mylar.bugzilla.bugzillaPreferences"
- category="org.eclipse.mylar.ui.preferences"/>
- </extension>
-</plugin>
-
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Attribute.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Attribute.java
deleted file mode 100644
index da69b5491..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Attribute.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.Serializable;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * Class representing a Bugzilla report attribute that can be changed on
- * the server.
- */
-public class Attribute implements Serializable
-{
- /** Automatically generated serialVersionUID */
- private static final long serialVersionUID = 3257009873370757424L;
-
- private boolean hidden = false;
-
- /** Attribute name */
- private String name;
-
- /** Name of the option used when updating the attribute on the server */
- private String parameterName;
-
- /** Legal values of the attribute */
- private LinkedHashMap<String, String> optionValues;
-
- /** Attribute's value (input field or selected option; value that is saved or from the server) */
- private String value;
-
- /** Attributes new Value (value chosen in submit editor) */
- private String newValue;
-
- /**
- * Constructor
- *
- * @param name The name of the attribute
- */
- public Attribute(String name)
- {
- // initialize the name and its legal values
- this.name = name;
- optionValues = new LinkedHashMap<String, String>();
- }
-
- /**
- * Get the attribute's name
- *
- * @return The name of the attribute
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Get name of the option used when updating the attribute on the server
- *
- * @return The name of the option for server updates
- */
- public String getParameterName()
- {
- return parameterName;
- }
-
- /**
- * Get whether the attribute can be edited by the used
- *
- * @return <code>true</code> if the attribute can be edited by the user
- */
- public boolean isEditable()
- {
- return optionValues.size() > 0;
- }
-
- /**
- * Get the legal values for the option
- *
- * @return The <code>Map</code> of legal values for the option.
- */
- public Map<String, String> getOptionValues()
- {
- return optionValues;
- }
-
- /**
- * Get the value of the attribute
- *
- * @return A <code>String</code> of the attributes value
- */
- public String getValue()
- {
- return value;
- }
-
- /**
- * Set the value of the attribute
- *
- * @param value The new value of the attribute
- */
- public void setValue(String value)
- {
- this.value = value;
- newValue = value;
- }
-
- /**
- * Set the new value of the attribute
- *
- * @param newVal The new value of the attribute
- */
- public void setNewValue(String newVal)
- {
- newValue = newVal;
- }
-
- /**
- * Get the new value for the attribute
- *
- * @return The new value
- */
- public String getNewValue()
- {
- return newValue;
- }
-
- /**
- * Sets the name of the option used when updating the attribute on the server
- *
- * @param parameterName The name of the option when updating from the server
- */
- public void setParameterName(String parameterName)
- {
- this.parameterName = parameterName;
- }
-
- /**
- * Adds an attribute option value
- *
- * @param readableValue The value displayed on the screen
- * @param parameterValue The option value used when sending the form to the server
- */
- public void addOptionValue(String readableValue, String parameterValue)
- {
- optionValues.put(readableValue, parameterValue);
- }
-
- /**
- * Determine if the field was hidden or not
- *
- * @return True if the field was hidden
- */
- public boolean isHidden()
- {
- return hidden;
- }
-
- /**
- * Set whether the field was hidden in the bug
- *
- * @param b Whether the field was hidden or not
- */
- public void setHidden(boolean b)
- {
- hidden = b;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugPost.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugPost.java
deleted file mode 100644
index 38ca657b1..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugPost.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlTag;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer.Token;
-
-
-/**
- *
- * @author Shawn Minto
- *
- * Class to handle the positing of a bug
- */
-public class BugPost {
-
- /** The fields that are to be changed/maintained */
- Map<String, String> fields = new HashMap<String, String>();
-
- /** The url to post the bug to */
- URL anURL;
-
- /** The prefix for how to find the bug number from the return */
- String prefix;
-
- /** The postfix for how to find the bug number from the return */
- String postfix1;
-
- /** An alternate postfix for how to find the bug number from the return */
- String postfix2;
-
- String error = null;
-
- /**
- * Add a value to be posted to the bug
- * @param key The key for the value to be added
- * @param value The value to be added
- */
- public void add(String key, String value) {
- try {
- fields.put(key, URLEncoder.encode(value == null ? "" : value, "UTF-8"));
- }
- catch (UnsupportedEncodingException e) {
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- }
-
- /**
- * Set the url that the bug is supposed to be posted to
- * @param urlString The url to post the bug to
- */
- public void setURL(String urlString) throws MalformedURLException {
- anURL = new URL(urlString);
- }
-
- /**
- * Post the bug to the bugzilla server
- * @return The result of the responses
- * @throws BugzillaException
- * @throws PossibleBugzillaFailureException
- */
- public String post() throws BugzillaException, LoginException, PossibleBugzillaFailureException {
- return post(false);
- }
-
- /**
- * Post the bug to the bugzilla server
- * @param isDebug Whether we are debugging or not - if it is debug, we get the respose printed to std out
- * @throws BugzillaException
- * @throws LoginException
- * @throws PossibleBugzillaFailureException
- */
- public String post(boolean isDebug) throws BugzillaException, LoginException, PossibleBugzillaFailureException {
- BufferedOutputStream out = null;
- BufferedReader in = null;
-
- try {
- // connect to the bugzilla server
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(anURL);
- if(cntx == null || !(cntx instanceof HttpURLConnection))
- return null;
-
- HttpURLConnection postConnection = (HttpURLConnection) cntx;
-
- // set the connection method
- postConnection.setRequestMethod("POST");
- postConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
- // get the url for the update with all of the changed values
- byte [] body = getPostBody().getBytes();
- postConnection.setRequestProperty("Content-Length", String.valueOf(body.length));
-
- // allow outgoing streams and open a stream to post to
- postConnection.setDoOutput(true);
-
- out = new BufferedOutputStream(postConnection.getOutputStream());
-
- // print out debug methods if we are debugging
- if (isDebug) {
- System.out.println("SENDING: ");
- System.out.println("URL: " + anURL);
-
- System.out.println("Body: \n" + new String(body));
- }
-
- // write the data and close the stream
- out.write(body);
- out.flush();
-
- int responseCode = postConnection.getResponseCode();
- if (responseCode != HttpURLConnection.HTTP_OK &&
- responseCode != HttpURLConnection.HTTP_CREATED) {
- throw new BugzillaException("Server returned HTTP error: " + responseCode + " - " + postConnection.getResponseMessage());
- }
-
- // open a stream to receive response from bugzilla
- in = new BufferedReader(new InputStreamReader(postConnection.getInputStream()));
- String result = null;
-
- if (isDebug)
- System.out.println("RECEIVING:");
- String aString = in.readLine();
-
- boolean possibleFailure = true;
- error = "";
-
- while (aString != null) {
- if (isDebug)
- System.out.println(aString);
- error += aString==null?"":aString + "\n";
-
- // check if we have run into an error
- if(result == null && (aString.toLowerCase().indexOf("check e-mail") != -1 || aString.toLowerCase().indexOf("error") != -1))
- {
- throw new LoginException("Bugzilla login information incorrect");
- } else if( aString.toLowerCase().matches(".*bug\\s+processed.*")){
- possibleFailure = false;
- }
-
- // get the bug number if it is required
- if (prefix != null && postfix1 != null && postfix2 != null && result == null) {
- int startIndex = aString.toLowerCase().indexOf(prefix.toLowerCase());
- if (startIndex > -1) {
- startIndex = startIndex + prefix.length();
- int stopIndex = aString.toLowerCase().indexOf(postfix1.toLowerCase(), startIndex);
- if(stopIndex == -1)
- stopIndex = aString.toLowerCase().indexOf(postfix2.toLowerCase(), startIndex);
- if (stopIndex > -1) {
- result = (aString.substring(startIndex, stopIndex)).trim();
- possibleFailure = false;
- // need this to get the whole error message
-// if (!isDebug) {
-// break;
-// }
- }
- }
- }
- aString = in.readLine();
- }
-
- if((result == null || result.compareTo("") == 0) && (prefix != null && postfix1 != null && postfix2 != null)){
- throw new PossibleBugzillaFailureException("Could not find bug number for new bug.");
- } else if(possibleFailure) {
- throw new PossibleBugzillaFailureException("Could not find \"Bug Processed\".");
- }
-
- // set the error to null if we dont think that there was one
- error = null;
-
- // return the bug number
- return result;
- } catch (IOException e) {
- throw new BugzillaException("An exception occurred while submitting the bug: " + e.getMessage(), e);
- } catch (KeyManagementException e)
- {
- throw new BugzillaException("Could not POST form. Communications error: " + e.getMessage(), e);
- } catch (NoSuchAlgorithmException e)
- {
- throw new BugzillaException("Could not POST form. Communications error: " + e.getMessage(), e);
- }
- finally
- {
- try{
- if(in != null)
- in.close();
- if(out != null)
- out.close();
-
- }catch(IOException e)
- {
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID,IStatus.ERROR,"Problem posting the bug", e));
- }
- }
- }
-
-
- /**
- * Get the url that contains the attributes to be posted
- * @return The url for posting
- */
- private String getPostBody() {
- String postBody = "";
-
- // go through all of the attributes and add them to the body of the post
- Iterator<Map.Entry<String, String>> anIterator = fields.entrySet().iterator();
- while (anIterator.hasNext()) {
- Map.Entry<String, String> anEntry = anIterator.next();
- postBody = postBody + anEntry.getKey() + "=" + anEntry.getValue();
- if (anIterator.hasNext())
- postBody = postBody + "&";
- }
- return postBody;
- }
-
- /**
- * Gets the prefix
- * @return Returns a String
- */
- public String getPrefix() {
- return prefix;
- }
-
- /**
- * Sets the prefix
- * @param prefix The prefix to set
- */
- public void setPrefix(String prefix) {
- this.prefix = prefix;
- }
-
- /**
- * Gets the postfix
- * @return Returns a String
- */
- public String getPostfix1() {
- return postfix1;
- }
-
- /**
- * Sets the postfix
- * @param postfix The postfix to set
- */
- public void setPostfix1(String postfix) {
- this.postfix1 = postfix;
- }
-
- /**
- * Gets the alternate postfix
- * @return Returns a String
- */
- public String getPostfix2() {
- return postfix2;
- }
-
- /**
- * Sets the alternate postfix
- * @param postfix The postfix to set
- */
- public void setPostfix2(String postfix) {
- this.postfix2 = postfix;
- }
-
- public String getError() {
- return parseError();
- }
-
- /**
- * remove all of the hyperlinks and erroneous info
- * @return
- */
- private String parseError() {
- String newError = "";
- try{
- HtmlStreamTokenizer tokenizer = new HtmlStreamTokenizer(new StringReader(error), null);
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.A){
-
- } else if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.FORM ){
- for (Token token2 = tokenizer.nextToken(); token2.getType() != Token.EOF; token2 = tokenizer.nextToken())
- {
- if(token2.getType() == Token.TAG)
- {
- HtmlTag tag = (HtmlTag)token2.getValue();
- if(tag.getTagType() == HtmlTag.Type.FORM && tag.isEndTag())
- break;
-
- }
- }
- } else {
- newError += token.getWhitespace().toString() + token.getValue();
- }
- }
- } catch(Exception e){
- newError = error;
- }
- return newError;
- }
-}
-
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugReport.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugReport.java
deleted file mode 100644
index 283436dad..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugReport.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-
-/**
- * A bug report entered in Bugzilla.
- */
-public class BugReport implements Serializable, IBugzillaBug {
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3258693199936631348L;
-
- /** Bug id */
- protected final int id;
-
- /** The bug's server */
- protected final String server;
-
- /** Description of the bug */
- protected String description;
-
- /** Creation timestamp */
- protected Date created;
-
- /** The bugs valid keywords */
- protected List<String> validKeywords;
-
- /** The operations that can be done on the bug*/
- protected List<Operation> operations = new ArrayList<Operation>();
-
- /** Bug attributes (status, resolution, etc.) */
- protected HashMap<String, Attribute> attributes = new HashMap<String, Attribute>();
-
- /** The keys for the bug attributes */
- protected ArrayList<String> attributeKeys = new ArrayList<String>();
-
- /** A list of comments */
- protected ArrayList<Comment> comments = new ArrayList<Comment>();
-
- /** The value for the new comment to add (text that is saved)*/
- protected String newComment = "";
-
- /** The new value for the new comment to add (text from submit editor)*/
- protected String newNewComment = "";
-
- /** CC list */
- protected HashSet<String> cc = new HashSet<String>();
-
- /** The operation that was selected to do to the bug */
- protected Operation selectedOperation = null;
-
- /** Whether or not this bug report is saved offline. */
- protected boolean savedOffline = false;
-
- protected boolean hasChanges = false;
-
- /**
- * Constructor
- * @param id The id of the bug
- * @param server The server that this bug is being created for
- */
- public BugReport(int id, String server) {
- this.id = id;
- this.server = server;
- }
-
- /**
- * Get the bugs id
- * @return The bugs id
- */
- public int getId() {
- return id;
- }
-
- public String getServer() {
- return server;
- }
-
- public String getLabel() {
- return "Bug #" + id;
- }
-
- /**
- * Get the bugs description
- * @return The description of the bug
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * Set the description of the bug
- * @param description The description to set the bug to have
- */
- public void setDescription(String description) {
- this.description = description;
- }
-
- /**
- * Get the summary for the bug
- * @return The bugs summary
- */
- public String getSummary() {
- if(getAttribute("Summary") == null){
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, "WE SHOULD NEVER GET HERE " + id, null));
- return "";
- }
- return getAttribute("Summary").getValue();
- }
-
- /**
- * Set the summary of the bug
- * @param summary The summary to set the bug to have
- */
- public void setSummary(String summary) {
- if( this.getAttribute("Summary") == null ){
- Attribute a = new Attribute("Summary");
- a.setValue(summary);
- addAttribute(a);
- }
- else
- getAttribute("Summary").setValue(summary);
- }
-
- /**
- * Get the date that the bug was created
- * @return The bugs creation date
- */
- public Date getCreated() {
- return created;
- }
-
- /**
- * Set the bugs creation date
- * @param created The date the the bug was created
- */
- public void setCreated(Date created) {
- this.created = created;
- }
-
- public Attribute getAttribute(String key) {
- return attributes.get(key);
- }
-
- /**
- * Get the list of attributes for this bug
- * @return An <code>ArrayList</code> of the bugs attributes
- */
- public List<Attribute> getAttributes() {
- // create an array list to store the attributes in
- ArrayList<Attribute> attributeEntries = new ArrayList<Attribute>(attributeKeys.size());
-
- // go through each of the attribute keys
- for (Iterator<String> it = attributeKeys.iterator(); it.hasNext();) {
- // get the key for the attribute
- String key = it.next();
-
- // get the attribute and add it to the list
- Attribute attribute = attributes.get(key);
- attributeEntries.add(attribute);
- }
-
- // return the list of attributes for the bug
- return attributeEntries;
- }
-
- public Attribute getAttributeForKnobName(String knobName){
- for (Iterator<String> it = attributeKeys.iterator(); it.hasNext();) {
- String key = it.next();
-
- Attribute attribute = attributes.get(key);
- if(attribute != null && attribute.getParameterName() != null && attribute.getParameterName().compareTo(knobName) == 0){
- return attribute;
- }
- }
-
- return null;
- }
-
-
- /**
- * Add an attribute to the bug
- * @param attribute The attribute to add to the bug
- */
- public void addAttribute(Attribute attribute) {
- if (!attributes.containsKey(attribute.getName())) {
- // add the attributes key to the list if it doesn't exist
- attributeKeys.add(attribute.getName());
- }
-
- // put the value of the attribute into the map, using its name as the key
- attributes.put(attribute.getName(), attribute);
- }
-
- /**
- * Get the comments posted on the bug
- * @return A list of comments for the bug
- */
- public ArrayList<Comment> getComments() {
- return comments;
- }
-
- /**
- * Add a comment to the bug
- * @param comment The comment to add to the bug
- */
- public void addComment(Comment comment) {
- Comment preceding = null;
- if (comments.size() > 0) {
- // if there are some comments, get the last comment and set the next
- // value to be the new comment
- preceding = comments.get(comments.size() - 1);
- preceding.setNext(comment);
- }
- // set the comments previous value to the preceeding one
- comment.setPrevious(preceding);
-
- // add the comment to the comment list
- comments.add(comment);
- }
-
- /**
- * Get the person who reported the bug
- * @return The person who reported the bug
- */
- public String getReporter() {
- return getAttribute("Reporter").getValue();
- }
-
- /**
- * Get the person to whom this bug is assigned
- * @return The person who is assigned to this bug
- */
- public String getAssignedTo() {
- return getAttribute("Assigned To").getValue();
- }
-
- /**
- * Get the resolution of the bug
- * @return The resolution of the bug
- */
- public String getResolution() {
- return getAttribute("Resolution").getValue();
- }
-
- /**
- * Get the status of the bug
- * @return The bugs status
- */
- public String getStatus() {
- return getAttribute("Status").getValue();
- }
-
- /**
- * Get the keywords for the bug
- * @return The keywords for the bug
- */
- public List<String> getKeywords() {
- return validKeywords;
- }
-
- /**
- * Set the keywords for the bug
- * @param keywords The keywords to set the bug to have
- */
- public void setKeywords(List<String> keywords) {
- this.validKeywords = keywords;
- }
-
- /**
- * Get the set of addresses in the CC list
- * @return A <code>Set</code> of addresses in the CC list
- */
- public Set<String> getCC() {
- return cc;
- }
-
- /**
- * Add an email to the bugs CC list
- * @param email The email address to add to the CC list
- */
- public void addCC(String email) {
- cc.add(email);
- }
-
- /**
- * Remove an address from the bugs CC list
- * @param email the address to be removed from the CC list
- * @return <code>true</code> if the email is in the set and it was removed
- */
- public boolean removeCC(String email) {
- return cc.remove(email);
- }
- /**
- * Get the new comment that is to be added to the bug
- * @return The new comment
- */
- public String getNewComment() {
- return newComment;
- }
-
- /**
- * Set the new comment that will be added to the bug
- * @param newComment The new comment to add to the bug
- */
- public void setNewComment(String newComment) {
- this.newComment = newComment;
- newNewComment = newComment;
- }
-
- /**
- * Get the new value of the new NewComment
- * @return the new value of the new NewComment.
- */
- public String getNewNewComment() {
- return newNewComment;
- }
-
-
- /**
- * Set the new value of the new NewComment
- * @param newNewComment The new value of the new NewComment.
- */
- public void setNewNewComment(String newNewComment) {
- this.newNewComment = newNewComment;
- }
-
-
- /**
- * Get all of the operations that can be done to the bug
- * @return The operations that can be done to the bug
- */
- public List<Operation> getOperations() {
- return operations;
- }
-
- /**
- * Add an operation to the bug
- * @param o The operation to add
- */
- public void addOperation(Operation o) {
- operations.add(o);
- }
-
- /**
- * Get an operation from the bug based on its display name
- * @param displayText The display text for the operation
- * @return The operation that has the display text
- */
- public Operation getOperation(String displayText) {
- Iterator<Operation> itr = operations.iterator();
- while (itr.hasNext()) {
- Operation o = itr.next();
- String opName = o.getOperationName();
- opName = opName.replaceAll("</.*>", "");
- opName = opName.replaceAll("<.*>", "");
- if (opName.equals(displayText))
- return o;
- }
- return null;
- }
-
- /**
- * Set the selected operation
- * @param o The selected operation
- */
- public void setSelectedOperation(Operation o) {
- selectedOperation = o;
- }
-
- /**
- * Get the selected operation
- * @return The selected operation
- */
- public Operation getSelectedOperation() {
- return selectedOperation;
- }
-
- public boolean isSavedOffline() {
- return savedOffline;
- }
-
- public boolean isLocallyCreated() {
- return false;
- }
-
- public void setOfflineState(boolean newOfflineState) {
- savedOffline = newOfflineState;
- }
-
- public boolean hasChanges() {
- return hasChanges;
- }
-
- public void setHasChanged(boolean b) {
- hasChanges = b;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaAuthenticator.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaAuthenticator.java
deleted file mode 100644
index 3d83b56bb..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaAuthenticator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.mylar.bugzilla.core;
-
-import java.net.Authenticator;
-import java.net.InetAddress;
-import java.net.PasswordAuthentication;
-
-import org.eclipse.update.internal.ui.security.Authentication;
-import org.eclipse.update.internal.ui.security.UserValidationDialog;
-
-/**
- * Update Manager Authenticator Sadly there can only be one registered per VM
- */
-public class BugzillaAuthenticator extends Authenticator {
- //private Authentication savedPasswordAuthentication;
-
- /*
- * @see Authenticator#getPasswordAuthentication()
- */
- protected PasswordAuthentication getPasswordAuthentication() {
- // String protocol = getRequestingProtocol();
- String host = getRequestingHost(); // can be null;
- InetAddress address = getRequestingSite(); // can be null;
- // int port = getRequestingPort();
- String prompt = getRequestingPrompt(); // realm or message, not documented that can be null
- // String scheme = getRequestingScheme(); // not documented that can be null
-
- String hostString = host;
- if (hostString == null && address != null) {
- address.getHostName();
- }
- if (hostString == null) {
- hostString = ""; //$NON-NLS-1$
- }
- String promptString = prompt;
- if (prompt == null) {
- promptString = ""; //$NON-NLS-1$
- }
-
- Authentication auth = UserValidationDialog.getAuthentication(
- hostString, promptString);
- if (auth != null)
- return new PasswordAuthentication(auth.getUser(), auth
- .getPassword().toCharArray());
- else
- return null;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaException.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaException.java
deleted file mode 100644
index f4d951317..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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/bugzilla/core/BugzillaPlugin.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPlugin.java
deleted file mode 100644
index 5ce02058f..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPlugin.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.IOException;
-import java.net.Authenticator;
-import java.net.InetSocketAddress;
-import java.net.Proxy;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.Proxy.Type;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.mylar.bugzilla.core.IOfflineBugListener.BugzillaOfflineStaus;
-import org.eclipse.mylar.bugzilla.core.favorites.FavoritesFile;
-import org.eclipse.mylar.bugzilla.core.internal.ProductConfiguration;
-import org.eclipse.mylar.bugzilla.core.internal.ProductConfigurationFactory;
-import org.eclipse.mylar.bugzilla.core.offline.OfflineReportsFile;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaResultEditorMatchAdapter;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.update.internal.core.UpdateCore;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * @author kvesik
- *
- * Created on Mar 26, 2003
- */
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class BugzillaPlugin extends AbstractUIPlugin {
-
- /** Singleton instance of the plug-in */
- private static BugzillaPlugin plugin;
-
- /** The file that contains all of the bugzilla favorites */
- private FavoritesFile favoritesFile;
-
- /** The file that contains all of the offline bug reports */
- private OfflineReportsFile offlineReportsFile;
-
- private List<IOfflineBugListener> listeners = new ArrayList<IOfflineBugListener>();
-
- /** Product configuration for the current server */
- private ProductConfiguration productConfiguration;
-
- /**
- * Constructor
- * @param descriptor passed in when the plugin is loaded
- */
- public BugzillaPlugin()
- {
- super();
- }
-
- Authenticator authenticator = null;
-
- /**
- * Get the singleton instance for the plugin
- *
- * @return The instance of the plugin
- */
- public static BugzillaPlugin getDefault()
- {
- return plugin;
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- plugin = this;
-
- authenticator = UpdateUI.getDefault().getAuthenticator();
- if(authenticator == null)
- authenticator = new BugzillaAuthenticator();
- Authenticator.setDefault(authenticator);
-
- readFavoritesFile();
- readOfflineReportsFile();
- readCachedProductConfiguration();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
-
- /**
- * Get the favorites file contatining the favorites
- *
- * @return The FavoritesFile
- */
- public FavoritesFile getFavorites()
- {
- return favoritesFile;
- }
-
- /**
- * Get the OfflineReports file contatining the offline bug reports
- *
- * @return The OfflineReportsFile
- */
- public OfflineReportsFile getOfflineReports()
- {
- return offlineReportsFile;
- }
-
- @Override
- protected void initializeDefaultPreferences(IPreferenceStore store)
- {
- BugzillaPreferences.initDefaults(store);
- }
-
- /**
- * Get the name of the bugzilla server
- *
- * @return A string containing the prefered name of the bugzilla server
- */
- public String getServerName()
- {
- return plugin.getPreferenceStore().getString(IBugzillaConstants.BUGZILLA_SERVER);
- }
-
- /**
- * Get the most recent query key for the preferences
- *
- * @return A string containing the most recent query key
- */
- public static String getMostRecentQuery()
- {
- return plugin.getPreferenceStore().getString(IBugzillaConstants.MOST_RECENT_QUERY);
- }
-
- /**
- * Returns the current product configuration or <code>null</code> if it is unknown.
- */
- public ProductConfiguration getProductConfiguration() {
- return productConfiguration;
- }
-
- /**
- * Sets the current product configuration.
- */
- protected void setProductConfiguration(ProductConfiguration productConfiguration) {
- this.productConfiguration = productConfiguration;
- }
-
- /**
- * Reads cached product configuration and stores it in the <code>productConfiguration</code> field.
- */
- private void readFavoritesFile() {
- IPath favoritesPath = getFavoritesFile();
-
- try {
- favoritesFile = new FavoritesFile(favoritesPath.toFile());
- } catch (Exception e) {
- logAndShowExceptionDetailsDialog(e, "occurred while restoring saved Bugzilla favorites.", "Bugzilla Favorites Error");
- }
- }
-
- /**
- * Reads cached product configuration and stores it in the <code>productConfiguration</code> field.
- */
- private void readOfflineReportsFile() {
- IPath offlineReportsPath = getOfflineReportsFile();
-
- try {
- offlineReportsFile = new OfflineReportsFile(offlineReportsPath.toFile());
- } catch (Exception e) {
- logAndShowExceptionDetailsDialog(e, "occurred while restoring saved offline Bugzilla reports.", "Bugzilla Offline Reports Error");
- offlineReportsPath.toFile().delete();
- }
- }
-
- /**
- * Returns the path to the file cacheing the query favorites.
- */
- private IPath getFavoritesFile() {
- IPath stateLocation = Platform.getPluginStateLocation(BugzillaPlugin.getDefault());
- IPath configFile = stateLocation.append("favorites");
- return configFile;
- }
-
- /**
- * Returns the path to the file cacheing the offline bug reports.
- */
- private IPath getOfflineReportsFile() {
- IPath stateLocation = Platform.getPluginStateLocation(BugzillaPlugin.getDefault());
- IPath configFile = stateLocation.append("offlineReports");
- return configFile;
- }
-
- /**
- * Reads cached product configuration and stores it in the <code>productConfiguration</code> field.
- */
- private void readCachedProductConfiguration() {
- IPath configFile = getProductConfigurationCachePath();
-
- try {
- productConfiguration = ProductConfigurationFactory.getInstance().readConfiguration(configFile.toFile());
- } catch (IOException ex) {
- try {
- log(ex);
- productConfiguration = ProductConfigurationFactory.getInstance().getConfiguration(getServerName());
- } catch (IOException e) {
- log(e);
- MessageDialog.openInformation(null, "Bugzilla product attributes check",
- "An error occurred while restoring saved Bugzilla product attributes: \n\n" +
- ex.getMessage() +
- "\n\nUpdating them from the server also caused an error:\n\n" +
- e.getMessage() +
- "\n\nCheck the server URL in Bugzila preferences.\n" +
- "Offline submission of new bugs will be disabled until valid product attributes have been loaded.");
- }
- }
- }
-
- /**
- * Returns the path to the file cacheing the product configuration.
- */
- protected IPath getProductConfigurationCachePath() {
- IPath stateLocation = Platform.getPluginStateLocation(BugzillaPlugin.getDefault());
- IPath configFile = stateLocation.append("productConfig");
- return configFile;
- }
-
- /**
- * Convenience method for logging statuses to the plugin log
- *
- * @param status the status to log
- */
- public static void log(IStatus status)
- {
- getDefault().getLog().log(status);
- }
-
- /**
- * Convenience method for logging exceptions to the plugin log
- * @param e the exception to log
- */
- public static void log(Exception e) {
- log(new Status(Status.ERROR, IBugzillaConstants.PLUGIN_ID, 0, e.getMessage(), e));
- }
-
-
- /**
- * Returns the path to the file caching bug reports created while offline.
- */
- protected IPath getCachedBugReportPath(){
- IPath stateLocation = Platform.getPluginStateLocation(BugzillaPlugin.getDefault());
- IPath bugFile = stateLocation.append("bugReports");
- return bugFile;
- }
-
- /**
- * Logs the exception and shows an error dialog with exception details shown in a "Details" pane.
- * @param e
- * exception to be shown in the details pane
- * @param message
- * message to be used in the dialog
- * @param title
- * error dialog's title
- */
- public IStatus logAndShowExceptionDetailsDialog(Exception e, String message, String title) {
- MultiStatus status = new MultiStatus( IBugzillaConstants.PLUGIN_ID,
- IStatus.ERROR, e.getClass().toString()
- + " " + message + "\n\n"
- + "Click Details or see log for more information.", e);
- Status s = new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + ": ", e);
- status.add(s);
- String error = (e.getMessage() == null)?e.getClass().toString():e.getMessage();
- s = new Status (IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, error, e);
- status.add(s);
- log(status);
- ErrorDialog.openError(null, title, null, status);
- return status;
- }
-
- /**
- * @return a list of the BugReports saved offline.
- */
- public List<IBugzillaBug> getSavedBugReports() {
- return offlineReportsFile.elements();
- }
-
- public URLConnection getUrlConnection(URL url) throws IOException, NoSuchAlgorithmException, KeyManagementException{
- SSLContext ctx = SSLContext.getInstance("TLS");
-
- javax.net.ssl.TrustManager[] tm = new javax.net.ssl.TrustManager[]{new TrustAll()};
- ctx.init(null, tm, null);
- HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
-
- Proxy p = Proxy.NO_PROXY;
- if (UpdateCore.getPlugin().getPluginPreferences().getBoolean(UpdateCore.HTTP_PROXY_ENABLE)) {
- String proxyHost = UpdateCore.getPlugin().getPluginPreferences().getString(UpdateCore.HTTP_PROXY_HOST);
- int proxyPort = UpdateCore.getPlugin().getPluginPreferences().getInt(UpdateCore.HTTP_PROXY_PORT);
-
- InetSocketAddress sockAddr = new InetSocketAddress(proxyHost, proxyPort);
- p = new Proxy(Type.HTTP, sockAddr);
- }
- URLConnection cntx = url.openConnection(p);
- return cntx;
- }
-
- private static IBugzillaResultEditorMatchAdapter resultEditorMatchAdapter = null;
-
- public static IBugzillaResultEditorMatchAdapter getResultEditorMatchAdapter() {
- return resultEditorMatchAdapter;
- }
-
- public static void setResultEditorMatchAdapter(IBugzillaResultEditorMatchAdapter resultEditorMatchAdapter) {
- BugzillaPlugin.resultEditorMatchAdapter = resultEditorMatchAdapter;
- }
-
- public boolean refreshOnStartUpEnabled() {
- return getPreferenceStore().getBoolean(IBugzillaConstants.REFRESH_QUERY);
- }
-
- public int getMaxResults() {
- return getPreferenceStore().getInt(IBugzillaConstants.MAX_RESULTS);
- }
-
- public void addOfflineStatusListener(IOfflineBugListener listener){
- if(!listeners.contains(listener)){
- listeners.add(listener);
- }
- }
-
- public void removeOfflineStatusListener(IOfflineBugListener listener){
- listeners.remove(listener);
- }
-
- public List<IOfflineBugListener> getOfflineStatusListeners(){
- return listeners;
- }
-
- public void fireOfflineStatusChanged(final IBugzillaBug bug, final BugzillaOfflineStaus status){
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- for (IOfflineBugListener listener: listeners) {
- listener.offlineStatusChange(bug, status);
- }
- }
- });
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPreferences.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPreferences.java
deleted file mode 100644
index 9f07294f6..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaPreferences.java
+++ /dev/null
@@ -1,604 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.mylar.bugzilla.core.internal.ProductConfiguration;
-import org.eclipse.mylar.bugzilla.core.internal.ProductConfigurationFactory;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaQueryPageParser;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-
-/**
- * @version 1.0
- * @author G. Murphy
- */
-
-/**
- * The class that deals with the preferences page in eclipse
- */
-public class BugzillaPreferences
- extends FieldEditorPreferencePage
- implements IWorkbenchPreferencePage {
-
- /** Secure http server prefix */
- private static final String httpsPrefix = "https://";
-
- /** http prefix */
- private static final String httpPrefix = "http://";
-
- /** The text to put into the label for the bugzilla server text box */
- private static final String bugzillaServerLabel = "Bugzilla Server: ";
-
- /** Field editor for the bugzilla server in the preferences page */
- private StringFieldEditor bugzillaServer;
-
- private static final String bugzillaUserLabel = "Bugzilla User Name: ";
-
- private static final String bugzillaPasswordLabel = "Bugzilla Password: ";
-
- private static final String bugzilla218Label = "Using Bugzilla 2.18 (default is 2.16)";
-
- private static final String bugzillaMaxResultsLabel = "Maximum returned results: ";
-
- private BooleanFieldEditor bugzilla218;
-
- private StringFieldEditor bugzillaUser;
-
- private MyStringFieldEditor bugzillaPassword;
-
- private IntegerFieldEditor maxResults;
-
- private BooleanFieldEditor refreshQueries;
-
- /**
- * Constructor for the preferences page
- */
- public BugzillaPreferences() {
- super(GRID);
-
- // set the preference store for this preference page
- setPreferenceStore(BugzillaPlugin.getDefault().getPreferenceStore());
- }
-
- @Override
- public void createControl(Composite parent) {
- super.createControl(parent);
- }
-
- @Override
- protected void createFieldEditors() {
- // create a new field editor for the bugzilla server
- bugzillaServer = new StringFieldEditor(
- IBugzillaConstants.BUGZILLA_SERVER, bugzillaServerLabel,
- StringFieldEditor.UNLIMITED, getFieldEditorParent()) {
-
- @Override
- protected boolean doCheckState() {
- return checkServerName(getStringValue());
- }
- };
-
- // set the error message for if the server name check fails
- bugzillaServer.setErrorMessage(
- "Server path must be a valid http(s):// url");
-
- bugzillaUser = new StringFieldEditor("", bugzillaUserLabel,
- StringFieldEditor.UNLIMITED, getFieldEditorParent());
- bugzillaPassword = new MyStringFieldEditor("", bugzillaPasswordLabel,
- StringFieldEditor.UNLIMITED, getFieldEditorParent());
- bugzillaPassword.getTextControl().setEchoChar('*');
-
- maxResults = new IntegerFieldEditor(IBugzillaConstants.MAX_RESULTS, bugzillaMaxResultsLabel, getFieldEditorParent());
-
- bugzilla218 = new BooleanFieldEditor(IBugzillaConstants.IS_218, bugzilla218Label, BooleanFieldEditor.DEFAULT, getFieldEditorParent());
-
- refreshQueries = new BooleanFieldEditor(IBugzillaConstants.REFRESH_QUERY, "Automatically refresh Bugzilla reports and queries on startup",
- BooleanFieldEditor.DEFAULT, getFieldEditorParent());
-
- // add the field editor to the preferences page
- addField(bugzillaServer);
- addField(bugzillaUser);
- addField(bugzillaPassword);
- addField(maxResults);
- addField(bugzilla218);
- addField(refreshQueries);
-
-
- // put the password and user name values into the field editors
- getCachedData();
- bugzillaUser.setStringValue(user);
- bugzillaPassword.setStringValue(password);
- }
-
- /**
- * Initialize the preferences page with the default values
- *
- * @param store The preferences store that is used to store the information about the preferences page
- */
- public static void initDefaults(IPreferenceStore store) {
- // set the default values for the bugzilla server and the
- // most recent query
- getCachedData();
-
- store.setDefault(IBugzillaConstants.BUGZILLA_SERVER,IBugzillaConstants.DEFAULT_BUGZILLA_SERVER);
- store.setDefault(IBugzillaConstants.MOST_RECENT_QUERY, "");
- store.setDefault(IBugzillaConstants.IS_218, true);
- store.setDefault(IBugzillaConstants.REFRESH_QUERY, false);
- store.setDefault(IBugzillaConstants.MAX_RESULTS, 100);
-
- // set the default query options for the bugzilla search
- setDefaultQueryOptions();
- }
-
- @Override
- protected void performDefaults() {
- super.performDefaults();
-
- /*
- * set user and password to the new default values
- * and then give these values to storeCache() to update the keyring
- */
- user = bugzillaUser.getStringValue();
- password = bugzillaPassword.getStringValue();
- storeCache(user, password, true);
- }
-
- @Override
- public boolean performOk() {
- BugzillaPlugin.getDefault().getPreferenceStore().setValue(IBugzillaConstants.IS_218, bugzilla218.getBooleanValue());
- BugzillaPlugin.getDefault().getPreferenceStore().setValue(IBugzillaConstants.REFRESH_QUERY, refreshQueries.getBooleanValue());
- BugzillaPlugin.getDefault().getPreferenceStore().setValue(IBugzillaConstants.MAX_RESULTS, maxResults.getIntValue());
- String oldBugzillaServer = BugzillaPlugin.getDefault().getServerName();
- ProductConfiguration configuration = null;
-
- try {
-
- // append "/show_bug.cgi" to url provided for cases where the connection is successful,
- // but full path hasn't been specified (i.e. http://hipikat.cs.ubc.ca:8081)
- URL serverURL = new URL(bugzillaServer.getStringValue() + "/show_bug.cgi");
-
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(serverURL);
- if(cntx == null || !(cntx instanceof HttpURLConnection))
- return false;
-
- HttpURLConnection serverConnection = (HttpURLConnection)cntx;
-
- serverConnection.connect();
-
- int responseCode = serverConnection.getResponseCode();
-
- if(responseCode != HttpURLConnection.HTTP_OK)
- throw new BugzillaException("No Bugzilla server detected at " + bugzillaServer.getStringValue() + ".");
-
- try {
- configuration = ProductConfigurationFactory.getInstance().getConfiguration(bugzillaServer.getStringValue());
- } catch (IOException ex) {
- MessageDialog.openInformation(null, "Bugzilla query parameters check",
- "An error occurred while pre-fetching valid search attributes: \n\n" +
- ex.getClass().getName() + ": " + ex.getMessage() +
- "\n\nOffline submission of new bugs will be disabled.");
- }
- }
-
- catch (Exception e) {
- if (!MessageDialog.openQuestion(null, "Bugzilla Server Error", "Error validating Bugzilla Server.\n\n"
- + e.getMessage()
- + "\n\nKeep specified server location anyway?"))
- {
- bugzillaServer.setStringValue(oldBugzillaServer);
- return false;
- }
- }
-
- // save the preferences that were changed
- //BugzillaPlugin.getDefault().savePluginPreferences();
-
- bugzillaServer.store();
-
- // store the username and password from the editor field
- user = bugzillaUser.getStringValue();
- password = bugzillaPassword.getStringValue();
- storeCache(user, password, true);
-
- BugzillaPlugin.getDefault().setProductConfiguration(configuration);
- IPath configFile = BugzillaPlugin.getDefault().getProductConfigurationCachePath();
- if (configuration != null) {
-
- try {
- ProductConfigurationFactory.getInstance().writeConfiguration(configuration, configFile.toFile());
- } catch (IOException e) {
- BugzillaPlugin.log(e);
- configFile.toFile().delete();
- }
- }
- else {
- configFile.toFile().delete();
- }
- return true;
- }
-
- @Override
- public boolean performCancel() {
-// refreshQueries.setSelection(getPreferenceStore().getBoolean(MylarTasksPlugin.REFRESH_QUERIES));
- return true;
- }
- /**
- * Determine if the name starts with https:// or http://
- *
- * @param name The string that needs to be checked
- * @return <code>true</code> if the name starts with https:// or http://, otherwise <code>false</code>
- */
- private boolean checkServerName(String name) {
- if (name.startsWith(httpsPrefix) || name.startsWith(httpPrefix))
- return true;
- return false;
- }
-
- @Override
- protected void initialize() {
- super.initialize();
-
- // put the password and user name values into the field editors
- getCachedData();
- bugzillaUser.setStringValue(user);
- bugzillaPassword.setStringValue(password);
- }
-
- public void init(IWorkbench workbench) {
- // Don't need to do anything here with the workbench
- }
-
- /**
- * Hack private class to make StringFieldEditor.refreshValidState()
- * a publicly acessible method.
- *
- * @see org.eclipse.jface.preference.StringFieldEditor#refreshValidState()
- */
- private static class MyStringFieldEditor extends StringFieldEditor {
- public MyStringFieldEditor(String name, String labelText, int style,
- Composite parent) {
- super(name, labelText, style, parent);
- }
-
- @Override
- public void refreshValidState() {
- super.refreshValidState();
- }
-
- @Override
- public Text getTextControl() {
- return super.getTextControl();
- }
-
- }
-
- /**
- * Update all of the query options for the bugzilla search page
- *
- * @param monitor A reference to a progress monitor
- */
- public static void updateQueryOptions(IProgressMonitor monitor)
- throws LoginException {
- // make a new page parser so that we can get the information from the server
- BugzillaQueryPageParser parser = new BugzillaQueryPageParser(monitor);
- if (!parser.wasSuccessful())
- return;
-
- // get the preferences store so that we can change the data in it
- IPreferenceStore prefs = BugzillaPlugin.getDefault().getPreferenceStore();
-
- // get the new values for the status field and increment the status monitor
- prefs.setValue(IBugzillaConstants.STATUS_VALUES,
- queryOptionsToString(parser.getStatusValues()));
- monitor.worked(1);
-
- // get the new values for the preselected status values and increment the status monitor
- prefs.setValue(IBugzillaConstants.PRESELECTED_STATUS_VALUES,
- queryOptionsToString(parser.getPreselectedStatusValues()));
- monitor.worked(1);
-
- // get the new values for the resolution field and increment the status monitor
- prefs.setValue(IBugzillaConstants.RESOLUTION_VALUES,
- queryOptionsToString(parser.getResolutionValues()));
- monitor.worked(1);
-
- // get the new values for the severity field and increment the status monitor
- prefs.setValue(IBugzillaConstants.SEVERITY_VALUES,
- queryOptionsToString(parser.getSeverityValues()));
- monitor.worked(1);
-
- // get the new values for the priority field and increment the status monitor
- prefs.setValue(IBugzillaConstants.PRIORITY_VALUES,
- queryOptionsToString(parser.getPriorityValues()));
- monitor.worked(1);
-
- // get the new values for the hardware field and increment the status monitor
- prefs.setValue(IBugzillaConstants.HARDWARE_VALUES,
- queryOptionsToString(parser.getHardwareValues()));
- monitor.worked(1);
-
- // get the new values for the OS field and increment the status monitor
- prefs.setValue(IBugzillaConstants.OS_VALUES,
- queryOptionsToString(parser.getOSValues()));
- monitor.worked(1);
-
- // get the new values for the product field and increment the status monitor
- prefs.setValue(IBugzillaConstants.PRODUCT_VALUES,
- queryOptionsToString(parser.getProductValues()));
- monitor.worked(1);
-
- // get the new values for the component field and increment the status monitor
- prefs.setValue(IBugzillaConstants.COMPONENT_VALUES,
- queryOptionsToString(parser.getComponentValues()));
- monitor.worked(1);
-
- // get the new values for the version field and increment the status monitor
- prefs.setValue(IBugzillaConstants.VERSION_VALUES,
- queryOptionsToString(parser.getVersionValues()));
- monitor.worked(1);
-
- // get the new values for the target field and increment the status monitor
- prefs.setValue(IBugzillaConstants.TARGET_VALUES,
- queryOptionsToString(parser.getTargetValues()));
- monitor.worked(1);
- }
-
- /**
- * Set the default query options for the bugzilla search
- */
- private static void setDefaultQueryOptions() {
- // get the preferences store for the bugzilla preferences
- IPreferenceStore prefs = BugzillaPlugin.getDefault().getPreferenceStore();
-
- // get the default status values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.STATUS_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_STATUS_VALUES));
-
- // get the default preselected status values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.PRESELECTED_STATUS_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_PRESELECTED_STATUS_VALUES));
-
- // get the default resolution values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.RESOLUTION_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_RESOLUTION_VALUES));
-
- // get the default severity values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.SEVERITY_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_SEVERITY_VALUES));
-
- // get the default priority values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.PRIORITY_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_PRIORITY_VALUES));
-
- // get the default hardware values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.HARDWARE_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_HARDWARE_VALUES));
-
- // get the default os values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.OS_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_OS_VALUES));
-
- // get the default product values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.PRODUCT_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_PRODUCT_VALUES));
-
- // get the default component values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.COMPONENT_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_COMPONENT_VALUES));
-
- // get the default version values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.VERSION_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_VERSION_VALUES));
-
- // get the default target values from the store and set them as the default options
- prefs.setDefault(IBugzillaConstants.TARGET_VALUES,
- queryOptionsToString(IBugzillaConstants.DEFAULT_TARGET_VALUES));
- }
-
- /**
- * Turn the array of query options into a string separated by a '!'
- *
- * @param array A string array of query values to be turned into a string
- * @return The string containing the query options in the array
- */
- private static String queryOptionsToString(String[] array) {
- // make a new string buffer and go through each element in the array
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < array.length; i++) {
- // append the new value to the end and add a '!' as a delimiter
- buffer.append(array[i]);
- buffer.append("!");
- }
-
- // return the buffer converted to a string
- return buffer.toString();
- }
-
- /**
- * Take a string of query options and convert it to an array
- *
- * @param values A string of query options delimited by a '!'
- * @return A string array containing the query values
- */
- public static String[] queryOptionsToArray(String values) {
- // create a new string buffer and array list
- StringBuffer buffer = new StringBuffer();
- List<String> options = new ArrayList<String>();
-
- // make the string into a character array
- char[] chars = values.toCharArray();
-
- // go through each of the characters in the character array
- for (int i = 0; i < chars.length; i++) {
- if (chars[i] == '!') {
- // if the character is the delimiting value add the buffer to the list
- // and reinitialize it
- options.add(buffer.toString());
- buffer = new StringBuffer();
- } else {
- // if it is a regular character, just add it to the string buffer
- buffer.append(chars[i]);
- }
- }
-
- // create a new string array with the same size as the array list
- String[] array = new String[options.size()];
-
- // put each element from the list into the array
- for (int j = 0; j < options.size(); j++)
- array[j] = options.get(j);
- return array;
- }
-
- /**
- * Get the password and user name from the keyring
- *
- */
- @SuppressWarnings("unchecked")
- private static void getCachedData() {
- // get the map containing the password and username
- Map<String, String> map = Platform.getAuthorizationInfo(FAKE_URL, "Bugzilla", AUTH_SCHEME);
-
- // get the information from the map and save it
- if (map != null) {
- String username = map.get(INFO_USERNAME);
-
- if (username != null)
- user = username;
- else
- user = new String("");
-
- String pwd = map.get(INFO_PASSWORD);
-
- if (pwd != null)
- password = pwd;
- else
- password = new String("");
-
- return;
- }
-
- // if the map was null, set the username and password to be null
- user = new String("");
- password = new String("");
- }
-
- /**
- * Gets the bugzilla user name from the preferences
- *
- * @return The string containing the user name
- */
- public static String getUserName() {
- getCachedData();
- return user;
- }
-
- /**
- * Get whether we are dealing with Bugzilla 2.18 or not
- * @return true if it is 218
- */
- public static boolean is218(){
- return BugzillaPlugin.getDefault().getPreferenceStore().getBoolean(IBugzillaConstants.IS_218);
- }
-
- /**
- * Gets the bugzilla password from the preferences
- *
- * @return The string containing the password
- */
- public static String getPassword() {
- getCachedData();
- return password;
- }
-
- /**
- * store the password and username in the keyring
- *
- * @param username The user name to store
- * @param storePassword The password to store
- * @param createIfAbsent Whether to create the map if it doesn't exist or not
- */
- @SuppressWarnings("unchecked")
- private static void storeCache(String username, String storePassword,
- boolean createIfAbsent) {
- // put the password into the Platform map
- Map<String, String> map = Platform.getAuthorizationInfo(FAKE_URL, "Bugzilla", AUTH_SCHEME);
-
- // if the map doesn't exist, see if we can create a new one
- if (map == null) {
- if (!createIfAbsent)
- return;
- map = new java.util.HashMap<String, String>(10);
- }
-
- // add the username and password to the map
- if (username != null)
- map.put(INFO_USERNAME, username);
- if (storePassword != null)
- map.put(INFO_PASSWORD, storePassword);
-
- try {
- // write the map to the keyring
- Platform.addAuthorizationInfo(FAKE_URL, "Bugzilla", AUTH_SCHEME, map);
- } catch (CoreException e) {
- BugzillaPlugin.log(e.getStatus());
- }
- }
-
- private static String user;
-
- private static String password;
-
- public static final String INFO_PASSWORD = "org.eclipse.team.cvs.core.password"; //$NON-NLS-1$
-
- public static final String INFO_USERNAME = "org.eclipse.team.cvs.core.username"; //$NON-NLS-1$
-
- public static final String AUTH_SCHEME = "";
-
- public static final URL FAKE_URL;
-
- static {
- URL temp = null;
- try {
- temp = new URL("http://" + IBugzillaConstants.PLUGIN_ID);
- } catch (MalformedURLException e) {
- BugzillaPlugin.log(new Status(IStatus.WARNING, IBugzillaConstants.PLUGIN_ID,IStatus.OK,"Bad temp server url: BugzillaPreferences", e));
- }
- FAKE_URL = temp;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaRepository.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaRepository.java
deleted file mode 100644
index 2c498421a..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaRepository.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.internal.BugParser;
-import org.eclipse.mylar.bugzilla.core.internal.NewBugParser;
-import org.eclipse.mylar.bugzilla.core.internal.ProductParser;
-import org.eclipse.mylar.bugzilla.core.offline.OfflineReportsFile;
-
-
-/**
- * Singleton class that creates <code>BugReport</code> objects by fetching
- * bug's state and contents from the Bugzilla server.
- */
-public class BugzillaRepository
-{
-
- /**
- * Test method.
- */
- public static void main(String[] args) throws Exception {
- instance =
- new BugzillaRepository(BugzillaPlugin.getDefault().getServerName() + "/long_list.cgi?buglist=");
- BugReport bug = instance.getBug(16161);
- System.out.println("Bug " + bug.getId() + ": " + bug.getSummary());
- for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext();) {
- Attribute attribute = it.next();
- System.out.println(attribute.getName() + ": " + attribute.getValue());
- }
- System.out.println(bug.getDescription());
- for (Iterator<Comment> it = bug.getComments().iterator(); it.hasNext();) {
- Comment comment = it.next();
- System.out.println(comment.getAuthorName() + "<" + comment.getAuthor() + "> (" + comment.getCreated() + ")");
- System.out.print(comment.getText());
- System.out.println();
- }
- }
-
- /** URL of the Bugzilla server */
- private static String bugzillaUrl;
-
- /** singleton instance */
- private static BugzillaRepository instance;
-
- /**
- * Constructor
- * @param bugzillaUrl - the url of the bugzilla repository
- */
- private BugzillaRepository(String bugzillaUrl)
- {
- BugzillaRepository.bugzillaUrl = bugzillaUrl;
- }
-
- /**
- * Get the singleton instance of the <code>BugzillaRepository</code>
- * @return The instance of the repository
- */
- public synchronized static BugzillaRepository getInstance()
- {
- if (instance == null)
- {
- // if the instance hasn't been created yet, create one
- instance = new BugzillaRepository(
- BugzillaPlugin.getDefault().getServerName());
- }
-
- // fix bug 58 by updating url if it changes
- if(! BugzillaRepository.bugzillaUrl.equals(BugzillaPlugin.getDefault().getServerName()))
- {
- BugzillaRepository.bugzillaUrl = BugzillaPlugin.getDefault().getServerName();
- }
-
- return instance;
- }
-
- /**
- * Get a bug from the server
- * @param id - the id of the bug to get
- * @return - a <code>BugReport</code> for the selected bug or null if it doesn't exist
- * @throws IOException
- */
- public BugReport getBug(int id) throws IOException, MalformedURLException, LoginException
- {
-
- BufferedReader in = null;
- try {
-
- // create a new input stream for getting the bug
-
- String url = bugzillaUrl + "/show_bug.cgi?id=" + id;
-
- // allow the use to only see the operations that they can do to a bug if they have
- // their user name and password in the preferences
- if(BugzillaPreferences.getUserName() != null && !BugzillaPreferences.getUserName().equals("") && BugzillaPreferences.getPassword() != null && !BugzillaPreferences.getPassword().equals(""))
- {
- /*
- * The UnsupportedEncodingException exception for
- * URLEncoder.encode() should not be thrown, since every
- * implementation of the Java platform is required to support
- * the standard charset "UTF-8"
- */
- url += "&GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8");
- }
-
- URL bugUrl = new URL(url);
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(bugUrl);
- if(cntx != null){
- InputStream input = cntx.getInputStream();
- if(input != null) {
- in = new BufferedReader(new InputStreamReader(input));
-
- // get the actual bug fron the server and return it
- BugReport bug = BugParser.parseBug(in, id, BugzillaPlugin.getDefault().getServerName(), BugzillaPreferences.is218(), BugzillaPreferences.getUserName(), BugzillaPreferences.getPassword());
- return bug;
- }
- }
- // TODO handle the error
- return null;
- }
- catch (MalformedURLException e) {
- throw e;
- }
- catch (IOException e) {
- throw e;
- }
- catch(LoginException e)
- {
- throw e;
- }
- catch(Exception e) {
- // throw an exception if there is a problem reading the bug from the server
- throw new IOException(e.getMessage());
- }
- finally
- {
- try{
- if(in != null)
- in.close();
- }catch(IOException e)
- {
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID,IStatus.ERROR,"Problem closing the stream", e));
- }
- }
- }
-
- /**
- * Get a bug from the server.
- * If a bug with the given id is saved offline, the offline version is returned instead.
- * @param id - the id of the bug to get
- * @return - a <code>BugReport</code> for the selected bug or null if it doesn't exist
- * @throws IOException, MalformedURLException, LoginException
- */
- public BugReport getCurrentBug(int id) throws MalformedURLException, LoginException, IOException {
- // Look among the offline reports for a bug with the given id.
- OfflineReportsFile reportsFile = BugzillaPlugin.getDefault().getOfflineReports();
- int offlineId = reportsFile.find(id);
-
- // If an offline bug was found, return it if possible.
- if (offlineId != -1) {
- IBugzillaBug bug = reportsFile.elements().get(offlineId);
- if (bug instanceof BugReport) {
- return (BugReport)bug;
- }
- }
-
- // If a suitable offline report was not found, try to get one from the server.
- return getBug(id);
- }
-
- /**
- * Get the list of products when creating a new bug
- * @return The list of valid products a bug can be logged against
- * @throws IOException
- */
- public List<String> getProductList() throws IOException, LoginException, Exception
- {
- BufferedReader in = null;
- try
- {
- // connect to the bugzilla server
- String urlText = "";
-
- // use the usename and password to get into bugzilla if we have it
- if(BugzillaPreferences.getUserName() != null && !BugzillaPreferences.getUserName().equals("") && BugzillaPreferences.getPassword() != null && !BugzillaPreferences.getPassword().equals(""))
- {
- /*
- * The UnsupportedEncodingException exception for
- * URLEncoder.encode() should not be thrown, since every
- * implementation of the Java platform is required to support
- * the standard charset "UTF-8"
- */
- urlText += "?GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8");
- }
-
- URL url = new URL(bugzillaUrl + "/enter_bug.cgi"+urlText);
-
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(url);
- if(cntx != null){
- InputStream input = cntx.getInputStream();
- if(input != null) {
-
- // create a new input stream for getting the bug
- in = new BufferedReader(new InputStreamReader(input));
-
- return new ProductParser(in).getProducts();
- }
- }
- return null;
- }
- finally
- {
- try{
- if(in != null)
- in.close();
- }catch(IOException e)
- {
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID,IStatus.ERROR,"Problem closing the stream", e));
- }
- }
- }
-
- /**
- * Get the attribute values for a new bug
- * @param nbm A reference to a NewBugModel to store all of the data
- * @throws Exception
- */
- public void getnewBugAttributes(NewBugModel nbm, boolean getProd) throws Exception
- {
- BufferedReader in = null;
- try
- {
- // create a new input stream for getting the bug
- String prodname = URLEncoder.encode(nbm.getProduct(), "UTF-8");
-
- String url = bugzillaUrl + "/enter_bug.cgi";
-
- // use the proper url if we dont know the product yet
- if(!getProd)
- url += "?product=" + prodname + "&";
- else
- url += "?";
-
- // add the password and username to the url so that bugzilla logs us in
- /*
- * The UnsupportedEncodingException exception for
- * URLEncoder.encode() should not be thrown, since every
- * implementation of the Java platform is required to support
- * the standard charset "UTF-8"
- */
- url += "&GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8");
-
- URL bugUrl = new URL(url);
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(bugUrl);
- if(cntx != null){
- InputStream input = cntx.getInputStream();
- if(input != null) {
- in = new BufferedReader(new InputStreamReader(input));
-
- new NewBugParser(in).parseBugAttributes(nbm, getProd);
- }
- }
-
- } catch(Exception e) {
-
- if ( e instanceof KeyManagementException || e instanceof NoSuchAlgorithmException || e instanceof IOException ){
- if(MessageDialog.openQuestion(null, "Bugzilla Connect Error", "Unable to connect to Bugzilla server.\n" +
- "Bug report will be created offline and saved for submission later.")){
- nbm.setConnected(false);
- getProdConfigAttributes(nbm);
- }
- else
- throw new Exception("Bug report will not be created.");
- }
- else
- throw e;
- }
- finally
- {
- try{
- if(in != null)
- in.close();
- }catch(IOException e)
- {
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID,IStatus.ERROR,"Problem closing the stream", e));
- }
- }
- }
-
- /**
- * Get the bugzilla url that the repository is using
- * @return A <code>String</code> containing the url of the bugzilla server
- */
- public static String getURL()
- {
- return bugzillaUrl;
- }
-
-
- /** Method to get attributes from ProductConfiguration if unable to connect
- * to Bugzilla server
- * @param model - the NewBugModel to store the attributes
- */
- public void getProdConfigAttributes(NewBugModel model){
-
- HashMap<String, Attribute> attributes = new HashMap<String, Attribute>();
-
- // ATTRIBUTE: Severity
- Attribute a = new Attribute("Severity");
- a.setParameterName("bug_severity");
- // get optionValues from ProductConfiguration
- String[] optionValues = BugzillaPlugin.getDefault().getProductConfiguration().getSeverities();
- // add option values from ProductConfiguration to Attribute optionValues
- for( int i=0; i<optionValues.length; i++ ){
- a.addOptionValue(optionValues[i], optionValues[i]);
- }
- // add Attribute to model
- attributes.put("severites", a);
-
- // ATTRIBUTE: OS
- a = new Attribute("OS");
- a.setParameterName("op_sys");
- optionValues = BugzillaPlugin.getDefault().getProductConfiguration().getOSs();
- for( int i=0; i<optionValues.length; i++ ){
- a.addOptionValue(optionValues[i], optionValues[i]);
- }
- attributes.put("OSs", a);
-
- // ATTRIBUTE: Platform
- a = new Attribute("Platform");
- a.setParameterName("rep_platform");
- optionValues = BugzillaPlugin.getDefault().getProductConfiguration().getPlatforms();
- for( int i=0; i<optionValues.length; i++ ){
- a.addOptionValue(optionValues[i], optionValues[i]);
- }
- attributes.put("platforms",a);
-
- // ATTRIBUTE: Version
- a = new Attribute("Version");
- a.setParameterName("version");
- optionValues = BugzillaPlugin.getDefault().getProductConfiguration().getVersions(model.getProduct());
- for( int i=0; i<optionValues.length; i++ ){
- a.addOptionValue(optionValues[i], optionValues[i]);
- }
- attributes.put("versions", a);
-
- // ATTRIBUTE: Component
- a = new Attribute("Component");
- a.setParameterName("component");
- optionValues = BugzillaPlugin.getDefault().getProductConfiguration().getComponents(model.getProduct());
- for( int i=0; i<optionValues.length; i++ ){
- a.addOptionValue(optionValues[i], optionValues[i]);
- }
- attributes.put("components", a);
-
- // ATTRIBUTE: Priority
- a = new Attribute("Priority");
- a.setParameterName("bug_severity");
- optionValues = BugzillaPlugin.getDefault().getProductConfiguration().getPriorities();
- for( int i=0; i<optionValues.length; i++ ){
- a.addOptionValue(optionValues[i], optionValues[i]);
- }
-
- // set NBM Attributes (after all Attributes have been created, and added to attributes map)
- model.attributes = attributes;
- }
-
- public static String getBugUrl(int id) {
- String url = BugzillaPlugin.getDefault().getServerName() + "/show_bug.cgi?id=" + id;
- try {
- if (BugzillaPreferences.getUserName() != null
- && !BugzillaPreferences.getUserName().equals("")
- && BugzillaPreferences.getPassword() != null
- && !BugzillaPreferences.getPassword().equals("")) {
-
- url += "&GoAheadAndLogIn=1&Bugzilla_login="
- + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8")
- + "&Bugzilla_password="
- + URLEncoder.encode(BugzillaPreferences.getPassword(),"UTF-8");
- }
- } catch (UnsupportedEncodingException e) {
- return "";
- }
- return url;
- }
-
- public static String getBugUrlWithoutLogin(int id) {
- String url = BugzillaPlugin.getDefault().getServerName() + "/show_bug.cgi?id=" + id;
- return url;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaTools.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaTools.java
deleted file mode 100644
index 2682d703b..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/BugzillaTools.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-
-
-/**
- * Miscellaneous constants and functions for this plugin.
- */
-public class BugzillaTools {
-
- /** The default string used for locally created bugs. */
- public static final String OFFLINE_SERVER_DEFAULT = "[local]";
-
- /**
- * Returns a unique handle for the bugzilla selection. Contains the bug id,
- * the bug server, and (if applicable) the comment number.
- *
- * @param bugSel
- * The bugzilla selection.
- * @return The handle for the bugzilla selection.
- */
- public static String getHandle(IBugzillaReportSelection bugSel) {
- String handle = bugSel.getServer() + ";" + bugSel.getId();
- if (bugSel.hasComment()) {
- int number = bugSel.getComment().getNumber() + 1;
- handle += ";" + number;
- } else if(bugSel.isCommentHeader()){
- handle += ";1";
- } else if(bugSel.isDescription()){
- handle += ";0";
- }
- return handle;
- }
-
- public static String getName(IBugzillaReportSelection bugSel) {
- String name = bugSel.getServer() + ": Bug#: " + bugSel.getId() + ": " + bugSel.getBugSummary();
- if (bugSel.hasComment()) {
- name+= " : Comment#: " + bugSel.getComment().getNumber();
- } else if(bugSel.isCommentHeader()){
- name+= " : Comment Header";
- } else if(bugSel.isDescription()){
- name+= ": Description";
- }
- return name;
- }
-
- public static String getHandle(IBugzillaBug bug) {
- return bug.getServer() + ";" + bug.getId();
- }
-
- public static String getName(IBugzillaBug bug) {
- return bug.getServer() + ": Bug#: " + bug.getId() + ": " + bug.getSummary();
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Comment.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Comment.java
deleted file mode 100644
index c16c5df9b..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Comment.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * A comment posted on a bug.
- */
-public class Comment implements Serializable
-{
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3978422529214199344L;
-
- /** Comment's bug */
- private final BugReport bug;
-
- /** Comment's number */
- private final int number;
-
- /** Comment's text */
- private String text;
-
- /** Comment's author */
- private final String author;
-
- /** Author's realname, if known */
- private final String authorName;
-
- /** Comment's creation timestamp */
- private final Date created;
-
- /** Preceding comment */
- private Comment previous;
-
- /** Following comment */
- private Comment next;
-
- /**
- * Constructor
- * @param bug The bug that this comment is associated with
- * @param date The date taht this comment was entered on
- * @param author The author of the bug
- * @param authorName The authors real name
- */
- public Comment(BugReport bug, int number, Date date, String author, String authorName)
- {
- this.bug = bug;
- this.number = number;
- this.created = date;
- this.author = author;
- this.authorName = authorName;
- }
-
- /**
- * Get the bug that this comment is associated with
- * @return The bug that this comment is associated with
- */
- public BugReport getBug()
- {
- return bug;
- }
-
- /**
- * Get this comment's number
- * @return This comment's number
- */
- public int getNumber()
- {
- return number;
- }
-
- /**
- * Get the time that this comment was created
- * @return The comments creation timestamp
- */
- public Date getCreated()
- {
- return created;
- }
-
- /**
- * Get the author of the comment
- * @return The comments author
- */
- public String getAuthor()
- {
- return author;
- }
-
- /**
- * Get the authors real name
- * @return Returns author's name, or <code>null</code> if not known
- */
- public String getAuthorName()
- {
- return authorName;
- }
-
- /**
- * Get the text contained in the comment
- * @return The comments text
- */
- public String getText()
- {
- return text;
- }
-
- /**
- * Set the comments text
- * @param text The text to set the comment to have
- */
- public void setText(String text)
- {
- this.text = text;
- }
-
- /**
- * Get the next comment for the bug
- * @return Returns the following comment, or <code>null</code> if the last one.
- */
- public Comment getNext()
- {
- return next;
- }
-
- /**
- * Set the next comment for the bug
- * @param next The comment that is after this one
- */
- protected void setNext(Comment next)
- {
- this.next = next;
- }
-
- /**
- * Get the previous comment
- * @return Returns preceding comment, or <code>null</code> if the first one
- */
- public Comment getPrevious()
- {
- return previous;
- }
-
- /**
- * Seth the previous comment for the bug
- * @param previous The comment that is before this one
- */
- protected void setPrevious(Comment previous)
- {
- this.previous = previous;
- }
-}
-
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaAttributeListener.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaAttributeListener.java
deleted file mode 100644
index 0c180867b..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaAttributeListener.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.core;
-
-
-/**
- * @author Ken Sueda
- */
-public interface IBugzillaAttributeListener {
- public abstract void attributeChanged(String attribute, String value);
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaBug.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaBug.java
deleted file mode 100644
index 6b9dadf05..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaBug.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.Serializable;
-import java.util.List;
-
-
-/**
- * Interface representing a Bugzilla bug report.
- */
-public interface IBugzillaBug extends Serializable {
-
- /**
- * @return bug's id.
- */
- public int getId();
-
- /**
- * @return the server for this bug.
- */
- public String getServer();
-
- /**
- * @return the title label for this bug.
- */
- public String getLabel();
-
- /**
- * @return bug's description.
- */
- public String getDescription();
-
- /**
- * Sets the bug's description.
- * @param newDescription
- */
- public void setDescription(String newDescription);
-
- /**
- * @return bug's summary.
- */
- public String getSummary();
-
- /**
- * Sets the bug's summary.
- * @param newSummary
- */
- public void setSummary(String newSummary);
-
- /**
- * Get an attribute given its key
- * @return The value of the attribute or <code>null</code> if not present
- */
- public Attribute getAttribute(String key);
-
- /**
- * @return the attributes for this bug.
- */
- public List<Attribute> getAttributes();
-
- /**
- * @return <code>true</code> if this bug report is saved offline.
- */
- public boolean isSavedOffline();
-
- /**
- * @return <code>true</code> if this bug was created locally, and does not
- * yet exist on a bugzilla server.
- */
- public boolean isLocallyCreated();
-
- /**
- * Sets whether or not this bug is saved offline.
- * @param newOfflineState <code>true</code> if this bug is saved offline
- */
- public void setOfflineState(boolean newOfflineState);
-
- public boolean hasChanges();
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaConstants.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaConstants.java
deleted file mode 100644
index c2886525d..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaConstants.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-/**
- * @author kvesik
- *
- * Created on Mar 26, 2003
- */
-
-/**
- * Interface for holding Bugzilla constants.
- */
-public interface IBugzillaConstants
-{
-
- // The bugzilla plugin id
- static final String PLUGIN_ID = "org.eclipse.mylar.bugzilla";
-
- // The id's of other bugzilla packages
- static final String EXISTING_BUG_EDITOR_ID = PLUGIN_ID + ".ui.existingBugEditor";
- static final String NEW_BUG_EDITOR_ID = PLUGIN_ID + ".ui.newBugEditor";
- static final String SEARCH_PAGE_ID = PLUGIN_ID + ".search.bugzillaSearchPage";
- static final String SEARCH_PAGE_CONTEXT = PLUGIN_ID + ".bugzillaSearchContext";
- static final String EDITOR_PAGE_CONTEXT = PLUGIN_ID + ".bugzillaEditorContext";
- static final String HIT_MARKER_ID = PLUGIN_ID + ".searchHit";
-
- // The is's for hit markers used in the label provider and sorters
- static final String HIT_MARKER_ATTR_ID = "id";
- static final String HIT_MARKER_ATTR_HREF = "href";
- static final String HIT_MARKER_ATTR_DESC = "description";
- static final String HIT_MARKER_ATTR_LABEL = "label";
- static final String HIT_MARKER_ATTR_SEVERITY = "severity";
- static final String HIT_MARKER_ATTR_PRIORITY = "priority";
- static final String HIT_MARKER_ATTR_PLATFORM = "platform";
- static final String HIT_MARKER_ATTR_STATE = "state";
- static final String HIT_MARKER_ATTR_RESULT = "result";
- static final String HIT_MARKER_ATTR_OWNER = "owner";
- static final String HIT_MARKER_ATTR_QUERY = "query";
-
- // Error code
- static final int ERROR_CODE = 1;
-
- // Bugzilla Preferences keys
- static final String BUGZILLA_SERVER = "BUGZILLA_SERVER";
- static final String MOST_RECENT_QUERY = "MOST_RECENT_QUERY";
- static final String IS_218 = "BUGZILLA_IS_218";
- static final String REFRESH_QUERY = "REFRESH_QUERY";
- static final String MAX_RESULTS = "MAX_BUGZILLA_RESULTS";
-
- // names for the resources used to hold the different attributes of a bug
- static final String STATUS_VALUES = "STATUS_VALUES";
- static final String PRESELECTED_STATUS_VALUES = "PRESELECTED_STATUS_VALUES";
- static final String RESOLUTION_VALUES = "RESOLUTION_VALUES";
- static final String SEVERITY_VALUES = "SEVERITY_VALUES";
- static final String PRIORITY_VALUES = "PRIORITY_VALUES";
- static final String HARDWARE_VALUES = "HARDWARE_VALUES";
- static final String OS_VALUES = "OS_VALUES";
- static final String PRODUCT_VALUES = "PRODUCT_VALUES";
- static final String COMPONENT_VALUES = "COMPONENT_VALUES";
- static final String VERSION_VALUES = "VERSION_VALUES";
- static final String TARGET_VALUES = "TARGET_VALUES";
-
- // Default values for keys
- static final String DEFAULT_BUGZILLA_SERVER = "https://bugs.eclipse.org/bugs";
-
- static final String[] DEFAULT_STATUS_VALUES = {"Unconfirmed", "New", "Assigned", "Reopened", "Resolved", "Verified", "Closed"};
- static final String[] DEFAULT_PRESELECTED_STATUS_VALUES = {"New", "Assigned", "Reopened"};
- static final String[] DEFAULT_RESOLUTION_VALUES = {"Fixed", "Invalid", "Wontfix", "Later", "Remind", "Duplicate", "Worksforme", "Moved"};
- static final String[] DEFAULT_SEVERITY_VALUES = {"blocker", "critical", "major", "normal", "minor", "trivial", "enhancement"};
- static final String[] DEFAULT_PRIORITY_VALUES = {"P1", "P2", "P3", "P4", "P5"};
- static final String[] DEFAULT_HARDWARE_VALUES = {"All", "Macintosh", "PC", "Power PC", "Sun", "Other"};
- static final String[] DEFAULT_OS_VALUES = {"All", "AIX Motif", "Windows 95", "Windows 98", "Windows CE", "Windows ME", "Windows 2000",
- "Windows NT", "Windows XP", "Windows All", "MacOS X", "Linux", "Linux-GTK", "Linux-Motif", "HP-UX", "Neutrino",
- "QNX-Photon", "Solaris", "Unix All", "other"};
- static final String[] DEFAULT_PRODUCT_VALUES = {"AJDT", "AspectJ", "CDT", "EMF", "Equinox", "GEF", "JDT", "PDE", "Platform", "Stellation", "XSD"};
- static final String[] DEFAULT_COMPONENT_VALUES = {"Access Control", "Ant", "Commandline", "Compare", "Compiler", "Core", "Cpp-Extensions", "Debug",
- "Doc", "Docs", "draw2d", "Dynamic Plugins", "Fine-Grained", "GEF", "Generic-Extensions", "Help", "IDE", "Launcher", "LPEX", "Plugins",
- "Releng", "Repository", "Script Tests", "Scripting", "Search", "Server", "SWT", "Text", "UI", "Unit Tests", "Update", "VCM",
- "WebDAV", "Windows Support"};
- static final String[] DEFAULT_VERSION_VALUES = {"0.5", "1.0", "2.0", "2.0.1", "2.0.2", "2.1", "2.2", "unspecified"};
- static final String[] DEFAULT_TARGET_VALUES = {"2.0 M1", "Alpha1", "Alpha2", "Alpha3", "Alpha4", "1.0", "1.0 - 20020308", "1.0 - Release",
- "2.0 M2", "2.0 - 20020308", "2.0 M3", "2.0 - 20020408", "2.0 M4", "2.0 - 20020508", "2.0 M5", "2.0 - Release", "2.0 M6",
- "2.0 F1", "2.0 F2", "2.0 F3", "2.0 F4", "2.0.1", "2.0.2",
- "2.1", "2.1 M1", "2.1 M2", "2.1 M3", "2.1 M4", "2.1 M5", "2.1 RC1", "2.1 RC2", "2.1 RC3", "2.2", "Future"};
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaReportSelection.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaReportSelection.java
deleted file mode 100644
index 494a38bb1..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IBugzillaReportSelection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import org.eclipse.jface.viewers.ISelection;
-
-
-/**
- * Interface for a selection of a Bugzilla element in a view.
- */
-public interface IBugzillaReportSelection extends ISelection {
-
- /**
- * @return <code>true</code> if a comment was selected.
- */
- public boolean hasComment();
-
- /**
- * @return the <code>Comment</code> object for this selection, or
- * <code>null</code> if a comment was not selected.
- */
- public Comment getComment();
-
- /**
- * Sets the <code>Comment</code> object for this selection. If a comment
- * was not selected, then this should be <code>null</code>.
- *
- * @param comment
- * The selection's comment, or <code>null</code> if not
- * applicable.
- */
- public void setComment(Comment comment);
-
- /**
- * @return The contents of the selection. This can be <code>null</code>.
- */
- public String getContents();
-
- /**
- * Sets the contents of the selection.
- *
- * @param contents
- * The selection.
- */
- public void setContents(String contents);
-
- /**
- * @return The id of the Bugzilla object that the selection was on.
- */
- public int getId();
-
- /**
- * Sets the id of the Bugzilla object that the selection was on.
- *
- * @param id
- * The id of the bug.
- */
- public void setId(int id);
-
- /**
- * @return The server of the Bugzilla object that the selection was on, or
- * <code>null</code> if no server is supplied.
- */
- public String getServer();
-
- /**
- * Sets the server of the Bugzilla object that the selection was on.
- *
- * @param server
- * The server of the bug.
- */
- public void setServer(String server);
-
- public boolean isCommentHeader();
-
- public boolean isDescription();
-
- public String getBugSummary();
-
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IOfflineBugListener.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IOfflineBugListener.java
deleted file mode 100644
index f9ca44cf7..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/IOfflineBugListener.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.mylar.bugzilla.core;
-
-
-public interface IOfflineBugListener {
-
- public enum BugzillaOfflineStaus {
- SAVED, SAVED_WITH_OUTGOING_CHANGES, DELETED, SAVED_WITH_INCOMMING_CHANGES, CONFLICT
- }
-
- public void offlineStatusChange(IBugzillaBug bug, BugzillaOfflineStaus status);
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/NewBugModel.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/NewBugModel.java
deleted file mode 100644
index d9f811a2c..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/NewBugModel.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-
-/**
- * This class is used to store data about the new bug that is being created while the wizard is being used
- *
- * @author Eric Booth
- */
-public class NewBugModel implements Serializable, IBugzillaBug {
-
- /** Automatically generated serialVersionUID */
- private static final long serialVersionUID = 3977859587934335283L;
-
- /** Whether the attributes have been parsed yet or not */
- protected boolean hasParsedAttributes = false;
-
- /** Whether the products have been parsed yet or not */
- protected boolean hasParsedProducts = false;
-
- /** The bug's id */
- protected final int id;
-
- /** The product that the bug is for */
- protected String product;
-
- /** A list of the attributes that can be changed for the new bug */
- public HashMap<String, Attribute> attributes = new HashMap<String, Attribute>();
-
- /** The summary for the bug */
- protected String summary = "";
-
- /** The description for the bug */
- protected String description = "";
-
- /**
- * Flag to indicate status of connection to Bugzilla server to identify
- * whether ProductConfiguration should be used instead
- */
- protected boolean connected = true;
-
- /** Whether or not this bug report is saved offline. */
- protected boolean savedOffline = false;
-
- /**
- * Creates a new <code>NewBugModel</code>. The id chosen for this bug is
- * based on the id of the last <code>NewBugModel</code> that was created.
- */
- public NewBugModel() {
- super();
- id = BugzillaPlugin.getDefault().getOfflineReports().getNextOfflineBugId();
- }
-
- public Attribute getAttribute(String key) {
- return attributes.get(key);
- }
-
- /**
- * Get the list of attributes for this model
- *
- * @return An <code>ArrayList</code> of the models attributes
- */
- public List<Attribute> getAttributes() {
- // create an array list to store the attributes in
- ArrayList<Attribute> attributeEntries = new ArrayList<Attribute>(attributes.keySet().size());
-
- // go through each of the attribute keys
- for (Iterator<String> it = attributes.keySet().iterator(); it.hasNext(); ) {
- // get the key for the attribute
- String key = it.next();
-
- // get the attribute and add it to the list
- Attribute attribute = attributes.get(key);
- attributeEntries.add(attribute);
- }
-
- // return the list of attributes for the bug
- return attributeEntries;
- }
-
- public int getId() {
- return id;
- }
-
- public String getServer() {
- return BugzillaTools.OFFLINE_SERVER_DEFAULT;
- }
-
- public String getLabel() {
- return "New Bug #" + id;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String newDescription) {
- description = newDescription;
- }
-
- public String getSummary() {
- return summary;
- }
-
- public void setSummary(String newSummary) {
- summary = newSummary;
- }
-
- /**
- * @return The product that the bug is for.
- */
- public String getProduct() {
- return product;
- }
-
- /**
- * Sets the product that the bug is for.
- * @param product The product.
- */
- public void setProduct(String product) {
- this.product = product;
- }
-
- /**
- * @return Flag to indicate status of connection to Bugzilla server (to
- * identify whether ProductConfiguration should be used instead)
- */
- public boolean isConnected() {
- return connected;
- }
-
- /**
- * Sets the value of the flag to indicate status of connection to Bugzilla server (to identify whether ProductConfiguration should be used instead)
- * @param newConnectionStatus <code>true</code> if the bug is connected.
- */
- public void setConnected(boolean newConnectionStatus) {
- connected = newConnectionStatus;
- }
-
- /**
- * @return Returns whether the attributes have been parsed yet or not.
- */
- public boolean hasParsedAttributes() {
- return hasParsedAttributes;
- }
-
- /**
- * Sets whether the attributes have been parsed yet or not.
- * @param hasParsedAttributes <code>true</code> if the attributes have been parsed.
- */
- public void setParsedAttributesStatus(boolean hasParsedAttributes) {
- this.hasParsedAttributes = hasParsedAttributes;
- }
-
- /**
- * @return Returns whether the products have been parsed yet or not.
- */
- public boolean hasParsedProducts() {
- return hasParsedProducts;
- }
-
- /**
- * Sets whether the products have been parsed yet or not.
- * @param hasParsedProducts <code>true</code> if the products have been parsed.
- */
- public void setParsedProductsStatus(boolean hasParsedProducts) {
- this.hasParsedProducts = hasParsedProducts;
- }
-
- public boolean isSavedOffline() {
- return savedOffline;
- }
-
- public boolean isLocallyCreated() {
- return true;
- }
-
- public void setOfflineState(boolean newOfflineState) {
- savedOffline = newOfflineState;
- }
-
- public boolean hasChanges() {
- return true;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Operation.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Operation.java
deleted file mode 100644
index 190e479b8..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/Operation.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A representation of an operation that can be done to the bug when it is submitted
- * @author Shawn Minto
- */
-public class Operation implements Serializable
-{
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3256442508174045236L;
-
- /** The name of the value for the knob attribute */
- private String knob_name;
-
- /** The name of the option that can be chosen */
- private String optionName;
-
- /** List of option names */
- private List<String> optionNames;
-
- /** Map of options and their names */
- private Map<String, String> options;
-
- /** Flag for if we have any options or not */
- private boolean hasOptions = false;
-
- /** The name of the operation (text that we display) */
- private String op_name;
-
- /** The option that is selected */
- private String op_sel;
-
- /** Whether this is to be checked or not */
- private boolean isChecked = false;
-
- private boolean isInput = false;
-
- private String inputName = null;
-
- private String inputValue = "";
-
- /**
- * Constructor
- * @param knobName The name of the value for the knob attribute
- * @param operationName The display text for the operation
- */
- public Operation(String knobName, String operationName)
- {
- knob_name = knobName;
- op_name = operationName;
- }
-
- /**
- * Get the knob name
- * @return The knob name
- */
- public String getKnobName()
- {
- return knob_name;
- }
-
- /**
- * Get the display name
- * @return The display name
- */
- public String getOperationName()
- {
- return op_name;
- }
-
- /**
- * Check if this has any options
- * @return True if there are option values
- */
- public boolean hasOptions()
- {
- return hasOptions;
- }
-
- /**
- * Set up this operation to have options
- * @param optionName The name for the option attribute
- */
- public void setUpOptions(String optionName)
- {
- hasOptions = true;
- this.optionName = optionName;
- options = new HashMap<String, String>();
- optionNames = new ArrayList<String>();
- }
-
- /**
- * Add an option value to the operation
- * @param name The name of the option
- * @param value The value of the option
- */
- public void addOption(String name, String value)
- {
- options.put(name, value);
- if(options.size() == 1)
- op_sel = name;
- optionNames.add(name);
- }
-
- /**
- * Get the list of option names for this operation
- * @return The list of option names
- */
- public List<String> getOptionNames()
- {
- return optionNames;
- }
-
- /**
- * Get the selected option
- * @return The selected option name
- */
- public String getOptionSelection() {
- return op_sel;
- }
-
-
- /**
- * Set the selected option
- * @param string The name of the selected option
- */
- public void setOptionSelection(String string) {
- op_sel = string;
- }
-
- /**
- * Check if this is to be checked or not
- * @return True if this is to be checked at the start
- */
- public boolean isChecked() {
- return isChecked;
- }
-
- /**
- * Set whether this option is to be checked or not
- * @param b True if it is to be checked
- */
- public void setChecked(boolean b) {
- isChecked = b;
- }
-
- /**
- * Get the name for the option attribute
- * @return The option name
- */
- public String getOptionName()
- {
- return optionName;
- }
-
- /**
- * Get the value for an option from its name
- * @param option The name of the option
- * @return The value of the option
- */
- public String getOptionValue(String option)
- {
- return options.get(option);
- }
-
- public boolean isInput() {
- return isInput;
- }
-
- public String getInputName() {
- return inputName;
- }
-
- public void setInputName(String inputName) {
- isInput = true;
- this.inputName = inputName;
- }
-
- public String getInputValue() {
- return inputValue == null?"":inputValue;
- }
-
- public void setInputValue(String inputValue) {
- this.inputValue = inputValue;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/PossibleBugzillaFailureException.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/PossibleBugzillaFailureException.java
deleted file mode 100644
index 72690d60f..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/PossibleBugzillaFailureException.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.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/bugzilla/core/TrustAll.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/TrustAll.java
deleted file mode 100644
index 836c6bc10..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/TrustAll.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareInput.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareInput.java
deleted file mode 100644
index 54f283e72..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareInput.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.compare;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.CompareEditorInput;
-import org.eclipse.compare.structuremergeviewer.Differencer;
-import org.eclipse.compare.structuremergeviewer.IStructureComparator;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-
-/**
- * A two-way or three-way compare for <code>BugReport</code> objects.
- *
- * @author Shawn Minto
- * @author Mik Kersten
- */
-public class BugzillaCompareInput extends CompareEditorInput {
-
- private boolean threeWay= false;
- private Object root;
- private IStructureComparator ancestor = null;
- private IStructureComparator left = null;
- private IStructureComparator right = null;
-
- /**
- * Constructor.
- *
- * @param configuration
- * The compare configuration used in this compare input.
- * @see CompareConfiguration
- */
- public BugzillaCompareInput(CompareConfiguration configuration) {
- super(configuration);
- }
-
- @Override
- protected Object prepareInput(IProgressMonitor monitor) {
- if (left == null || right == null) {
- return null;
- }
- Differencer d= new Differencer();
- root= d.findDifferences(threeWay, monitor, null, ancestor, left, right);
- return root;
- }
-
- /**
- * @return The original object that's to be compared (appears on the top of
- * the compare view).
- */
- public IStructureComparator getAncestor() {
- return ancestor;
- }
-
- /**
- * Sets the original object that's to be compared (appears on the top of the
- * compare view).
- *
- * @param newAncestor
- * The new original object.
- */
- public void setAncestor(BugReport newAncestor) {
- threeWay = (newAncestor != null);
- BugzillaStructureCreator structureCreator = new BugzillaStructureCreator();
- ancestor = structureCreator.getStructure(newAncestor);
- }
-
- /**
- * @return The local object that's to be compared (appears on the left side
- * of the compare view).
- */
- public IStructureComparator getLeft() {
- return left;
- }
-
- /**
- * Sets the local object that's to be compared (appears on the left side of
- * the compare view).
- *
- * @param newLeft
- * The new local object.
- */
- public void setLeft(BugReport newLeft) {
- BugzillaStructureCreator structureCreator = new BugzillaStructureCreator();
- left = structureCreator.getStructure(newLeft);
- }
-
- /**
- * @return The online object that's to be compared (appears on the right
- * side of the compare view).
- */
- public IStructureComparator getRight() {
- return right;
- }
-
- /**
- * Sets the online object that's to be compared (appears on the right side
- * of the compare view).
- *
- * @param newRight
- * The new online object.
- */
- public void setRight(BugReport newRight) {
- BugzillaStructureCreator structureCreator = new BugzillaStructureCreator();
- right = structureCreator.getStructure(newRight);
- }
-
- /**
- * @return <code>true</code> if a three-way comparison is to be done.
- */
- public boolean isThreeWay() {
- return threeWay;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java
deleted file mode 100644
index 0461d42fd..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaCompareNode.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.compare;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.compare.IStreamContentAccessor;
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.compare.structuremergeviewer.IStructureComparator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * A node for the tree used to compare bugs in the compare viewer.
- */
-public class BugzillaCompareNode implements IStreamContentAccessor, IStructureComparator, ITypedElement {
-
- /** The label for this piece of data. */
- private String key;
-
- /** The data for this node. */
- private String value;
-
- /** The children of this node. */
- private ArrayList<BugzillaCompareNode> nodeChildren;
-
- /** This node's image. */
- private Image image;
-
- /**
- * Constructor. The image for this node is set to <code>null</code>.
- * @param key The label for this node.
- * @param value The data for this node.
- */
- public BugzillaCompareNode(String key, String value) {
- this(key, value, null);
- }
-
- /**
- * Constructor.
- * @param key The label for this node.
- * @param value The data for this node.
- * @param image The image for this node.
- */
- public BugzillaCompareNode(String key, String value, Image image) {
- super();
- this.key = key;
- this.value = checkText(value);
- this.nodeChildren = null;
- this.image = image;
- }
-
- /**
- * This function checks to make sure the given string is not
- * <code>null</code>. If it is, the empty string is returned instead.
- *
- * @param newValue
- * The string to be checked.
- * @return If the text is <code>null</code>, then return the null string (<code>""</code>).
- * Otherwise, return the text.
- */
- private String checkText(String newValue) {
- return ((newValue == null) ? "" : newValue);
- }
-
- public Object[] getChildren() {
- return (nodeChildren == null) ? new Object[0] : nodeChildren.toArray();
- }
-
- /**
- * Adds a node to this node's list of children.
- * @param bugNode The new child.
- */
- public void addChild(BugzillaCompareNode bugNode) {
- if (nodeChildren == null) {
- nodeChildren = new ArrayList<BugzillaCompareNode>();
- }
- nodeChildren.add(bugNode);
- }
-
- public InputStream getContents() throws CoreException {
- return new ByteArrayInputStream(getValue().getBytes());
- }
-
- /**
- * @return The label for this node.
- */
- public String getKey() {
- return key;
- }
-
- /**
- * Set the label for this node.
- *
- * @param key
- * The new label.
- */
- public void setKey(String key) {
- this.key = key;
- }
-
- /**
- * @return The data for this node.
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Set the data for this node.
- *
- * @param value
- * The new data.
- */
- public void setValue(String value) {
- this.value = checkText(value);
- }
-
- public Image getImage() {
- return image;
- }
-
- /**
- * Sets the image for this object. This image is used when displaying this
- * object in the UI.
- *
- * @param newImage
- * The new image.
- */
- public void setImage(Image newImage) {
- this.image = newImage;
- }
-
- @Override
- public boolean equals(Object arg0) {
- if (arg0 instanceof BugzillaCompareNode) {
- BugzillaCompareNode bugNode = (BugzillaCompareNode) arg0;
- return getKey().equals(bugNode.getKey());
- }
- return super.equals(arg0);
- }
-
- @Override
- public int hashCode() {
- return getKey().hashCode();
- }
-
-
- public String getName() {
- return getKey();
- }
-
- public String getType() {
- return "bug report";
- }
-
- /**
- * Parses the given <code>BugReport</code> into a tree of
- * <code>BugzillaCompareNode</code>'s suitable for use in a compare
- * viewer.
- *
- * @param bug
- * The <code>BugReport</code> that needs parsing.
- * @return The tree of <code>BugzillaCompareNode</code>'s.
- */
- public static BugzillaCompareNode parseBugReport(BugReport bug) {
- Image defaultImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
- BugzillaCompareNode topNode = new BugzillaCompareNode("Bug #" + bug.getId(), null, defaultImage);
- topNode.addChild(new BugzillaCompareNode("Creation Date", bug.getCreated().toString(), defaultImage));
-
- String keywords = "";
- if (bug.getKeywords() != null) {
- for (Iterator<String> iter = bug.getKeywords().iterator(); iter.hasNext();) {
- keywords += iter.next() + " ";
- }
- }
- topNode.addChild(new BugzillaCompareNode("Keywords", keywords, defaultImage));
-
- Image attributeImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
- BugzillaCompareNode attributes = new BugzillaCompareNode("Attributes", null, attributeImage);
- for (Iterator<Attribute> iter = bug.getAttributes().iterator(); iter.hasNext();) {
- Attribute attribute = iter.next();
- if(attribute.getName().compareTo("delta_ts") == 0 || attribute.getName().compareTo("Last Modified") == 0 || attribute.getName().compareTo("longdesclength") == 0)
- continue;
- // Since the bug report may not be saved offline, get the attribute's new
- // value, which is what is in the submit viewer.
- attributes.addChild(new BugzillaCompareNode(attribute.getName(), attribute.getNewValue(), attributeImage));
- }
- topNode.addChild(attributes);
-
- topNode.addChild(new BugzillaCompareNode("Description", bug.getDescription(), defaultImage));
-
- BugzillaCompareNode comments = new BugzillaCompareNode("Comments", null, defaultImage);
- for (Iterator<Comment> iter = bug.getComments().iterator(); iter.hasNext();) {
- Comment comment = iter.next();
- String bodyString = "Comment from " + comment.getAuthorName() + ":\n\n" + comment.getText();
- comments.addChild(new BugzillaCompareNode(comment.getCreated().toString(), bodyString, defaultImage));
- }
- topNode.addChild(comments);
-
- topNode.addChild(new BugzillaCompareNode("New Comment", bug.getNewNewComment(), defaultImage));
-
- BugzillaCompareNode ccList = new BugzillaCompareNode("CC List", null, defaultImage);
- for (Iterator<String> iter = bug.getCC().iterator(); iter.hasNext();) {
- String cc = iter.next();
- ccList.addChild(new BugzillaCompareNode("CC", cc, defaultImage));
- }
- topNode.addChild(ccList);
-
- BugzillaCompareNode titleNode = new BugzillaCompareNode("BugReport Object", null, defaultImage);
- titleNode.addChild(topNode);
-
- return titleNode;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaStructureCreator.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaStructureCreator.java
deleted file mode 100644
index f7fe6b0aa..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/compare/BugzillaStructureCreator.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.compare;
-
-import org.eclipse.compare.structuremergeviewer.IStructureComparator;
-import org.eclipse.compare.structuremergeviewer.IStructureCreator;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-
-/**
- * This implementation of the <code>IStructureCreator</code> interface
- * makes the contents of a <code>BugReport</code> object available as a
- * hierarchical structure of <code>IStructureComparator</code>s.
- * <p>
- * It is used when comparing a modified bug report to the one on the
- * corresponding server.
- */
-public class BugzillaStructureCreator implements IStructureCreator {
-
- /**
- * Create a new BugzillaStructureCreator.
- */
- public BugzillaStructureCreator() {
- super();
- }
-
- public String getName() {
- return "Bugzilla Structure Creator";
- }
-
- public IStructureComparator getStructure(Object input) {
- if (input instanceof BugReport) {
- BugReport bugReport = (BugReport) input;
- return BugzillaCompareNode.parseBugReport(bugReport);
- }
- else {
- return null;
- }
- }
-
- public IStructureComparator locate(Object path, Object input) {
- return null;
- }
-
- public String getContents(Object node, boolean ignoreWhitespace) {
- if (node instanceof BugzillaCompareNode) {
- String s = ((BugzillaCompareNode)node).getValue();
- if (ignoreWhitespace)
- s= s.trim();
- return s;
- }
- return null;
- }
-
- /**
- * Called whenever a copy operation has been performed on a tree node.
- * This implementation throws an <code>AssertionFailedException</code>
- * since we cannot update a bug report object.
- *
- * @param structure the node for which to save the new content
- * @param input the object from which the structure tree was created in <code>getStructure</code>
- */
- public void save(IStructureComparator node, Object input) {
- Assert.isTrue(false); // Cannot update bug report object
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/Favorite.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/Favorite.java
deleted file mode 100644
index b786f8dae..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/Favorite.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.favorites;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Map;
-
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchResultCollector;
-
-
-/**
- * Class representing an item in the favorites view
- */
-public class Favorite implements Serializable {
-
- /** Automatically generated serialVersionUID */
- private static final long serialVersionUID = 3258129158977632310L;
-
- /** Bug id */
- private int id;
- /** Bug description */
- private String description;
- /** Query that created the match */
- private String query;
- /** Bug's attributes (severity, priority, etc.) */
- private Map<String, Object> attributes;
- /** Date when the favorite was recommended. */
- private Date date;
-
- private String server;
-
- /**
- * Constructor.
- *
- * @param bug
- * The bug this favorite represents.
- */
- public Favorite(BugReport bug) {
- this(bug.getServer(), bug.getId(), bug.getSummary(), "", BugzillaSearchResultCollector.getAttributeMap(bug));
- }
-
- /**
- * Constructor.
- */
- public Favorite(String server, int id, String description, String query, Map<String, Object> attributes) {
- this.server = server;
- this.id = id;
- this.description = description;
- this.query = query;
- this.attributes = attributes;
- date = new Date();
- }
-
- /**
- * returns the server for the bug
- */
- public String getServer(){
- return server;
- }
-
- /**
- * Returns bug's id.
- */
- public int getId() {
- return id;
- }
-
- /**
- * Returns bug's description.
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * Returns bug attributes.
- */
- public Map<String, Object> getAttributes() {
- return attributes;
- }
-
- /**
- * Returns the query that created the match.
- */
- public String getQuery() {
- return query;
- }
-
- /**
- * Returns date when the favorite was added to the view.
- */
- public Date getDate() {
- return date;
- }
-
- @Override
- public String toString() {
- return id + " - " + description;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/FavoritesFile.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/FavoritesFile.java
deleted file mode 100644
index 869d43a8c..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/favorites/FavoritesFile.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.favorites;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-
-
-/**
- * Class to persist the data for the favorites list
- */
-public class FavoritesFile
-{
- /** The file that the favorites are written to */
- private File file;
-
- /** The directory to where the file is located */
- /** A list of favorites */
- private ArrayList<Favorite> list = new ArrayList<Favorite>();
-
-
- /** Sort by bug ID */
- public static final int ID_SORT = 0;
-
- /** Sort by bug priority */
- public static final int PRIORITY_SORT = 1;
-
- /** Sort by bug priority */
- public static final int SEVERITY_SORT = 2;
-
- /** Sort by bug state */
- public static final int STATE_SORT = 3;
-
- /** Default sort by bug ID */
- public static int lastSel = 0;
-
- /**
- * Constructor that reads the favorites data persisted in the plugin's state
- * directory, if it exists.
- *
- * @param file
- * The file where the favorites are persisted
- * @throws IOException
- * Error opening or closing the favorites file
- * @throws ClassNotFoundException
- * Error deserializing objects from the favorites file
- */
- public FavoritesFile(File file) throws ClassNotFoundException, IOException {
- this.file = file;
- if (file.exists()) {
- readFile();
- }
- }
-
- /**
- * Add a favorite to the favorites list
- * @param entry The bug to add
- */
- public void add(Favorite entry) {
- // add the entry to the list and write the file to disk
- list.add(entry);
- writeFile();
- }
-
- /**
- * Find a bug in the favorites list
- * @param id The bug id that we are looking for
- * @return The index of the bug in the array if it exists, else 0
- */
- public int find(int id) {
- for (int i = 0; i < list.size(); i++) {
- Favorite currFav = list.get(i);
- if (currFav.getId() == id)
- return i;
- }
- return 0;
- }
-
- /**
- * Get the list of favorites
- * @return The list of favorites
- */
- public ArrayList<Favorite> elements() {
- return list;
- }
-
- /**
- * Write the favorites to disk
- */
- private void writeFile() {
- try {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
-
- // Write the size of the list so that we can read it back in easier
- out.writeInt(list.size());
-
- // write each element in the array list
- for (int i = 0; i < list.size(); i++) {
- Object item = list.get(i);
- out.writeObject(item);
- }
- out.close();
- }
- catch (IOException e) {
- // put up a message and log the error if there is a problem writing to the file
- MessageDialog.openError(null,
- "I/O Error",
- "Bugzilla could not write to favorites file.");
- BugzillaPlugin.log(e);
- }
- }
-
- /**
- * Read the favorites in from the file on disk
- *
- * @throws IOException
- * Error opening or closing the favorites file
- * @throws ClassNotFoundException
- * Error deserializing objects from the favorites file
- */
- private void readFile() throws ClassNotFoundException, IOException {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
-
- // get the number of favorites in the file
- int size = in.readInt();
-
- // read in each of the favorites in the file
- for (int nX = 0; nX < size; nX++) {
- Favorite item = (Favorite) in.readObject();
- // add the favorite to the favorites list
- list.add(item);
- }
- in.close();
-
- sort(lastSel);
- }
-
- /**
- * Remove some bugs from the favorites list
- * @param indicesToRemove An array of the indicies of the bugs to be removed
- */
- public void remove(List<Favorite> sel) {
- list.removeAll(sel);
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-
- /**
- * Remove all of the items in the favortes menu
- */
- public void removeAll() {
- list.clear();
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-
- /**
- * Function to sort the favorites list
- * @param sortOrder The way to sort the bugs in the favorites list
- */
- public void sort(int sortOrder) {
- Favorite[] a = list.toArray(new Favorite[list.size()]);
-
- // decide which sorting method to use and sort the favorites
- switch(sortOrder) {
- case ID_SORT:
- Arrays.sort(a, new SortID());
- lastSel = ID_SORT;
- break;
- case PRIORITY_SORT:
- Arrays.sort(a, new SortPriority());
- lastSel = PRIORITY_SORT;
- break;
-
- case SEVERITY_SORT:
- Arrays.sort(a, new SortSeverity());
- lastSel = SEVERITY_SORT;
- break;
-
- case STATE_SORT:
- Arrays.sort(a, new SortState());
- lastSel = STATE_SORT;
- break;
- }
-
- // remove all of the elements from the list so that we can re-add
- // them in a sorted order
- list.clear();
-
- // add the sorted elements to the list and the table
- for (int j = 0; j < a.length; j++) {
- add(a[j]);
- }
- }
-
- /**
- * Inner class to sort by bug id
- */
- private class SortID implements Comparator<Favorite> {
- /**
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Favorite f1, Favorite f2) {
- Integer id1 = (Integer) f1.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_ID);
- Integer id2 = (Integer) f2.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_ID);
-
- if(id1 != null && id2 != null)
- return id1.compareTo(id2);
- else if(id1 == null && id2 != null)
- return -1;
- else if(id1 != null && id2 == null)
- return 1;
- else
- return 0;
- }
- }
-
- /**
- * Inner class to sort by priority
- */
- private class SortPriority implements Comparator<Favorite>
- {
- /*
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Favorite f1, Favorite f2) {
- Integer pri1 = (Integer) f1.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY);
- Integer pri2 = (Integer) f2.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY);
-
- if(pri1 != null && pri2 != null)
- return pri1.compareTo(pri2);
- else if(pri1 == null && pri2 != null)
- return -1;
- else if(pri1 != null && pri2 == null)
- return 1;
- else
- return 0;
- }
- }
-
- /**
- * Inner class to sort by severity
- */
- private class SortSeverity implements Comparator<Favorite> {
- /*
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Favorite f1, Favorite f2) {
- Integer sev1 = (Integer) f1.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY);
- Integer sev2 = (Integer) f2.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY);
-
- if(sev1 != null && sev2 != null)
- return sev1.compareTo(sev2);
- else if(sev1 == null && sev2 != null)
- return -1;
- else if(sev1 != null && sev2 == null)
- return 1;
- else
- return 0;
- }
- }
-
- /**
- * Inner class to sort by state
- */
- private class SortState implements Comparator<Favorite>
- {
- /*
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Favorite f1, Favorite f2) {
- Integer sta1 = (Integer) f1.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_STATE);
- Integer sta2 = (Integer) f2.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_STATE);
-
- if(sta1 != null && sta2 != null)
- {
- int rc = sta1.compareTo(sta2);
- if(rc == 0)
- {
- Integer res1 = (Integer) f1.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_RESULT);
- Integer res2 = (Integer) f2.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_RESULT);
-
- return res1.compareTo(res2);
- }
- else
- return rc;
- }
- else if(sta1 == null && sta2 != null)
- return -1;
- else if(sta1 != null && sta2 == null)
- return 1;
- else
- return 0;
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/BugParser.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/BugParser.java
deleted file mode 100644
index 41e742274..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/BugParser.java
+++ /dev/null
@@ -1,840 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.internal;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.Operation;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer.Token;
-
-
-/**
- * @author Shawn Minto
- *
- * This class parses bugs so that they can be displayed using the bug editor
- */
-public class BugParser
-{
- /** Parser for dates in the report */
- private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-
- private static final String keywordsUrl = "describekeywords.cgi";
-
- /**
- * Parse the case where we have found an attribute name
- * @param in The input stream for the bug
- * @return The name of the attribute that we are parsing
- * @throws IOException
- */
- private static String parseAttributeName(HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
- StringBuffer sb = new StringBuffer();
-
- parseTableCell(tokenizer, sb);
- HtmlStreamTokenizer.unescape(sb);
- // remove the colon if there is one
- if (sb.charAt(sb.length() - 1) == ':') {
- sb.deleteCharAt(sb.length() - 1);
- }
- return sb.toString();
- }
-
- /**
- * Parse the case where we have found attribute values
- * @param in The input stream of the bug
- * @param bug The bug report for the current bug
- * @param attribute The name of the attribute
- * @throws IOException
- */
- private static void parseAttributeValue(
- BugReport bug,
- String attributeName, HtmlStreamTokenizer tokenizer,
- String userName, String password)
- throws IOException, ParseException {
-
- Token token = tokenizer.nextToken();
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
-
- // make sure that we are on a tag that we care about, not a label
- // fix added so that we can parse the mozilla bug pages
- if(tag.getTagType() == HtmlTag.Type.LABEL)
- {
- token = tokenizer.nextToken();
- if (token.getType() == Token.TAG)
- tag = (HtmlTag) token.getValue();
- else
- {
- StringBuffer sb = new StringBuffer();
- if (token.getType() == Token.TEXT) {
- sb.append((StringBuffer) token.getValue());
- parseAttributeValueCell(bug, attributeName, tokenizer, sb);
- }
- }
- }
-
- if (tag.getTagType() == HtmlTag.Type.SELECT && !tag.isEndTag()) {
- String parameterName = tag.getAttribute("name");
- parseSelect(bug, attributeName, parameterName, tokenizer);
- }
- else if (tag.getTagType() == HtmlTag.Type.INPUT && !tag.isEndTag()) {
- parseInput(bug, attributeName, tag, userName, password);
- }
- else if (!tag.isEndTag() || attributeName.equalsIgnoreCase("resolution")) {
- if(tag.isEndTag() && attributeName.equalsIgnoreCase("resolution"))
- {
- Attribute a = new Attribute(attributeName);
- a.setValue("");
- bug.addAttribute(a);
- }
- parseAttributeValueCell(bug, attributeName, tokenizer);
- }
- }
- else {
- StringBuffer sb = new StringBuffer();
- if (token.getType() == Token.TEXT) {
- sb.append((StringBuffer) token.getValue());
- parseAttributeValueCell(bug, attributeName, tokenizer, sb);
- }
- }
- }
-
- /**
- * Parse the case where the attribute value is just text in a table cell
- * @param in The input stream of the bug
- * @param bug The bug report for the current bug
- * @param attributeName The name of the attribute that we are parsing
- * @throws IOException
- */
- private static void parseAttributeValueCell(
- BugReport bug,
- String attributeName,
- HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
- StringBuffer sb = new StringBuffer();
-
- parseAttributeValueCell(bug, attributeName, tokenizer, sb);
- }
-
- private static void parseAttributeValueCell(
- BugReport bug,
- String attributeName,
- HtmlStreamTokenizer tokenizer,
- StringBuffer sb)
- throws IOException, ParseException {
-
- parseTableCell(tokenizer, sb);
- HtmlStreamTokenizer.unescape(sb);
-
- // create a new attribute and set its value to the value that we retrieved
- Attribute a = new Attribute(attributeName);
- a.setValue(sb.toString());
-
- // if we found an attachment attribute, forget about it, else add the
- // attribute to the bug report
- if (attributeName.toLowerCase().startsWith("attachments")) {
- // do nothing
- }
- else {
- if(attributeName.equals("Bug#"))
- a.setValue(a.getValue().replaceFirst("alias:", ""));
- bug.addAttribute(a);
- }
- }
-
- /**
- * Reads text into a StringBuffer until it encounters a close table cell tag (&lt;/TD&gt;) or start of another cell.
- * The text is appended to the existing value of the buffer. <b>NOTE:</b> Does not handle nested cells!
- * @param tokenizer
- * @param sb
- * @throws IOException
- * @throws ParseException
- */
- private static void parseTableCell(HtmlStreamTokenizer tokenizer, StringBuffer sb)
- throws IOException, ParseException {
- boolean noWhitespace = false;
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD) {
- if (!tag.isEndTag()) {
- tokenizer.pushback(token);
- }
- break;
- }
- noWhitespace = token.getWhitespace().length() == 0;
- }
- else if (token.getType() == Token.TEXT) {
- // if there was no whitespace between the tag and the
- // preceding text, don't insert whitespace before this text
- // unless it is there in the source
- if (!noWhitespace && token.getWhitespace().length() > 0 && sb.length() > 0) {
- sb.append(' ');
- }
- sb.append((StringBuffer)token.getValue());
- }
- }
- }
-
- /**
- * Parse the case where the attribute value is an option
- * @param in The input stream for the bug
- * @param bug The bug report for the current bug
- * @param attribute The name of the attribute that we are parsing
- * @param parameterName the SELECT tag's name
- * @throws IOException
- */
- private static void parseSelect(
- BugReport bug,
- String attributeName,
- String parameterName,
- HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
-
- boolean first = false;
- Attribute a = new Attribute(attributeName);
- a.setParameterName(parameterName);
-
- Token token = tokenizer.nextToken();
- while ( token.getType() != Token.EOF) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.SELECT && tag.isEndTag()) break;
- if (tag.getTagType() == HtmlTag.Type.OPTION && !tag.isEndTag()) {
- String optionName = tag.getAttribute("value");
- boolean selected = tag.hasAttribute("selected");
- StringBuffer optionText = new StringBuffer();
- for (token = tokenizer.nextToken(); token.getType() == Token.TEXT; token = tokenizer.nextToken()) {
- if (optionText.length() > 0) {
- optionText.append(' ');
- }
- optionText.append((StringBuffer) token.getValue());
- }
- a.addOptionValue(optionText.toString(), optionName);
- if (selected || first) {
- a.setValue(optionText.toString());
- first = false;
- }
- }
- else {
- token = tokenizer.nextToken();
- }
- }
- else {
- token = tokenizer.nextToken();
- }
- }
-
- // if we parsed the cc field add the e-mails to the bug report else add the attribute to the bug report
- if (attributeName.toLowerCase().startsWith("cc")) {
- for (Iterator<String> it = a.getOptionValues().keySet().iterator(); it.hasNext(); ) {
- String email = it.next();
- bug.addCC(HtmlStreamTokenizer.unescape(email));
- }
- }
- else {
- bug.addAttribute(a);
- }
- }
-
- /**
- * Parse the case where the attribute value is an input
- * @param bug The bug report for the current bug
- * @param attributeName The name of the attribute
- * @param tag The INPUT tag
- * @throws IOException
- */
- private static void parseInput(
- BugReport bug,
- String attributeName,
- HtmlTag tag, String userName, String password)
- throws IOException {
-
- Attribute a = new Attribute(attributeName);
- a.setParameterName(tag.getAttribute("name"));
- String name = tag.getAttribute("name");
- String value = tag.getAttribute("value");
- if (value == null) value = "";
-
- // if we found the summary, add it to the bug report
- if (name.equalsIgnoreCase("short_desc")) {
- bug.setSummary(value);
- }
- else if (name.equalsIgnoreCase("bug_file_loc")) {
- a.setValue(value);
- bug.addAttribute(a);
- }
- else if (name.equalsIgnoreCase("newcc")) {
- a.setValue(value);
- bug.addAttribute(a);
- }
- else {
- // otherwise just add the attribute
- a.setValue(value);
- bug.addAttribute(a);
-
- if (attributeName.equalsIgnoreCase("keywords") && BugzillaRepository.getURL() != null) {
-
- BufferedReader input = null;
- try {
-
- String urlText = "";
-
- // if we have a user name, may as well log in just in case it is required
- if(userName != null && !userName.equals("") && password != null && !password.equals(""))
- {
- /*
- * The UnsupportedEncodingException exception for
- * URLEncoder.encode() should not be thrown, since every
- * implementation of the Java platform is required to support
- * the standard charset "UTF-8"
- */
- urlText += "?GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(userName, "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(password, "UTF-8");
- }
-
- // connect to the bugzilla server to get the keyword list
- input = new BufferedReader(new InputStreamReader(new URL(BugzillaRepository.getURL() + "/" + keywordsUrl+urlText).openStream()));
-
- // parse the valid keywords and add them to the bug
- List<String> keywords = new KeywordParser(input).getKeywords();
- bug.setKeywords(keywords);
-
- } catch(Exception e) {
- // throw an exception if there is a problem reading the bug from the server
- throw new IOException("Exception while fetching the list of keywords from the server: " + e.getMessage());
- }
- finally
- {
- try{
- if(input != null)
- input.close();
- }catch(IOException e)
- {
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID,IStatus.ERROR,"Problem closing the stream", e));
- }
- }
- }
- }
- }
-
- /**
- * Parse the case where we are dealing with the description
- * @param bug The bug report for the bug
- * @throws IOException
- */
- private static void parseDescription(BugReport bug, HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
-
- StringBuffer sb = new StringBuffer();
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.PRE && tag.isEndTag()) break;
- }
- else if (token.getType() == Token.TEXT) {
- if (sb.length() > 0) {
- sb.append(token.getWhitespace());
- }
- sb.append((StringBuffer) token.getValue());
- }
- }
-
- // set the bug to have the description we retrieved
- String text = HtmlStreamTokenizer.unescape(sb).toString();
- bug.setDescription(text);
- }
-
- /**
- * Parse the case where we have found the start of a comment
- * @param in The input stream of the bug
- * @param bug The bug report for the current bug
- * @return The comment that we have created with the information
- * @throws IOException
- * @throws ParseException
- */
- private static Comment parseCommentHead(BugReport bug, HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
- int number = 0;
- Date date = null;
- String author = null;
- String authorName = null;
-
- // get the comment's number
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.A) {
- String href = tag.getAttribute("href");
- if (href != null) {
- int index = href.toLowerCase().indexOf("#c");
- if (index == -1) continue;
- token = tokenizer.nextToken();
- number = Integer.parseInt(((StringBuffer)token.getValue()).toString().substring(1));
- break;
- }
- }
- }
- }
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.A) {
- String href = tag.getAttribute("href");
- if (href != null) {
- int index = href.toLowerCase().indexOf("mailto");
- if (index == -1) continue;
- author = href.substring(index + 7);
- break;
- }
- }
- }
- }
-
- // get the author's real name
- StringBuffer sb = new StringBuffer();
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.A && tag.isEndTag()) break;
- }
- else if (token.getType() == Token.TEXT) {
- if (sb.length() > 0) {
- sb.append(' ');
- }
- sb.append((StringBuffer)token.getValue());
- }
- }
- authorName = sb.toString();
-
- // get the comment's date
- sb.setLength(0);
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.I && tag.isEndTag()) break;
- }
- else if (token.getType() == Token.TEXT) {
- if (sb.length() > 0) {
- sb.append(' ');
- }
- sb.append((StringBuffer)token.getValue());
- }
- }
- date = df.parse(sb.substring(0, 16));
-
- return new Comment(bug, number, date, author, authorName);
- }
-
- /**
- * Parse the case where we have comment text
- * @param in The input stream for the bug
- * @param bug The bug report for the current bug
- * @param comment The comment to add the text to
- * @throws IOException
- */
- private static void parseCommentText(
- BugReport bug,
- Comment comment, HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
-
- StringBuffer sb = new StringBuffer();
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (sb.length() > 0) { // added to ensure whitespace is not lost if adding a tag within a tag
- sb.append(token.getWhitespace());
- }
- if (tag.getTagType() == HtmlTag.Type.PRE && tag.isEndTag()) break;
- }
- else if (token.getType() == Token.TEXT) {
- if (sb.length() > 0) {
- sb.append(token.getWhitespace());
- }
- sb.append((StringBuffer) token.getValue());
- }
- }
-
- HtmlStreamTokenizer.unescape(sb);
- comment.setText(sb.toString());
- bug.addComment(comment);
- }
-
- /**
- * Parse the full html version of the bug
- * @param in - the input stream for the bug
- * @param id - the id of the bug that is to be parsed
- * @return A bug report for the bug that was parsed
- * @throws IOException
- * @throws ParseException
- */
- public static BugReport parseBug(Reader in, int id, String serverName, boolean is218, String userName, String password) throws IOException, ParseException, LoginException
- {
- // create a new bug report and set the parser state to the start state
- BugReport bug = new BugReport(id, serverName);
- ParserState state = ParserState.START;
- Comment comment = null;
- String attribute = null;
-
- HtmlStreamTokenizer tokenizer = new HtmlStreamTokenizer(in, null);
-
- boolean isTitle = false;
- boolean possibleBadLogin = false;
- boolean checkBody = false;
- String title = "";
- StringBuffer body = new StringBuffer();
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
-
- // make sure that bugzilla doesn't want us to login
- if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.TITLE && !((HtmlTag)(token.getValue())).isEndTag())
- {
- isTitle = true;
- continue;
- }
-
- if(isTitle)
- {
- // get all of the data in the title tag
- if(token.getType() != Token.TAG)
- {
- title += ((StringBuffer)token.getValue()).toString().toLowerCase() + " ";
- continue;
- }
- else if(token.getType() == Token.TAG && ((HtmlTag)token.getValue()).getTagType() == HtmlTag.Type.TITLE && ((HtmlTag)token.getValue()).isEndTag())
- {
- // check and see if the title seems as though we have wrong login info
- if(title.indexOf("login") != -1 || (title.indexOf("invalid") != -1 && title.indexOf("password") != -1) || title.indexOf("check e-mail") != -1)
- possibleBadLogin = true; // we possibly have a bad login
-
- // if the title starts with error, we may have a login problem, or
- // there is a problem with the bug (doesn't exist), so we must do
- // some more checks
- if(title.startsWith("error"))
- checkBody = true;
-
- isTitle = false;
- title = "";
- }
- continue;
- }
-
- // if we have to add all of the text so that we can check it later
- // for problems with the username and password
- if(checkBody && token.getType() == Token.TEXT)
- {
- body.append((StringBuffer)token.getValue());
- body.append(" ");
- }
-
- // we have found the start of an attribute name
- if ((state == ParserState.ATT_NAME || state == ParserState.START) && token.getType() == Token.TAG ) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD && "right".equalsIgnoreCase(tag.getAttribute("align"))) {
- // parse the attribute's name
- attribute = parseAttributeName(tokenizer);
-
- if (attribute.toLowerCase().startsWith("opened")) {
- // find the colon so we can get the date
- int index = attribute.toLowerCase().indexOf(":");
- String date;
- if (index != -1)
- date = attribute.substring(index + 1).trim();
- else
- date = attribute.substring(6).trim();
-
-
- // set the bugs opened date to be the date we parsed
- bug.setCreated(df.parse(date));
- state = ParserState.ATT_NAME;
- continue;
- }
-
- // in 2.18, the last modified looks like the opened so we need to parse it differently
- if (attribute.toLowerCase().startsWith("last modified")&& is218) {
- // find the colon so we can get the date
- int index = attribute.toLowerCase().indexOf(":");
- String date;
- if (index != -1)
- date = attribute.substring(index + 1).trim();
- else
- date = attribute.substring(6).trim();
-
- // create a new attribute and set the date
- Attribute t = new Attribute("Last Modified");
- t.setValue(date);
-
- // add the attribute to the bug report
- bug.addAttribute(t);
- state = ParserState.ATT_NAME;
- continue;
- }
-
- state = ParserState.ATT_VALUE;
- continue;
- }
- else if (tag.getTagType() == HtmlTag.Type.INPUT && "radio".equalsIgnoreCase(tag.getAttribute("type")) && "knob".equalsIgnoreCase(tag.getAttribute("name")))
- {
- // we found a radio button
- parseOperations(bug, tokenizer, tag, is218);
- }
- }
-
- // we have found the start of attribute values
- if (state == ParserState.ATT_VALUE && token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD) {
- // parse the attribute values
- parseAttributeValue(bug, attribute, tokenizer, userName, password);
-
- state = ParserState.ATT_NAME;
- attribute = null;
- continue;
- }
- }
-
- // we have found the start of a comment
- if (state == ParserState.DESC_START && token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.I) {
- // parse the comment's start
- comment = parseCommentHead(bug, tokenizer);
-
- state = ParserState.DESC_VALUE;
- continue;
- }
- }
-
- // we have found the start of the comment text
- if (state == ParserState.DESC_VALUE && token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.PRE) {
- // parse the text of the comment
- parseCommentText(bug, comment, tokenizer);
-
- comment = null;
- state = ParserState.DESC_START;
- continue;
- }
- }
-
- // we have found the description of the bug
- if ((state == ParserState.ATT_NAME || state == ParserState.START) &&
- token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.PRE) {
- // parse the description for the bug
- parseDescription(bug, tokenizer);
-
- state = ParserState.DESC_START;
- continue;
- }
- }
-
- //parse hidden fields
- if((state == ParserState.ATT_NAME || state == ParserState.START) && token.getType() == Token.TAG)
- {
- HtmlTag tag = (HtmlTag)token.getValue();
- if(tag.getTagType() == HtmlTag.Type.INPUT && tag.getAttribute("type") != null &&"hidden".equalsIgnoreCase(tag.getAttribute("type").trim()))
- {
-
- Attribute a = new Attribute(tag.getAttribute("name"));
- a.setParameterName(tag.getAttribute("name"));
- a.setValue(tag.getAttribute("value"));
- a.setHidden(true);
- bug.addAttribute(a);
- continue;
- }
- }
- }
-
-
-
- // if we are to check the body, make sure that there wasn't a bad login
- if(checkBody)
- {
- String b = body.toString();
- if(b.indexOf("login") != -1 || ((b.indexOf("invalid") != -1 || b.indexOf("not valid") != -1) && b.indexOf("password") != -1) || b.indexOf("check e-mail") != -1)
- possibleBadLogin = true; // we possibly have a bad login
- }
-
- // fixed bug 59
- // if there is no summary or created date, we expect that
- // the bug doesn't exist, so set it to null
-
- // if the bug seems like it doesn't exist, and we suspect a login problem, assume that there was a login problem
- if(bug.getCreated() == null && bug.getAttributes().isEmpty()) {
- if (possibleBadLogin) {
- throw new LoginException("Bugzilla login information incorrect");
- }
- else {
- return null;
- }
- }
- // we are done...return the bug
- return bug;
- }
-
- /**
- * Parse the operations that are allowed on the bug (Assign, Re-open, fix)
- * @param bug The bug to add the operations to
- * @param tokenizer The stream tokenizer for the bug
- * @param tag The last tag that we were on
- */
- private static void parseOperations(BugReport bug, HtmlStreamTokenizer tokenizer, HtmlTag tag, boolean is218) throws ParseException, IOException {
-
- String knobName = tag.getAttribute("value");
- boolean isChecked = false;
- if(tag.getAttribute("checked") != null && tag.getAttribute("checked").equals("checked"))
- isChecked = true;
- StringBuffer sb = new StringBuffer();
-
- Token lastTag = null;
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if(token.getType() == Token.TAG)
- {
- tag = (HtmlTag)token.getValue();
-
- if(!(tag.getTagType() == HtmlTag.Type.A || tag.getTagType() == HtmlTag.Type.B || tag.getTagType() == HtmlTag.Type.STRONG || tag.getTagType() == HtmlTag.Type.LABEL))
- {
- lastTag = token;
- break;
- }
- else{
-
- if(is218 && tag.getTagType() == HtmlTag.Type.LABEL){
- continue;
- }
- else if(tag.getTagType() == HtmlTag.Type.A || tag.getTagType() == HtmlTag.Type.B || tag.getTagType() == HtmlTag.Type.STRONG){
- sb.append(tag.toString().trim() + " ");
- } else {
- break;
- }
- }
- }
- else if(token.getType() == Token.TEXT && !token.toString().trim().equals("\n"))
- sb.append(token.toString().trim() + " ");
- }
-
- String displayName = HtmlStreamTokenizer.unescape(sb).toString();
- Operation o = new Operation(knobName, displayName);
- o.setChecked(isChecked);
-
- if(lastTag != null)
- {
- tag = (HtmlTag)lastTag.getValue();
- if(tag.getTagType() != HtmlTag.Type.SELECT)
- {
- tokenizer.pushback(lastTag);
- if(tag.getTagType() == HtmlTag.Type.INPUT && !("radio".equalsIgnoreCase(tag.getAttribute("type")) && "knob".equalsIgnoreCase(tag.getAttribute("name"))))
- {
- o.setInputName(((HtmlTag)lastTag.getValue()).getAttribute("name"));
- o.setInputValue(((HtmlTag)lastTag.getValue()).getAttribute("value"));
- }
- }
- else
- {
- Token token = tokenizer.nextToken();
- // parse the options
-
- tag = (HtmlTag)token.getValue();
- o.setUpOptions(((HtmlTag)lastTag.getValue()).getAttribute("name"));
-
-
- while ( token.getType() != Token.EOF) {
- if (token.getType() == Token.TAG) {
- tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.SELECT && tag.isEndTag()) break;
- if (tag.getTagType() == HtmlTag.Type.OPTION && !tag.isEndTag()) {
- String optionName = tag.getAttribute("value");
- StringBuffer optionText = new StringBuffer();
- for (token = tokenizer.nextToken(); token.getType() == Token.TEXT; token = tokenizer.nextToken()) {
- if (optionText.length() > 0) {
- optionText.append(' ');
- }
- optionText.append((StringBuffer) token.getValue());
- }
- o.addOption(optionText.toString(), optionName);
- }
- else {
- token = tokenizer.nextToken();
- }
- }
- else {
- token = tokenizer.nextToken();
- }
- }
- }
- }
-
- bug.addOperation(o);
- }
-
- /**
- * Enum class for describing current state of Bugzilla report parser.
- */
- private static class ParserState
- {
- /** An instance of the start state */
- protected static final ParserState START = new ParserState("start");
-
- /** An instance of the state when the parser found an attribute name */
- protected static final ParserState ATT_NAME = new ParserState("att_name");
-
- /** An instance of the state when the parser found an attribute value */
- protected static final ParserState ATT_VALUE = new ParserState("att_value");
-
- /** An instance of the state when the parser found a description */
- protected static final ParserState DESC_START = new ParserState("desc_start");
-
- /** An instance of the state when the parser found a description value */
- protected static final ParserState DESC_VALUE = new ParserState("desc_value");
-
- /** State's human-readable name */
- private String name;
-
- /**
- * Constructor
- * @param description - The states human readable name
- */
- private ParserState(String description)
- {
- this.name = description;
- }
-
- @Override
- public String toString()
- {
- return name;
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlStreamTokenizer.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlStreamTokenizer.java
deleted file mode 100644
index e0a1e32b0..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlStreamTokenizer.java
+++ /dev/null
@@ -1,633 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.internal;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
-import java.text.ParseException;
-import java.util.HashMap;
-
-public class HtmlStreamTokenizer {
-
- /** parser state */
- private State state;
- /** reader from which to parse the text */
- private BufferedReader in;
- /** base URL for resolving relative URLs */
- private URL base;
- /** buffer holding the text of the current token */
- private StringBuffer textBuffer;
- /** buffer holding whitespace preceding the current token */
- private StringBuffer whitespaceBuffer;
- /** holds a token that was read and then put back in the queue to be returned again on <code>nextToken</code> call */
- private Token pushbackToken;
- /** holds a character that was read and then determined not to be part of the current token */
- private int pushbackChar;
- /** current quote delimiter (single or double) */
- private int quoteChar;
-
- /**
- * Constructor.
- * @param in reader for the HTML document to tokenize
- * @param base URL for resolving relative URLs
- */
- public HtmlStreamTokenizer(Reader in, URL base) {
- textBuffer = new StringBuffer();
- whitespaceBuffer = new StringBuffer();
- pushbackChar = 0;
- state = State.TEXT;
- this.in = new BufferedReader(in);
- this.base = base;
- }
-
- /**
- * Returns the next token from the stream.
- */
- public Token nextToken() throws IOException, ParseException {
- if (pushbackToken != null) {
- Token token = pushbackToken;
- pushbackToken = null;
- return token;
- }
-
- int closingComment = 0;
-
- textBuffer.setLength(0);
- whitespaceBuffer.setLength(0);
- do {
- int ch;
- if (pushbackChar != 0) {
- ch = pushbackChar;
- pushbackChar = 0;
- }
- else {
- ch = in.read();
- }
- if (ch < 0) {
- State oldState = state;
- state = State.EOF;
- if (textBuffer.length() > 0 && oldState == State.TEXT) {
- return new Token(textBuffer, whitespaceBuffer, false);
- }
- else {
- return new Token();
- }
- }
- if (state == State.TEXT) {
- if (ch == '<') {
- state = State.TAG;
- if (textBuffer.length() > 0)
- return new Token(textBuffer, whitespaceBuffer, false);
- }
- else if (Character.isWhitespace((char)ch)) {
- pushbackChar = ch;
- state = State.WS;
- if (textBuffer.length() > 0)
- return new Token(textBuffer, whitespaceBuffer, false);
- }
- else {
- textBuffer.append((char) ch);
- }
- }
- else if (state == State.WS) {
- if (!Character.isWhitespace((char)ch)) {
- pushbackChar = ch;
- state = State.TEXT;
- }
- else {
- whitespaceBuffer.append((char) ch);
- }
- }
- else if (state == State.TAG) {
- if (ch == '>') {
- state = State.TEXT;
- HtmlTag tag = new HtmlTag(base);
- parseTag(textBuffer.toString(), tag);
- return new Token(tag, whitespaceBuffer);
- }
- if (ch == '<' && textBuffer.length() == 0) {
- textBuffer.append("<<");
- state = State.TEXT;
- }
- else if (ch == '-' && textBuffer.length() == 2 && textBuffer.charAt(1) == '-'
- && textBuffer.charAt(0) == '!') {
- textBuffer.setLength(0);
- state = State.COMMENT;
- }
- else if (ch == '\'' || ch == '"') {
- quoteChar = ch;
- textBuffer.append((char) ch);
- state = State.TAG_QUOTE;
- }
- else {
- textBuffer.append((char) ch);
- }
- }
- else if (state == State.TAG_QUOTE) {
- if (ch == '>') {
- pushbackChar = ch;
- state = State.TAG;
- }
- else {
- textBuffer.append((char) ch);
- if (ch == quoteChar)
- state = State.TAG;
- }
- }
- else if (state == State.COMMENT) {
- if (ch == '>' && closingComment >= 2) {
- textBuffer.setLength(textBuffer.length() - 2);
- closingComment = 0;
- state = State.TEXT;
- return new Token(textBuffer, whitespaceBuffer, true);
- }
- if (ch == '-') {
- closingComment++;
- }
- else {
- closingComment = 0;
- }
- textBuffer.append((char) ch);
- }
- } while (true);
- }
-
- /**
- * Pushes the token back into the queue, to be returned by the subsequent
- * call to <code>nextToken</code>
- */
- public void pushback(Token token) {
- pushbackToken = token;
- }
-
- /**
- * Parses an HTML tag out of a string of characters.
- */
- private static void parseTag(String s, HtmlTag tag) throws ParseException {
-
- int i = 0;
- for (; i < s.length() && Character.isWhitespace(s.charAt(i)); i++){
- // just move forward
- }
- if (i == s.length())
- throw new ParseException("parse empty tag", 0);
-
- int start = i;
- for (; i < s.length() && !Character.isWhitespace(s.charAt(i)); i++){
- // just move forward
- }
- tag.setTagName(s.substring(start, i));
-
- for (; i < s.length() && Character.isWhitespace(s.charAt(i)); i++){
- // just move forward
- }
- if (i == s.length()) {
- return;
- }
- else {
- parseAttributes(tag, s, i);
- return;
- }
- }
-
- /**
- * parses HTML tag attributes from a buffer and sets them in an HtmlTag
- */
- private static void parseAttributes(HtmlTag tag, String s, int i) throws ParseException {
- while (i < s.length()) {
- // skip whitespace
- while (i < s.length() && Character.isWhitespace(s.charAt(i)))
- i++;
-
- if (i == s.length())
- return;
-
- // read the attribute name -- the rule might be looser than the RFC specifies:
- // everything up to a space or an equal sign is included
- int start = i;
- for (; i < s.length() && !Character.isWhitespace(s.charAt(i)) && s.charAt(i) != '='; i++){
- // just move forward
- }
- String attributeName = s.substring(start, i).toLowerCase();
-
- for (; i < s.length() && Character.isWhitespace(s.charAt(i)); i++){
- // just move forward
- }
- if (i == s.length() || s.charAt(i) != '=') {
- // no attribute value
- tag.setAttribute(attributeName, "");
- continue;
- }
-
- // skip whitespace to the start of attribute value
- for (i = i+1; i < s.length() && Character.isWhitespace(s.charAt(i)); i++){
- // just move forward
- }
- if (i == s.length()) return;
-
- // read the attribute value -- the rule for unquoted attribute value is
- // looser than the one in Conolly's W3C 1996 lexical analyzer draft: everything
- // is included up to the next space
- String attributeValue;
- if (s.charAt(i) == '"') {
- start = ++i;
- for (; i < s.length() && s.charAt(i) != '"'; i++){
- // just move forward
- }
- if (i == s.length()) return; // shouldn't happen if input returned by nextToken
- attributeValue = unescape(s.substring(start, i));
- i++;
- }
- else if (s.charAt(i) == '\'') {
- start = ++i;
- for (; i < s.length() && s.charAt(i) != '\''; i++){
- // just move forward
- }
- if (i == s.length()) return; // shouldn't happen if input returned by nextToken
- attributeValue = unescape(s.substring(start, i));
- i++;
- }
- else {
- start = i;
- for (; i < s.length() && !Character.isWhitespace(s.charAt(i)); i++){
- // just move forward
- }
- attributeValue = s.substring(start, i);
- }
- tag.setAttribute(attributeName, attributeValue);
- }
- }
-
- /**
- * Returns a string with HTML escapes changed into their corresponding characters.
- */
- public static String unescape(String s) {
- if (s.indexOf('&') == -1) {
- return s;
- }
- else {
- StringBuffer sb = new StringBuffer(s);
- unescape(sb);
- return sb.toString();
- }
- }
-
- /**
- * Replaces (in-place) HTML escapes in a StringBuffer with their corresponding characters.
- */
- public static StringBuffer unescape(StringBuffer sb) {
- int i = 0; // index into the unprocessed section of the buffer
- int j = 0; // index into the processed section of the buffer
-
- while (i < sb.length()) {
- char ch = sb.charAt(i);
- if (ch == '&') {
- int start = i;
- String escape = null;
- for (i = i+1; i < sb.length(); i++) {
- ch = sb.charAt(i);
- if (!Character.isLetterOrDigit(ch) && !(ch == '#' && i == (start+1))) {
- escape = sb.substring(start+1, i);
- break;
- }
- }
- if (i == sb.length() && i != (start+1)) {
- escape = sb.substring(start + 1);
- }
- if (escape != null) {
- Character character = parseReference(escape);
- if (character != null) {
- ch = character.charValue();
- }
- else {
- // not an HTML escape; rewind
- i = start;
- ch = '&';
- }
- }
- }
- sb.setCharAt(j, ch);
- i++;
- j++;
- }
-
- sb.setLength(j);
- return sb;
- }
-
- /**
- * Parses HTML character and entity references and returns the
- * corresponding character.
- */
- private static Character parseReference(String s) {
- if (s.length() == 0)
- return null;
-
- if (s.charAt(0) == '#') {
- // character reference
- if (s.length() == 1)
- return null;
-
- try {
- int value;
- if (s.charAt(1) == 'x') {
- // Hex reference
- value = Integer.parseInt(s.substring(2), 16);
- }
- else {
- // Decimal reference
- value = Integer.parseInt(s.substring(1));
- }
- return new Character((char)value);
- } catch (NumberFormatException e) {
- return null;
- }
- }
- else {
- return entities.get(s);
- }
- }
-
- /**
- * Class for current token.
- */
- public static class Token {
- public static final Type EOF = new Type();
- public static final Type TEXT = new Type();
- public static final Type TAG = new Type();
- public static final Type COMMENT = new Type();
-
- /** token's type */
- private Type type;
- /** token's value */
- private Object value;
- /** whitespace preceding the token */
- private StringBuffer whitespace;
-
- /**
- * Constructor for the EOF token.
- */
- protected Token() {
- type = EOF;
- value = null;
- whitespace = null;
- }
-
- /**
- * Constructor for the HTML tag tokens.
- */
- protected Token(HtmlTag tag, StringBuffer whitespace) {
- type = TAG;
- value = tag;
- this.whitespace = whitespace;
- }
-
- /**
- * Constructor for regular text and comments.
- */
- protected Token(StringBuffer text, StringBuffer whitespace, boolean comment) {
- if (comment) {
- type = COMMENT;
- }
- else {
- type = TEXT;
- }
- this.value = text;
- this.whitespace = whitespace;
- }
-
- /**
- * Returns the token's type.
- */
- public Type getType() {
- return type;
- }
-
- /**
- * Returns the whitespace preceding the token.
- */
- public StringBuffer getWhitespace() {
- return whitespace;
- }
-
- /**
- * Returns the token's value. This is an HtmlTag for tokens of type <code>TAG</code>
- * and a StringBuffer for tokens of type <code>TEXT</code> and <code>COMMENT</code>.
- * For tokens of type <code>EOF</code>, the value is <code>null</code>.
- */
- public Object getValue() {
- return value;
- }
-
- /**
- * Returns the string representation of the token, including the preceding whitespace.
- */
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer();
- if (whitespace != null) {
- sb.append(whitespace);
- }
- if (value != null) {
- if (type == TAG) {
- sb.append('<');
- }
- else if (type == COMMENT) {
- sb.append("<!");
- }
- sb.append(value);
- if (type == TAG) {
- sb.append('>');
- }
- else if (type == COMMENT) {
- sb.append("-->");
- }
- }
- return sb.toString();
- }
-
- /**
- * Private enum class for token type.
- */
- private static class Type {
- private Type() {
- // don't need to do anything
- }
- }
- }
-
- /**
- * Enum class for parser state.
- */
- private static class State {
- static final State EOF = new State();
- static final State COMMENT = new State();
- static final State TEXT = new State();
- static final State TAG = new State();
- static final State WS = new State();
- static final State TAG_QUOTE = new State();
-
- private State() {
- // don't need to do anything
- }
- }
-
- /** names and values of HTML entity references */
- private static HashMap<String, Character> entities;
-
- /*
- * Based on ISO 8879.
- *
- * Portions © International Organization for Standardization 1986 Permission
- * to copy in any form is granted for use with conforming SGML systems and
- * applications as defined in ISO 8879, provided this notice is included in
- * all copies.
- *
- */
- static {
- entities = new HashMap<String, Character>();
- entities.put(new String("nbsp"), new Character('\240')); // no-break space = non-breaking space
- entities.put(new String("iexcl"), new Character('\241')); // inverted exclamation mark
- entities.put(new String("cent"), new Character('\242')); // cent sign
- entities.put(new String("pound"), new Character('\243')); // pound sign
- entities.put(new String("curren"), new Character('\244')); // currency sign
- entities.put(new String("yen"), new Character('\245')); // yen sign = yuan sign
- entities.put(new String("brvbar"), new Character('\246')); // broken bar = broken vertical bar
- entities.put(new String("sect"), new Character('\247')); // section sign
- entities.put(new String("uml"), new Character('\250')); // diaeresis = spacing diaeresis
- entities.put(new String("copy"), new Character('\251')); // copyright sign
- entities.put(new String("ordf"), new Character('\252')); // feminine ordinal indicator
- entities.put(new String("laquo"), new Character('\253')); // left-pointing double angle quotation mark = left pointing guillemet
- entities.put(new String("not"), new Character('\254')); // not sign
- entities.put(new String("shy"), new Character('\255')); // soft hyphen = discretionary hyphen
- entities.put(new String("reg"), new Character('\256')); // registered sign = registered trade mark sign
- entities.put(new String("macr"), new Character('\257')); // macron = spacing macron = overline = APL overbar
- entities.put(new String("deg"), new Character('\260')); // degree sign
- entities.put(new String("plusmn"), new Character('\261')); // plus-minus sign = plus-or-minus sign
- entities.put(new String("sup2"), new Character('\262')); // superscript two = superscript digit two = squared
- entities.put(new String("sup3"), new Character('\263')); // superscript three = superscript digit three = cubed
- entities.put(new String("acute"), new Character('\264')); // acute accent = spacing acute
- entities.put(new String("micro"), new Character('\265')); // micro sign
- entities.put(new String("para"), new Character('\266')); // pilcrow sign = paragraph sign
- entities.put(new String("middot"), new Character('\267')); // middle dot = Georgian comma = Greek middle dot
- entities.put(new String("cedil"), new Character('\270')); // cedilla = spacing cedilla
- entities.put(new String("sup1"), new Character('\271')); // superscript one = superscript digit one
- entities.put(new String("ordm"), new Character('\272')); // masculine ordinal indicator
- entities.put(new String("raquo"), new Character('\273')); // right-pointing double angle quotation mark = right pointing guillemet
- entities.put(new String("frac14"), new Character('\274')); // vulgar fraction one quarter = fraction one quarter
- entities.put(new String("frac12"), new Character('\275')); // vulgar fraction one half = fraction one half
- entities.put(new String("frac34"), new Character('\276')); // vulgar fraction three quarters = fraction three quarters
- entities.put(new String("iquest"), new Character('\277')); // inverted question mark = turned question mark
- entities.put(new String("Agrave"), new Character('\300')); // latin capital letter A with grave = latin capital letter A grave
- entities.put(new String("Aacute"), new Character('\301')); // latin capital letter A with acute
- entities.put(new String("Acirc"), new Character('\302')); // latin capital letter A with circumflex
- entities.put(new String("Atilde"), new Character('\303')); // latin capital letter A with tilde
- entities.put(new String("Auml"), new Character('\304')); // latin capital letter A with diaeresis
- entities.put(new String("Aring"), new Character('\305')); // latin capital letter A with ring above = latin capital letter A ring
- entities.put(new String("AElig"), new Character('\306')); // latin capital letter AE = latin capital ligature AE
- entities.put(new String("Ccedil"), new Character('\307')); // latin capital letter C with cedilla
- entities.put(new String("Egrave"), new Character('\310')); // latin capital letter E with grave
- entities.put(new String("Eacute"), new Character('\311')); // latin capital letter E with acute
- entities.put(new String("Ecirc"), new Character('\312')); // latin capital letter E with circumflex
- entities.put(new String("Euml"), new Character('\313')); // latin capital letter E with diaeresis
- entities.put(new String("Igrave"), new Character('\314')); // latin capital letter I with grave
- entities.put(new String("Iacute"), new Character('\315')); // latin capital letter I with acute
- entities.put(new String("Icirc"), new Character('\316')); // latin capital letter I with circumflex
- entities.put(new String("Iuml"), new Character('\317')); // latin capital letter I with diaeresis
- entities.put(new String("ETH"), new Character('\320')); // latin capital letter ETH
- entities.put(new String("Ntilde"), new Character('\321')); // latin capital letter N with tilde
- entities.put(new String("Ograve"), new Character('\322')); // latin capital letter O with grave
- entities.put(new String("Oacute"), new Character('\323')); // latin capital letter O with acute
- entities.put(new String("Ocirc"), new Character('\324')); // latin capital letter O with circumflex
- entities.put(new String("Otilde"), new Character('\325')); // latin capital letter O with tilde
- entities.put(new String("Ouml"), new Character('\326')); // latin capital letter O with diaeresis
- entities.put(new String("times"), new Character('\327')); // multiplication sign
- entities.put(new String("Oslash"), new Character('\330')); // latin capital letter O with stroke = latin capital letter O slash
- entities.put(new String("Ugrave"), new Character('\331')); // latin capital letter U with grave
- entities.put(new String("Uacute"), new Character('\332')); // latin capital letter U with acute
- entities.put(new String("Ucirc"), new Character('\333')); // latin capital letter U with circumflex
- entities.put(new String("Uuml"), new Character('\334')); // latin capital letter U with diaeresis
- entities.put(new String("Yacute"), new Character('\335')); // latin capital letter Y with acute
- entities.put(new String("THORN"), new Character('\336')); // latin capital letter THORN
- entities.put(new String("szlig"), new Character('\337')); // latin small letter sharp s = ess-zed
- entities.put(new String("agrave"), new Character('\340')); // latin small letter a with grave = latin small letter a grave
- entities.put(new String("aacute"), new Character('\341')); // latin small letter a with acute
- entities.put(new String("acirc"), new Character('\342')); // latin small letter a with circumflex
- entities.put(new String("atilde"), new Character('\343')); // latin small letter a with tilde
- entities.put(new String("auml"), new Character('\344')); // latin small letter a with diaeresis
- entities.put(new String("aring"), new Character('\345')); // latin small letter a with ring above = latin small letter a ring
- entities.put(new String("aelig"), new Character('\346')); // latin small letter ae = latin small ligature ae
- entities.put(new String("ccedil"), new Character('\347')); // latin small letter c with cedilla
- entities.put(new String("egrave"), new Character('\350')); // latin small letter e with grave
- entities.put(new String("eacute"), new Character('\351')); // latin small letter e with acute
- entities.put(new String("ecirc"), new Character('\352')); // latin small letter e with circumflex
- entities.put(new String("euml"), new Character('\353')); // latin small letter e with diaeresis
- entities.put(new String("igrave"), new Character('\354')); // latin small letter i with grave
- entities.put(new String("iacute"), new Character('\355')); // latin small letter i with acute
- entities.put(new String("icirc"), new Character('\356')); // latin small letter i with circumflex
- entities.put(new String("iuml"), new Character('\357')); // latin small letter i with diaeresis
- entities.put(new String("eth"), new Character('\360')); // latin small letter eth
- entities.put(new String("ntilde"), new Character('\361')); // latin small letter n with tilde
- entities.put(new String("ograve"), new Character('\362')); // latin small letter o with grave
- entities.put(new String("oacute"), new Character('\363')); // latin small letter o with acute
- entities.put(new String("ocirc"), new Character('\364')); // latin small letter o with circumflex
- entities.put(new String("otilde"), new Character('\365')); // latin small letter o with tilde
- entities.put(new String("ouml"), new Character('\366')); // latin small letter o with diaeresis
- entities.put(new String("divide"), new Character('\367')); // division sign
- entities.put(new String("oslash"), new Character('\370')); // latin small letter o with stroke = latin small letter o slash
- entities.put(new String("ugrave"), new Character('\371')); // latin small letter u with grave
- entities.put(new String("uacute"), new Character('\372')); // latin small letter u with acute
- entities.put(new String("ucirc"), new Character('\373')); // latin small letter u with circumflex
- entities.put(new String("uuml"), new Character('\374')); // latin small letter u with diaeresis
- entities.put(new String("yacute"), new Character('\375')); // latin small letter y with acute
- entities.put(new String("thorn"), new Character('\376')); // latin small letter thorn
- entities.put(new String("yuml"), new Character('\377')); // latin small letter y with diaeresis
-
- // Special characters
- entities.put(new String("quot"), new Character('\42')); // quotation mark = APL quote
- entities.put(new String("amp"), new Character('\46')); // ampersand
- entities.put(new String("lt"), new Character('\74')); // less-than sign
- entities.put(new String("gt"), new Character('\76')); // greater-than sign
- // Latin Extended-A
- entities.put(new String("OElig"), new Character('\u0152')); // latin capital ligature OE
- entities.put(new String("oelig"), new Character('\u0153')); // latin small ligature oe, ligature is a misnomer, this is a separate character in some languages
- entities.put(new String("Scaron"), new Character('\u0160')); // latin capital letter S with caron
- entities.put(new String("scaron"), new Character('\u0161')); // latin small letter s with caron
- entities.put(new String("Yuml"), new Character('\u0178')); // latin capital letter Y with diaeresis
- // Spacing Modifier Letters
- entities.put(new String("circ"), new Character('\u02c6')); // modifier letter circumflex accent
- entities.put(new String("tilde"), new Character('\u02dc')); // small tilde
- // General punctuation
- entities.put(new String("ensp"), new Character('\u2002')); // en space
- entities.put(new String("emsp"), new Character('\u2003')); // em space
- entities.put(new String("thinsp"), new Character('\u2009')); // thin space
- entities.put(new String("zwnj"), new Character('\u200c')); // zero width non-joiner
- entities.put(new String("zwj"), new Character('\u200d')); // zero width joiner
- entities.put(new String("lrm"), new Character('\u200e')); // left-to-right mark
- entities.put(new String("rlm"), new Character('\u200f')); // right-to-left mark
- entities.put(new String("ndash"), new Character('\u2013')); // en dash
- entities.put(new String("mdash"), new Character('\u2014')); // em dash
- entities.put(new String("lsquo"), new Character('\u2018')); // left single quotation mark
- entities.put(new String("rsquo"), new Character('\u2019')); // right single quotation mark
- entities.put(new String("sbquo"), new Character('\u201a')); // single low-9 quotation mark
- entities.put(new String("ldquo"), new Character('\u201c')); // left double quotation mark
- entities.put(new String("rdquo"), new Character('\u201d')); // right double quotation mark
- entities.put(new String("bdquo"), new Character('\u201e')); // double low-9 quotation mark
- entities.put(new String("dagger"), new Character('\u2020')); // dagger
- entities.put(new String("Dagger"), new Character('\u2021')); // double dagger
- entities.put(new String("permil"), new Character('\u2030')); // per mille sign
- entities.put(new String("lsaquo"), new Character('\u2039')); // single left-pointing angle quotation mark, not yet standardized
- entities.put(new String("rsaquo"), new Character('\u203a')); // single right-pointing angle quotation mark, not yet standardized
- entities.put(new String("euro"), new Character('\u20ac')); // euro sign
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlTag.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlTag.java
deleted file mode 100644
index 40e3586ea..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/HtmlTag.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.internal;
-
-import java.net.URL;
-import java.text.ParseException;
-import java.util.HashMap;
-import java.util.Iterator;
-import javax.swing.text.html.HTML.Tag;
-
-/**
- * Class representing an HTML (3.2) tag and its attributes.
- */
-public class HtmlTag {
- /** tag's name */
- private String tagName;
- /** tag type enum */
- private Tag tagType;
- /** true if the tag is a closing tag */
- private boolean isEndTag;
- /** tag's attributes (keys are lowercase attribute names) */
- private HashMap<String, String> attributes;
- /** tag's base url */
- private URL baseUrl;
-
- /**
- * Basic constructor. The tag is uninitialized.
- */
- public HtmlTag() {
- tagName = null;
- tagType = Type.UNKNOWN;
- isEndTag = false;
- attributes = new HashMap<String, String>();
- baseUrl = null;
- }
-
- /**
- * Copy constructor.
- */
- @SuppressWarnings("unchecked")
- public HtmlTag(HtmlTag htmltag) {
- tagName = null;
- tagType = Type.UNKNOWN;
- isEndTag = false;
- attributes = new HashMap<String, String>();
- tagName = new String(htmltag.tagName);
- baseUrl = htmltag.baseUrl;
- tagType = htmltag.tagType;
- isEndTag = htmltag.isEndTag;
- attributes = (HashMap)htmltag.attributes.clone();
- }
-
- /**
- * Constructor.
- */
- public HtmlTag(String s) throws ParseException {
- attributes = new HashMap<String, String>();
- setTagName(s);
- baseUrl = null;
- }
-
- /**
- * Constructor creating an otherwise empty tag, but with a given base url.
- */
- public HtmlTag(URL url) {
- tagName = null;
- tagType = Type.UNKNOWN;
- isEndTag = false;
- attributes = new HashMap<String, String>();
- baseUrl = url;
- }
-
- /**
- * Returns the tag's type (linked to the tag's name).
- */
- public Tag getTagType() {
- return tagType;
- }
-
- /**
- * Returns the tag's name (e.g., "HEAD", "P", etc.).
- */
- public String getTagName() {
- return tagName;
- }
-
- /**
- * Sets the tag's name and type, if known.
- *
- * @throws IllegalArgumentException
- * if the argument is <code>null</code> or empty string
- */
- public void setTagName(String s) throws IllegalArgumentException {
- if (s == null || s.length() == 0) throw new IllegalArgumentException("Empty tag name");
- if (s.charAt(0) == '/') {
- isEndTag = true;
- s = s.substring(1);
- }
- if (s.length() == 0) throw new IllegalArgumentException("Empty tag name");
- tagName = s;
- tagType = tags.get(s.toUpperCase());
- if (tagType == null) {
- tagType = Type.UNKNOWN;
- }
- }
-
- /**
- * Returns <code>true</code> if the tag is a closing tag.
- */
- public boolean isEndTag() {
- return isEndTag;
- }
-
- /**
- * Returns the value of a tag's attribute as an integer.
- */
- public int getIntAttribute(String s) throws NumberFormatException {
- return Integer.parseInt(getAttribute(s));
- }
-
- /**
- * Returns the value of a tag's attribute, or NULL if it doesn't exist.
- */
- public String getAttribute(String s) {
- return attributes.get(s);
- }
-
- /**
- * Returns <code>true</code> if the tag contains attribute with the given name.
- */
- public boolean hasAttribute(String s) {
- return getAttribute(s) != null;
- }
-
- /**
- * Sets the value of a tag's attribute.
- */
- public void setAttribute(String name, String value) {
- attributes.put(name.toLowerCase(), value);
- }
-
- public StringBuffer getURLs() {
- StringBuffer sb = new StringBuffer();
-
- Iterator<String> attributeNames = attributes.keySet().iterator();
- Iterator<String> attributeValues = attributes.values().iterator();
- while (attributeNames.hasNext()) {
- String attributeName = attributeNames.next();
- if (attributeName.compareTo("href") == 0 || attributeName.compareTo("src") == 0) {
- String target = attributeValues.next();
- if (!target.endsWith(".jpg")
- && !target.endsWith(".gif")
- && !target.endsWith(".css")
- && !target.endsWith(".js")
- && !target.startsWith("mailto")
- && target.lastIndexOf("#") == -1
- && target.length() > 0) {
-
- for (int i = 0; i < target.length(); i++) {
- char ch = target.charAt(i);
- if (!Character.isWhitespace(ch)) {
- if (i > 0) target = target.substring(i+1);
- break;
- }
- }
- target = target.replace('\\', '/');
-
- if (target.startsWith("news:") || (target.indexOf("://") != -1 && target.length() >= 7)) {
- // Absolute URL
- if (target.substring(0, 7).compareToIgnoreCase("http://") == 0)
- sb.append(target);
- }
- else {
- // Relative URL
-
- String baseDir = baseUrl.getPath();
- int lastSep = -1;
- for (int i = 0; i < baseDir.length(); i++) {
- char ch = baseDir.charAt(i);
- if (ch == '/') lastSep = i;
- else if (ch == '?') break;
- }
- if (lastSep >= 0) baseDir = baseDir.substring(0, lastSep);
- while (baseDir.length() > 1 && baseDir.endsWith("/.")) {
- baseDir = baseDir.substring(0, baseDir.length()-2);
- }
-
- if (target.startsWith("//")) {
- sb.append(baseUrl.getProtocol() + ":" + target);
- }
- else if (target.startsWith("/")) {
- sb.append(baseUrl.getProtocol() + "://" + baseUrl.getHost() + target);
- }
- else {
- while (target.startsWith("../")) {
- if (baseDir.length() > 0) {
- // can't go above root
- baseDir = baseDir.substring(0, baseDir.lastIndexOf("/"));
- }
- target = target.substring(3);
- }
- sb.append(baseUrl.getProtocol() + "://" + baseUrl.getHost() + baseDir + "/" + target);
- }
- }
- }
- }
- else {
- attributeValues.next();
- }
- }
-
- return sb;
- }
-
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append('<');
- if (isEndTag)
- sb.append('/');
- sb.append(tagName);
- Iterator<String> keys = attributes.keySet().iterator();
- Iterator<String> values = attributes.values().iterator();
- while (keys.hasNext()) {
- String name = keys.next();
- sb.append(' ');
- sb.append(name);
- String value = values.next();
- if (value.length() > 0) {
- sb.append("=\"");
- sb.append(value);
- sb.append('"');
- }
- }
- sb.append('>');
-
- return sb.toString();
- }
-
- /**
- * Enum class for tag types.
- */
- public static class Type extends Tag {
- public static final Tag UNKNOWN = new Tag();
- public static final Tag THEAD = new Type("THEAD");
- public static final Tag DOCTYPE = new Type("!DOCTYPE");
- public static final Tag LABEL = new Type("LABEL");
-
- private Type(String name) {
- super(name);
- }
- }
-
- private static HashMap<String, Tag> tags;
- static {
- tags = new HashMap<String, Tag>();
- tags.put(new String("A"), Tag.A);
- tags.put(new String("ADDRESS"), Tag.ADDRESS);
- tags.put(new String("APPLET"), Tag.APPLET);
- tags.put(new String("AREA"), Tag.AREA);
- tags.put(new String("B"), Tag.B);
- tags.put(new String("BASE"), Tag.BASE);
- tags.put(new String("BASEFONT"), Tag.BASEFONT);
- tags.put(new String("BIG"), Tag.BIG);
- tags.put(new String("BLOCKQUOTE"), Tag.BLOCKQUOTE);
- tags.put(new String("BODY"), Tag.BODY);
- tags.put(new String("BR"), Tag.BR);
- tags.put(new String("CAPTION"), Tag.CAPTION);
- tags.put(new String("CENTER"), Tag.CENTER);
- tags.put(new String("CITE"), Tag.CITE);
- tags.put(new String("CODE"), Tag.CODE);
- tags.put(new String("DD"), Tag.DD);
- tags.put(new String("DFN"), Tag.DFN);
- tags.put(new String("DIR"), Tag.DIR);
- tags.put(new String("DIV"), Tag.DIV);
- tags.put(new String("DL"), Tag.DL);
- tags.put(new String("!DOCTYPE"), Type.DOCTYPE);
- tags.put(new String("DT"), Tag.DT);
- tags.put(new String("EM"), Tag.EM);
- tags.put(new String("FONT"), Tag.FONT);
- tags.put(new String("FORM"), Tag.FORM);
- tags.put(new String("FRAME"), Tag.FRAME);
- tags.put(new String("FRAMESET"), Tag.FRAMESET);
- tags.put(new String("H1"), Tag.H1);
- tags.put(new String("H2"), Tag.H2);
- tags.put(new String("H3"), Tag.H3);
- tags.put(new String("H4"), Tag.H4);
- tags.put(new String("H5"), Tag.H5);
- tags.put(new String("H6"), Tag.H6);
- tags.put(new String("HEAD"), Tag.HEAD);
- tags.put(new String("HTML"), Tag.HTML);
- tags.put(new String("HR"), Tag.HR);
- tags.put(new String("I"), Tag.I);
- tags.put(new String("IMG"), Tag.IMG);
- tags.put(new String("INPUT"), Tag.INPUT);
- tags.put(new String("ISINDEX"), Tag.ISINDEX);
- tags.put(new String("KBD"), Tag.KBD);
- tags.put(new String("LI"), Tag.LI);
- tags.put(new String("LABEL"), Type.LABEL);
- tags.put(new String("LINK"), Tag.LINK);
- tags.put(new String("MAP"), Tag.MAP);
- tags.put(new String("MENU"), Tag.MENU);
- tags.put(new String("META"), Tag.META);
- tags.put(new String("NOFRAMES"), Tag.NOFRAMES);
- tags.put(new String("OBJECT"), Tag.OBJECT);
- tags.put(new String("OL"), Tag.OL);
- tags.put(new String("OPTION"), Tag.OPTION);
- tags.put(new String("P"), Tag.P);
- tags.put(new String("PARAM"), Tag.PARAM);
- tags.put(new String("PRE"), Tag.PRE);
- tags.put(new String("S"), Tag.S);
- tags.put(new String("SAMP"), Tag.SAMP);
- tags.put(new String("SCRIPT"), Tag.SCRIPT);
- tags.put(new String("SELECT"), Tag.SELECT);
- tags.put(new String("SMALL"), Tag.SMALL);
- tags.put(new String("STRONG"), Tag.STRONG);
- tags.put(new String("STYLE"), Tag.STYLE);
- tags.put(new String("SUB"), Tag.SUB);
- tags.put(new String("SUP"), Tag.SUP);
- tags.put(new String("TABLE"), Tag.TABLE);
- tags.put(new String("TD"), Tag.TD);
- tags.put(new String("TEXTAREA"), Tag.TEXTAREA);
- tags.put(new String("TH"), Tag.TH);
- tags.put(new String("THEAD"), Type.THEAD);
- tags.put(new String("TITLE"), Tag.TITLE);
- tags.put(new String("TR"), Tag.TR);
- tags.put(new String("TT"), Tag.TT);
- tags.put(new String("U"), Tag.U);
- tags.put(new String("UL"), Tag.UL);
- tags.put(new String("VAR"), Tag.VAR);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/KeywordParser.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/KeywordParser.java
deleted file mode 100644
index 719d96ba0..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/KeywordParser.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.internal;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer.Token;
-
-
-/**
- * Parses Bugzilla keywords page to determine keywords valid in this installation
- *
- * @author Shawn Minto
- */
-public class KeywordParser
-{
- /** Tokenizer used on the stream */
- private static HtmlStreamTokenizer tokenizer;
-
- /**
- * Constructor.
- *
- * @param in
- * The input stream for the keywords page.
- */
- public KeywordParser(Reader in) {
- tokenizer = new HtmlStreamTokenizer(in, null);
- }
-
- /**
- * Parse the keyword page for the valid products that a bug can be logged for
- *
- * @return A list of the keywordds that we can enter bugs for
- * @throws IOException
- * @throws ParseException
- */
- public List<String> getKeywords() throws IOException, ParseException, LoginException {
- ArrayList<String> keywords = new ArrayList<String>();
-
- boolean isTitle = false;
- boolean possibleBadLogin = false;
- String title = "";
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
-
- // make sure that bugzilla doesn't want us to login
- if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.TITLE && !((HtmlTag)(token.getValue())).isEndTag())
- {
- isTitle = true;
- continue;
- }
-
- if(isTitle)
- {
- // get all of the data from inside of the title tag
- if(token.getType() != Token.TAG)
- {
- title += ((StringBuffer)token.getValue()).toString().toLowerCase() + " ";
- continue;
- }
- else if(token.getType() == Token.TAG && ((HtmlTag)token.getValue()).getTagType() == HtmlTag.Type.TITLE && ((HtmlTag)token.getValue()).isEndTag())
- {
- // check if we may have a problem with login by looking at the title of the page
- if((title.indexOf("login") != -1 || (title.indexOf("invalid") != -1 && title.indexOf("password") != -1) || title.indexOf("check e-mail") != -1 || title.indexOf("error") != -1))
- possibleBadLogin = true;
- isTitle = false;
- title = "";
- }
- continue;
- }
-
- if (token.getType() == Token.TAG ) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TR && !tag.isEndTag())
- {
- token = tokenizer.nextToken();
- if(token.getType() != Token.EOF && token.getType() == Token.TAG)
- {
- tag = (HtmlTag)token.getValue();
- if(tag.getTagType() != HtmlTag.Type.TH)
- continue;
- else
- {
- if(tag.getAttribute("align") == null || !"left".equalsIgnoreCase(tag.getAttribute("align")))
- parseKeywords(keywords);
-
- }
- }
- continue;
- }
- }
- }
-
- // if we don't have any keywords and suspect that there was a login problem, assume we had a login problem
- if(keywords == null && possibleBadLogin)
- throw new LoginException("Bugzilla login information incorrect");
- return keywords;
- }
-
- /**
- * Parse the keywords that we can enter bugs for
- * @param keywords The list of keywords to add this new product to
- * @return
- */
- private void parseKeywords(List<String> keywords) throws IOException, ParseException {
- StringBuffer sb = new StringBuffer();
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken())
- {
- if(token.getType() == Token.TAG)
- {
- HtmlTag tag = (HtmlTag)token.getValue();
- if(tag.getTagType() == HtmlTag.Type.TH && (tag.isEndTag() || !"left".equalsIgnoreCase(tag.getAttribute("align"))))
- break;
- }
- else if(token.getType() == Token.TEXT)
- sb.append(token.toString());
- }
-
- String prod = HtmlStreamTokenizer.unescape(sb).toString();
- if(prod.endsWith(":"))
- prod = prod.substring(0, prod.length() - 1);
- keywords.add(prod);
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken())
- {
- if(token.getType() == Token.TAG)
- {
- HtmlTag tag = (HtmlTag)token.getValue();
- if(tag.getTagType() == HtmlTag.Type.TR && tag.isEndTag())
- break;
-
- }
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/NewBugParser.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/NewBugParser.java
deleted file mode 100644
index 242ff4f82..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/NewBugParser.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.internal;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.text.ParseException;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer.Token;
-
-
-/**
- * @author Shawn Minto
- *
- * This class parses the valid attribute values for a new bug
- */
-public class NewBugParser {
- /** Tokenizer used on the stream */
- private HtmlStreamTokenizer tokenizer;
-
- /** Flag for whether we need to try to get the product or not */
- private static boolean getProd = false;
-
- public NewBugParser(Reader in) {
- tokenizer = new HtmlStreamTokenizer(in, null);
- }
-
- /**
- * Parse the new bugs valid attributes
- * @param nbm A reference to a NewBugModel where all of the information is stored
- * @throws IOException
- * @throws ParseException
- * @throws LoginException
- */
- public void parseBugAttributes(NewBugModel nbm, boolean retrieveProducts) throws IOException, ParseException, LoginException
- {
- nbm.attributes.clear(); // clear any attriubtes in bug model from a previous product
-
- NewBugParser.getProd = retrieveProducts;
-
- // create a new bug report and set the parser state to the start state
- ParserState state = ParserState.START;
- String attribute = null;
-
- boolean isTitle = false;
- boolean possibleBadLogin = false;
- boolean isErrorState = false;
- String title = "";
- // Default error message
- String errorMsg = "Bugzilla could not get the needed bug attribute since your login name or password is incorrect. Please check your settings in the bugzilla preferences.";
-
- for (Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- // make sure that bugzilla doesn't want us to login
- if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.TITLE && !((HtmlTag)(token.getValue())).isEndTag()) {
- isTitle = true;
- continue;
- }
-
- if(isTitle) {
- // get all of the data in the title tag to compare with
- if(token.getType() != Token.TAG) {
- title += ((StringBuffer)token.getValue()).toString().toLowerCase() + " ";
- continue;
- }
- else if(token.getType() == Token.TAG && ((HtmlTag)token.getValue()).getTagType() == HtmlTag.Type.TITLE && ((HtmlTag)token.getValue()).isEndTag()) {
- // check if the title looks like we may have a problem with login
- if(title.indexOf("login") != -1) {
- possibleBadLogin = true; // generic / default msg passed to constructor re: bad login
- }
- if((title.indexOf("invalid") != -1 && title.indexOf("password") != -1) || title.indexOf("check e-mail") != -1 || title.indexOf("error") != -1) {
- possibleBadLogin = true;
- isErrorState = true; // set flag so appropriate msg is provide for the exception
- errorMsg = ""; // error message will be parsed from error page
- }
-
- isTitle = false;
- title = "";
- }
- continue;
- }
-
-
- // we have found the start of an attribute name
- if ((state == ParserState.ATT_NAME || state == ParserState.START) && token.getType() == Token.TAG ) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD && "right".equalsIgnoreCase(tag.getAttribute("align"))) {
- // parse the attribute's name
- attribute = parseAttributeName();
- if(attribute == null) continue;
- state = ParserState.ATT_VALUE;
- continue;
- }
-
- if (tag.getTagType() == HtmlTag.Type.TD && "#ff0000".equalsIgnoreCase(tag.getAttribute("bgcolor"))) {
- state = ParserState.ERROR;
- continue;
- }
- }
-
- // we have found the start of attribute values
- if (state == ParserState.ATT_VALUE && token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD) {
- // parse the attribute values
- parseAttributeValue(nbm, attribute);
-
- state = ParserState.ATT_NAME;
- attribute = null;
- continue;
- }
- }
- // page being parsed contains an Error message
- // parse error message so it can be given to the constructor of the exception
- // so an appropriate error message is displayed
- if(state == ParserState.ERROR && isErrorState){
- // tag should be text token, not a tag
- // get the error message
- if(token.getType() == Token.TEXT) {
- // get string value of next token to add to error messgage
- // unescape the string so any escape sequences parsed appear unescaped in the details pane
- errorMsg += HtmlStreamTokenizer.unescape( ((StringBuffer)token.getValue()).toString() ) + " ";
- }
- // expect </font> tag to indicate end of error end msg
- // set next state to continue parsing remainder of page
- else if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.FONT && ((HtmlTag)(token.getValue())).isEndTag()) {
- state = ParserState.ATT_NAME;
- }
- continue;
- }
-
- if((state == ParserState.ATT_NAME || state == ParserState.START) && token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag)token.getValue();
- if(tag.getTagType() == HtmlTag.Type.INPUT && tag.getAttribute("type") != null &&"hidden".equalsIgnoreCase(tag.getAttribute("type").trim())) {
- Attribute a = new Attribute(tag.getAttribute("name"));
- a.setParameterName(tag.getAttribute("name"));
- a.setValue(tag.getAttribute("value"));
- a.setHidden(true);
- nbm.attributes.put(a.getName(), a);
- continue;
- }
- }
- }
-
- // if we have no attributes and we suspect a bad login, we assume that the login info was bad
- if(possibleBadLogin && (nbm.getAttributes() == null || nbm.getAttributes().size() == 0)) {
- throw new LoginException(errorMsg);
- }
- }
-
- /**
- * Parse the case where we have found an attribute name
- * @param tokenizer The tokenizer to use to find the name
- * @return The name of the attribute
- * @throws IOException
- * @throws ParseException
- */
- private String parseAttributeName()
- throws IOException, ParseException {
- StringBuffer sb = new StringBuffer();
-
- parseTableCell(sb);
- HtmlStreamTokenizer.unescape(sb);
- // remove the colon if there is one
- if(sb.length() == 0)
- return null;
- if (sb.charAt(sb.length() - 1) == ':') {
- sb.deleteCharAt(sb.length() - 1);
- }
- return sb.toString();
- }
-
- /**
- * Reads text into a StringBuffer until it encounters a close table cell tag (&lt;/TD&gt;) or start of another cell.
- * The text is appended to the existing value of the buffer. <b>NOTE:</b> Does not handle nested cells!
- * @param tokenizer
- * @param sb
- * @throws IOException
- * @throws ParseException
- */
- private void parseTableCell(StringBuffer sb)
- throws IOException, ParseException {
- boolean noWhitespace = false;
- for (HtmlStreamTokenizer.Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD) {
- if (!tag.isEndTag()) {
- tokenizer.pushback(token);
- }
- break;
- }
- noWhitespace = token.getWhitespace().length() == 0;
- }
- else if (token.getType() == Token.TEXT) {
- // if there was no whitespace between the tag and the
- // preceding text, don't insert whitespace before this text
- // unless it is there in the source
- if (!noWhitespace && token.getWhitespace().length() > 0 && sb.length() > 0) {
- sb.append(' ');
- }
- sb.append((StringBuffer)token.getValue());
- }
- }
- }
-
- /**
- * Parse the case where we have found attribute values
- * @param nbm The NewBugModel that is to contain information about a new bug
- * @param attributeName The name of the attribute that we are parsing
- * @param tokenizer The tokenizer to use for parsing
- * @throws IOException
- * @throws ParseException
- */
- private void parseAttributeValue(
- NewBugModel nbm,
- String attributeName)
- throws IOException, ParseException {
-
- HtmlStreamTokenizer.Token token = tokenizer.nextToken();
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.SELECT && !tag.isEndTag()) {
- String parameterName = tag.getAttribute("name");
- parseSelect(nbm, attributeName, parameterName);
- }
- else if (tag.getTagType() == HtmlTag.Type.INPUT && !tag.isEndTag()) {
- parseInput(nbm, attributeName, tag);
- }
- else if (!tag.isEndTag()) {
- parseAttributeValueCell(nbm, attributeName);
- }
- }
- else {
- StringBuffer sb = new StringBuffer();
- if (token.getType() == Token.TEXT) {
- sb.append((StringBuffer) token.getValue());
- parseAttributeValueCell(nbm, attributeName, sb);
- }
- }
- }
-
- /**
- * Parse the case where the attribute value is just text in a table cell
- * @param attributeName The name of the attribute we are parsing
- * @param tokenizer The tokenizer to use for parsing
- * @throws IOException
- * @throws ParseException
- */
- private void parseAttributeValueCell(NewBugModel nbm, String attributeName)
- throws IOException, ParseException {
- StringBuffer sb = new StringBuffer();
-
- parseAttributeValueCell(nbm, attributeName, sb);
- }
-
- private void parseAttributeValueCell(
- NewBugModel nbm,
- String attributeName,
- StringBuffer sb)
- throws IOException, ParseException {
-
- parseTableCell(sb);
- HtmlStreamTokenizer.unescape(sb);
-
- // if we need the product we will get it
- if(getProd && attributeName.equalsIgnoreCase("product")) {
- nbm.setProduct(sb.toString());
- }
- }
-
- /**
- * Parse the case where the attribute value is an input
- * @param nbm The new bug model to add information that we get to
- * @param attributeName The name of the attribute that we are parsing
- * @param tag The HTML tag that we are currently on
- * @throws IOException
- */
- private static void parseInput(
- NewBugModel nbm,
- String attributeName,
- HtmlTag tag)
- throws IOException {
-
- Attribute a = new Attribute(attributeName);
- a.setParameterName(tag.getAttribute("name"));
- String value = tag.getAttribute("value");
- if (value == null) value = "";
-
- // if we found the summary, add it to the bug report
- if (attributeName.equalsIgnoreCase("summary")) {
- nbm.setSummary(value);
- }
- else if (attributeName.equalsIgnoreCase("Attachments")) {
- // do nothing - not a problem after 2.14
- }
- else if (attributeName.equalsIgnoreCase("add cc")) {
- // do nothing
- }
- else if (attributeName.toLowerCase().startsWith("cc")) {
- // do nothing cc's are options not inputs
- }
- else {
- // otherwise just add the attribute
- a.setValue(value);
- nbm.attributes.put(attributeName, a);
- }
- }
-
- /**
- * Parse the case where the attribute value is an option
- * @param nbm The NewBugModel that we are storing information in
- * @param attributeName The name of the attribute that we are parsing
- * @param parameterName The SELECT tag's name
- * @param tokenizer The tokenizer that we are using for parsing
- * @throws IOException
- * @throws ParseException
- */
- private void parseSelect(
- NewBugModel nbm,
- String attributeName,
- String parameterName)
- throws IOException, ParseException {
-
- boolean first = false;
- Attribute a = new Attribute(attributeName);
- a.setParameterName(parameterName);
-
- HtmlStreamTokenizer.Token token = tokenizer.nextToken();
- while ( token.getType() != Token.EOF) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.SELECT && tag.isEndTag()) break;
- if (tag.getTagType() == HtmlTag.Type.OPTION && !tag.isEndTag()) {
- String optionName = tag.getAttribute("value");
- boolean selected = tag.hasAttribute("selected");
- StringBuffer optionText = new StringBuffer();
- for (token = tokenizer.nextToken(); token.getType() == Token.TEXT; token = tokenizer.nextToken()) {
- if (optionText.length() > 0) {
- optionText.append(' ');
- }
- optionText.append((StringBuffer) token.getValue());
- }
- a.addOptionValue(optionText.toString(), optionName);
-
- if (selected || first) {
- a.setValue(optionText.toString());
- first = false;
- }
- }
- else {
- token = tokenizer.nextToken();
- }
- }
- else {
- token = tokenizer.nextToken();
- }
- }
-
- if(!(nbm.attributes).containsKey(attributeName)) {
- (nbm.attributes).put(attributeName, a);
- }
- }
-
- /**
- * Enum class for describing current state of Bugzilla report parser.
- */
- private static class ParserState
- {
- /** An instance of the start state */
- protected static final ParserState START = new ParserState("start");
-
- /** An instance of the state when the parser found an attribute name */
- protected static final ParserState ATT_NAME = new ParserState("att_name");
-
- /** An instance of the state when the parser found an attribute value */
- protected static final ParserState ATT_VALUE = new ParserState("att_value");
- /** An instance of the state when an error page is found */
- protected static final ParserState ERROR = new ParserState("error");
- /** State's human-readable name */
- private String name;
-
- /**
- * Constructor
- * @param description - The states human readable name
- */
- private ParserState(String description)
- {
- this.name = description;
- }
-
- @Override
- public String toString()
- {
- return name;
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfiguration.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfiguration.java
deleted file mode 100644
index 3e6542f69..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfiguration.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.core.internal;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Class describing the configuration of products and components for a given
- * Bugzilla installation.
- */
-public class ProductConfiguration implements Serializable {
-
- /** Automatically generated serialVersionUID */
- private static final long serialVersionUID = 3257004354337519410L;
-
- private Map<String, ProductEntry> products = new HashMap<String, ProductEntry>();
-
- public ProductConfiguration() {
- super();
- }
-
- /**
- * Adds a product to the configuration.
- */
- public void addProduct(String name) {
- if (!products.containsKey(name)) {
- ProductEntry product = new ProductEntry(name);
- products.put(name, product);
- }
- }
-
- /**
- * Returns an array of names of current products.
- */
- public String[] getProducts() {
- return products.keySet().toArray(new String[0]);
- }
-
- /**
- * Returns an array of names of component that exist for a given product
- * or <code>null</code> if the product does not exist.
- */
- public String[] getComponents(String product) {
- ProductEntry entry = products.get(product);
- if (entry != null) {
- return entry.getComponents();
- }
- else return null;
- }
-
- /**
- * Returns an array of names of versions that exist for a given product
- * or <code>null</code> if the product does not exist.
- */
- public String[] getVersions(String product) {
- ProductEntry entry = products.get(product);
- if (entry != null) {
- return entry.getVersions();
- }
- else return null;
- }
-
- /**
- * Returns an array of names of valid severity values.
- */
- public String[] getSeverities() {
- return new String[] {"blocker", "critical", "major", "normal", "minor", "trivial", "enhancement"};
- }
-
- /**
- * Returns an array of names of valid OS values.
- */
- public String[] getOSs() {
- return new String[] {"All", "Windows XP", "Linux", "other"};
- }
-
- /**
- * Returns an array of names of valid platform values.
- */
- public String[] getPlatforms() {
- return new String[] {"All", "Macintosh", "PC"};
- }
-
- /**
- * Returns an array of names of valid platform values.
- */
- public String[] getPriorities() {
- return new String[] {"P1", "P2", "P3", "P4", "P5"};
- }
-
- /**
- * Adds a component to the given product.
- */
- public void addComponent(String product, String component) {
- ProductEntry entry = products.get(product);
- if (entry == null) {
- entry = new ProductEntry(product);
- products.put(product, entry);
- }
- entry.addComponent(component);
- }
-
- /**
- * Adds a list of components to the given product.
- */
- public void addComponents(String product, String[] components) {
- ProductEntry entry = products.get(product);
- if (entry == null) {
- entry = new ProductEntry(product);
- products.put(product, entry);
- }
- for (int i = 0; i < components.length; i++) {
- String component = components[i];
- entry.addComponent(component);
- }
- }
-
- /**
- * Adds a list of components to the given product.
- */
- public void addVersions(String product, String[] versions) {
- ProductEntry entry = products.get(product);
- if (entry == null) {
- entry = new ProductEntry(product);
- products.put(product, entry);
- }
- for (int i = 0; i < versions.length; i++) {
- String version = versions[i];
- entry.addVersion(version);
- }
- }
-
- /**
- * Container for product information: name, components.
- */
- private static class ProductEntry implements Serializable {
-
- /** Automatically generated serialVersionUID */
- private static final long serialVersionUID = 3977018465733391668L;
-
- String productName;
- List<String> components = new ArrayList<String>();
- List<String> versions = new ArrayList<String>();
-
- ProductEntry(String name) {
- this.productName = name;
- }
- String[] getComponents() {
- return components.toArray(new String[0]);
- }
- void addComponent(String componentName) {
- if (!components.contains(componentName)) {
- components.add(componentName);
- }
- }
- String[] getVersions() {
- return versions.toArray(new String[0]);
- }
- void addVersion(String name) {
- if (!versions.contains(name)) {
- versions.add(name);
- }
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfigurationFactory.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfigurationFactory.java
deleted file mode 100644
index f773edff7..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductConfigurationFactory.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.core.internal;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-
-
-/**
- * A factory for creating ProductConfiguration objects that encapsulate valid
- * combinations of products, components, and versions.
- */
-public class ProductConfigurationFactory {
- /** Singleton factory instance */
- private static ProductConfigurationFactory instance;
-
- /**
- * Private constructor to ensure singleton instances.
- */
- private ProductConfigurationFactory() {
- // no initial setup needed
- }
-
- /**
- * Returns the factory singletoninstance.
- */
- public static synchronized ProductConfigurationFactory getInstance() {
- if (instance == null) {
- instance = new ProductConfigurationFactory();
- }
- return instance;
- }
-
- /**
- * Builds a ProductConfiguration object by parsing the source of the
- * Bugzilla query page.
- */
- public ProductConfiguration getConfiguration(String server) throws IOException {
- URL serverURL = new URL(server + "/query.cgi");
- ProductConfiguration configuration = new ProductConfiguration();
- ArrayList<String []> componentsMatrix = new ArrayList<String []>();
- ArrayList<String []> versionsMatrix = new ArrayList<String []>();
- URLConnection c = serverURL.openConnection();
- BufferedReader in = new BufferedReader(new InputStreamReader(c.getInputStream()));
- String line;
- while ((line = in.readLine()) != null) {
- if (line.startsWith(" cpts[")) {
- String [] components = parseComponents(line);
- if (components.length > 0) componentsMatrix.add(components);
- }
- else if (line.startsWith(" vers[")) {
- String [] versions = parseComponents(line);
- if (versions.length > 0) versionsMatrix.add(versions);
- }
- else if (line.indexOf("<select name=\"product\"") != -1) {
- String [] products = parseProducts(in);
- for (int i = 0; i < products.length; i++) {
- String product = products[i];
- configuration.addProduct(product);
- // If components don't jibe with the products, just don't make them available.
- if (products.length == componentsMatrix.size()) {
- configuration.addComponents(product, componentsMatrix.get(i));
- }
-
- // If versions don't jibe with the products, just don't make them available
- if (products.length == versionsMatrix.size()) {
- configuration.addVersions(product, versionsMatrix.get(i));
- }
- }
- }
- }
- return configuration;
- }
-
- /**
- * Returns an array of valid components or versions by parsing the JavaScript
- * array in the Bugzilla query page.
- */
- protected String [] parseComponents(String line) {
- ArrayList<String> components = new ArrayList<String>();
- int start = line.indexOf('\'');
- if (start >= 0) {
- boolean inName = true;
- StringBuffer name = new StringBuffer();
- for (int i = start+1; i < line.length(); i++){
- char ch = line.charAt(i);
- if (inName) {
- if (ch == '\'') {
- components.add(name.toString());
- name.setLength(0);
- inName = false;
- }
- else name.append(ch);
- }
- else {
- if (ch == '\'') {
- inName = true;
- }
- }
- }
- }
- return components.toArray(new String[0]);
- }
-
- /**
- * Returns an array of valid product names by parsing the product selection list
- * in the Bugzilla query page.
- */
- protected String[] parseProducts(BufferedReader in) throws IOException {
- ArrayList<String> products = new ArrayList<String>();
- String line;
- while ((line = in.readLine()) != null) {
- if (line.indexOf("</select>") != -1) break;
- int optionIndex = line.indexOf("<option value=\"");
- if (optionIndex != -1) {
- boolean inName = false;
- StringBuffer name = new StringBuffer();
- for (int i = optionIndex; i< line.length(); i++) {
- char ch = line.charAt(i);
- if (inName) {
- if (ch == '<') {
- products.add(name.toString());
- break;
- }
- else name.append(ch);
- }
- else {
- if (ch == '>') {
- inName = true;
- }
- }
- }
- }
- }
- return products.toArray(new String[0]);
- }
-
- /**
- * Restores a ProductConfiguration from a file.
- */
- public ProductConfiguration readConfiguration(File file) throws IOException {
- if (!file.exists()) return null;
- FileInputStream fin = null;
- ProductConfiguration configuration = null;
- try {
- fin = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(fin);
- configuration = (ProductConfiguration) in.readObject();
- } catch (ClassNotFoundException e) {
- BugzillaPlugin.log(e);
- IOException ex = new IOException();
- ex.initCause(e);
- throw ex;
- } finally {
- if (fin != null)
- fin.close();
- }
- return configuration;
- }
-
- /**
- * Saves a ProductConfiguration to a file.
- */
- public void writeConfiguration(ProductConfiguration configuration, File file) throws IOException {
- FileOutputStream fout = null;
- try {
- fout = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(fout);
- out.writeObject(configuration);
- } finally {
- if (fout != null)
- fout.close();
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductParser.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductParser.java
deleted file mode 100644
index b33b7e706..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/internal/ProductParser.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.internal;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer.Token;
-
-
-
-/**
- * @author Shawn Minto
- *
- * This class is used to parse the available products to log a bug for
- */
-public class ProductParser
-{
- /** Tokenizer used on the stream */
- private HtmlStreamTokenizer tokenizer;
-
- public ProductParser(Reader in) {
- tokenizer = new HtmlStreamTokenizer(in, null);
- }
-
- /**
- * Parse the product page for the valid products that a bug can be logged for
- * @param in The input stream for the products page
- * @return A list of the products that we can enter bugs for
- * @throws IOException
- * @throws ParseException
- */
- public List<String> getProducts() throws IOException, ParseException, LoginException
- {
- ArrayList<String> products = null;
-
- boolean isTitle = false;
- boolean possibleBadLogin = false;
- String title = "";
-
- for (HtmlStreamTokenizer.Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
-
- // make sure that bugzilla doesn't want us to login
- if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.TITLE && !((HtmlTag)(token.getValue())).isEndTag())
- {
- isTitle = true;
- continue;
- }
-
- if(isTitle)
- {
- // get all of the data in the title tag
- if(token.getType() != Token.TAG)
- {
- title += ((StringBuffer)token.getValue()).toString().toLowerCase() + " ";
- continue;
- }
- else if(token.getType() == Token.TAG && ((HtmlTag)token.getValue()).getTagType() == HtmlTag.Type.TITLE && ((HtmlTag)token.getValue()).isEndTag())
- {
- // compare the title to see if we think that there is a problem with login
- if((title.indexOf("login") != -1 || (title.indexOf("invalid") != -1 && title.indexOf("password") != -1) || title.indexOf("check e-mail") != -1 || title.indexOf("error") != -1))
- possibleBadLogin = true;
- isTitle = false;
- title = "";
- }
- continue;
- }
-
- if (token.getType() == Token.TAG ) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TR)
- {
- token = tokenizer.nextToken();
- if(token.getType() != Token.EOF && token.getType() == Token.TAG)
- {
- tag = (HtmlTag)token.getValue();
- if(tag.getTagType() != HtmlTag.Type.TH)
- continue;
- else
- {
- if(products == null)
- products = new ArrayList<String>();
- parseProducts(products);
-
- }
- }
- continue;
- }
- }
- }
-
- // if we have no products and we suspect a login error, assume that it was a login error
- if(products == null && possibleBadLogin)
- throw new LoginException("Bugzilla login information incorrect");
- return products;
- }
-
- /**
- * Parse the products that we can enter bugs for
- * @param products The list of products to add this new product to
- * @return
- */
- private void parseProducts(List<String> products) throws IOException, ParseException
- {
- StringBuffer sb = new StringBuffer();
-
- for (HtmlStreamTokenizer.Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken())
- {
- if(token.getType() == Token.TAG)
- {
- HtmlTag tag = (HtmlTag)token.getValue();
- if(tag.getTagType() == HtmlTag.Type.TH && tag.isEndTag())
- break;
- }
- else if(token.getType() == Token.TEXT)
- sb.append(token.toString());
- }
-
- String prod = HtmlStreamTokenizer.unescape(sb).toString();
- if(prod.endsWith(":"))
- prod = prod.substring(0, prod.length() - 1);
- products.add(prod);
-
- for (HtmlStreamTokenizer.Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken())
- {
- if(token.getType() == Token.TAG)
- {
- HtmlTag tag = (HtmlTag)token.getValue();
- if(tag.getTagType() == HtmlTag.Type.TR && tag.isEndTag())
- break;
-
- }
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/offline/OfflineReportsFile.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/offline/OfflineReportsFile.java
deleted file mode 100644
index 0b5d94c74..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/offline/OfflineReportsFile.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.offline;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.structuremergeviewer.DiffNode;
-import org.eclipse.compare.structuremergeviewer.Differencer;
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.IOfflineBugListener.BugzillaOfflineStaus;
-import org.eclipse.mylar.bugzilla.core.compare.BugzillaCompareInput;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * Class to persist the data for the offline reports list
- */
-public class OfflineReportsFile
-{
- /** The file that the offline reports are written to */
- private File file;
-
- /** The directory to where the file is located */
- /** A list of offline reports */
- private ArrayList<IBugzillaBug> list = new ArrayList<IBugzillaBug>();
-
-
- /** Sort by bug ID */
- public static final int ID_SORT = 0;
-
- /** Sort by bug type (locally created or not) */
- public static final int TYPE_SORT = 4;
-
- /** Default sort by bug TYPE */
- public static int lastSel = TYPE_SORT;
-
- /** The bug id of the most recently created offline report. */
- protected int latestNewBugId = 0;
-
- /**
- * Constructor that reads the offline reports data persisted in the plugin's state
- * directory, if it exists.
- *
- * @param file
- * The file where the offline reports are persisted
- * @throws IOException
- * Error opening or closing the offline reports file
- * @throws ClassNotFoundException
- * Error deserializing objects from the offline reports file
- */
- public OfflineReportsFile(File file) throws IOException {
- this.file = file;
- if (file.exists()) {
- readFile();
- }
- }
-
- /**
- * Add an offline report to the offline reports list
- * @param entry The bug to add
- */
- public boolean add(IBugzillaBug entry, boolean saveChosen) {
- try{
- BugzillaOfflineStaus status = BugzillaOfflineStaus.SAVED;
- // check for bug and do a compare
- int index = -1;
- if ((index = find(entry.getId())) >= 0) {
- IBugzillaBug oldBug = list.get(index);
- if(oldBug instanceof BugReport && entry instanceof BugReport && !saveChosen){
- CompareConfiguration config = new CompareConfiguration();
- config.setLeftEditable(false);
- config.setRightEditable(false);
- config.setLeftLabel("Local Bug Report");
- config.setRightLabel("Remote Bug Report");
- config.setLeftImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT));
- config.setRightImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT));
- final BugzillaCompareInput in = new BugzillaCompareInput(config);
- in.setLeft((BugReport)oldBug);
- in.setRight((BugReport)entry);
- in.setTitle("Bug #" + oldBug.getId());
-
- try {
- in.run(null);
- // running in new job inside a job causes shell to popup up, losing focus
-// PlatformUI.getWorkbench().getProgressService().run(true, true, in);
- } catch (InterruptedException x) {
- // cancelled by user
- return false;
- } catch (InvocationTargetException x) {
- BugzillaPlugin.log(x);
- MessageDialog.openError(null, "Compare Failed", x.getTargetException().getMessage());
- return false;
- }
-
- if(in.getCompareResult() == null){
- return true;
- } else if(oldBug.hasChanges()){
- if(!MessageDialog.openQuestion(null, "Update Local Copy", "Local copy of Bug# " + entry.getId() + " Has Changes.\nWould you like to override local changes? Note: if you select No, your added comment will be saved with the updated bug, but all other changes will be lost.")){
- ((BugReport)entry).setNewComment(((BugReport)oldBug).getNewComment());
- ((BugReport)entry).setHasChanged(true);
- status = BugzillaOfflineStaus.CONFLICT;
- } else {
- ((BugReport)entry).setHasChanged(false);
- status = BugzillaOfflineStaus.SAVED;
- }
-
- } else {
- DiffNode node = (DiffNode)in.getCompareResult();
- IDiffElement[] children = node.getChildren();
- if(children.length != 0){
- for (IDiffElement element : children) {
- if(((DiffNode)element).getKind() == Differencer.CHANGE){
- status = BugzillaOfflineStaus.SAVED_WITH_INCOMMING_CHANGES;
- break;
- }
- }
- } else {
- return true;
- }
-
- }
- // Display.getDefault().asyncExec(new Runnable(){
- // public void run() {
- //
- // CompareUI.openCompareDialog(in);
- // }
- // });
- }
- list.remove(index);
- }
- if(entry.hasChanges() && status != BugzillaOfflineStaus.CONFLICT){
- status = BugzillaOfflineStaus.SAVED_WITH_OUTGOING_CHANGES;
- }
- // add the entry to the list and write the file to disk
- list.add(entry);
- writeFile();
- BugzillaPlugin.getDefault().fireOfflineStatusChanged(entry, status);
- return true;
- } catch (Exception e) {
- MessageDialog.openError(null, "failed to add of offline reort", e.getMessage());
- }
- return false;
- }
-
- /**
- * Updates the offline reports list.
- * Used when existing offline reports are modified and saved.
- */
- public void update() {
- // check for bug and do a compare
- writeFile();
- }
-
- /**
- * @return The id that a new offline bug should use. The value changes each
- * time this method is called.
- */
- public int getNextOfflineBugId() {
- latestNewBugId++;
- return latestNewBugId;
- }
-
- /**
- * Find a bug in the offline reports list.
- *
- * @param id
- * The bug id that we are looking for
- * @return The index of the bug in the array if it exists, else -1. Locally
- * created bugs are ignored.
- */
- public int find(int id) {
- for (int i = 0; i < list.size(); i++) {
- IBugzillaBug currBug = list.get(i);
- if (currBug != null && (currBug.getId() == id) && !currBug.isLocallyCreated())
- return i;
- }
- return -1;
- }
-
- /**
- * Get the list of offline reports
- * @return The list of offline reports
- */
- public ArrayList<IBugzillaBug> elements() {
- return list;
- }
-
- /**
- * Write the offline reports to disk
- */
- private void writeFile() {
- try {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
-
- // Write the size of the list so that we can read it back in easier
- out.writeInt(list.size());
-
- out.writeInt(latestNewBugId);
-
- // write each element in the array list
- for (int i = 0; i < list.size(); i++) {
- IBugzillaBug item = list.get(i);
- try{
- out.writeObject(item);
- }catch (IOException e) {
- // put up a message and log the error if there is a problem writing to the file
- BugzillaPlugin.log(new Status(Status.WARNING, IBugzillaConstants.PLUGIN_ID, Status.WARNING, "Unable to write bug object: " + item.getId(), e));
- }
- }
- out.close();
- }
- catch (IOException e) {
- // put up a message and log the error if there is a problem writing to the file
- MessageDialog.openError(null,
- "I/O Error",
- "Bugzilla could not write to offline reports file.");
- BugzillaPlugin.log(e);
- }
- }
-
- /**
- * Read the offline reports in from the file on disk
- *
- * @throws IOException
- * Error opening or closing the offline reports file
- * @throws ClassNotFoundException
- * Error deserializing objects from the offline reports file
- */
- private void readFile() throws IOException {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
-
- // get the number of offline reports in the file
- int size = in.readInt();
-
- // get the bug id of the most recently created offline report
- latestNewBugId = in.readInt();
-
- // read in each of the offline reports in the file
- for (int nX = 0; nX < size; nX++) {
- try {
- IBugzillaBug item = (IBugzillaBug) in.readObject();
- // add the offline report to the offlineReports list
- list.add(item);
- } catch (ClassNotFoundException e){
- // ignore this since we can't do anything
- BugzillaPlugin.log(new Status(Status.ERROR, IBugzillaConstants.PLUGIN_ID, Status.ERROR, "Unable to read bug object", e));
- }
- }
- in.close();
- }
-
- /**
- * Remove some bugs from the offline reports list
- * @param indicesToRemove An array of the indicies of the bugs to be removed
- */
- public void remove(List<IBugzillaBug> sel) {
- list.removeAll(sel);
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-
- /**
- * Remove all of the items in the offline reports menu
- */
- public void removeAll() {
- list.clear();
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-
-// /**
-// * Function to sort the offline reports list
-// * @param sortOrder The way to sort the bugs in the offline reports list
-// */
-// public void sort(int sortOrder) {
-// IBugzillaBug[] a = list.toArray(new IBugzillaBug[list.size()]);
-//
-// // decide which sorting method to use and sort the offline reports
-// switch(sortOrder) {
-// case ID_SORT:
-// Arrays.sort(a, new SortID());
-// lastSel = ID_SORT;
-// break;
-// case TYPE_SORT:
-// Arrays.sort(a, new SortType());
-// lastSel = TYPE_SORT;
-// break;
-// }
-//
-// // remove all of the elements from the list so that we can re-add
-// // them in a sorted order
-// list.clear();
-//
-// // add the sorted elements to the list and the table
-// for (int j = 0; j < a.length; j++) {
-// add(a[j]);
-// }
-// }
-
-// /**
-// * Inner class to sort by bug id
-// */
-// private class SortID implements Comparator<IBugzillaBug> {
-// public int compare(IBugzillaBug f1, IBugzillaBug f2) {
-// Integer id1 = f1.getId();
-// Integer id2 = f2.getId();
-//
-// if(id1 != null && id2 != null)
-// return id1.compareTo(id2);
-// else if(id1 == null && id2 != null)
-// return -1;
-// else if(id1 != null && id2 == null)
-// return 1;
-// else
-// return 0;
-// }
-// }
-//
-// /**
-// * Inner class to sort by bug type (locally created or from the server)
-// */
-// private class SortType implements Comparator<IBugzillaBug> {
-// public int compare(IBugzillaBug f1, IBugzillaBug f2) {
-// boolean isLocal1 = f1.isLocallyCreated();
-// boolean isLocal2 = f2.isLocallyCreated();
-//
-// if (isLocal1 && !isLocal2) {
-// return -1;
-// }
-// else if (!isLocal1 && isLocal2) {
-// return 1;
-// }
-//
-// // If they are both the same type, sort by ID
-// Integer id1 = f1.getId();
-// Integer id2 = f2.getId();
-//
-// if(id1 != null && id2 != null)
-// return id1.compareTo(id2);
-// else if(id1 == null && id2 != null)
-// return -1;
-// else if(id1 != null && id2 == null)
-// return 1;
-// else
-// return 0;
-// }
-// }
-
- /**
- * Saves the given report to the offlineReportsFile, or, if it already
- * exists in the file, updates it.
- *
- * @param bug
- * The bug to add/update.
- */
- public static void saveOffline(IBugzillaBug bug, boolean saveChosen) {
- 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 {
- int index = -1;
- // If there is already an offline report with the same id, don't save this report.
- 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;
- }
- file.add(bug, saveChosen);
- bug.setOfflineState(true);
-// file.sort(OfflineReportsFile.lastSel);
- }
- }
-
- 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) {
- ArrayList<IBugzillaBug> bugList = new ArrayList<IBugzillaBug>();
- bugList.add(bug);
- BugzillaPlugin.getDefault().getOfflineReports().remove(bugList);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaContentProvider.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaContentProvider.java
deleted file mode 100644
index 0fb2ae641..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-
-/**
- * An abstract implementation of a content provider for a Bugzilla search.
- * @see org.eclipse.jface.viewers.IContentProvider
- */
-public abstract class BugzillaContentProvider implements IStructuredContentProvider {
-
- /** An empty array of objects */
- protected final Object[] EMPTY_ARR= new Object[0];
-
- /** The Bugzilla search result for this content provider */
- protected AbstractTextSearchResult bugResult;
-
- public void dispose() {
- // nothing to do
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- if (newInput instanceof BugzillaSearchResult) {
- initialize((BugzillaSearchResult) newInput);
- }
- }
-
- /**
- * Initializes the content provider with the given search result.
- * @param result The search result to use with this content provider
- */
- protected void initialize(AbstractTextSearchResult result) {
- bugResult= result;
- }
-
- /**
- * This method is called whenever the set of matches for the given elements changes.
- * @param updatedElements The array of objects that has to be refreshed
- * @see @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#elementsChanged(java.lang.Object[])
- */
- public abstract void elementsChanged(Object[] updatedElements);
-
- /**
- * Clears the viewer.
- */
- public abstract void clear();
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaIdSearchSorter.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaIdSearchSorter.java
deleted file mode 100644
index fcc3bb457..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaIdSearchSorter.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-
-
-/**
- * Sorts results of Bugzilla search by bug id.
- */
-public class BugzillaIdSearchSorter extends ViewerSorter {
-
- /**
- * Returns a negative, zero, or positive number depending on whether the
- * first bug's id is less than, equal to, or greater than the second bug's
- * id.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- try {
- // cast the object and get its bug id
- IMarker entry1 = (IMarker) e1;
- Integer id1 = (Integer) entry1.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_ID);
-
- // cast the other object and get its bug id
- IMarker entry2 = (IMarker) e2;
- Integer id2 = (Integer) entry2.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_ID);
-
- // if neither is null, compare the bug id's
- if (id1 != null && id2 != null) {
- return id1.compareTo(id2);
- }
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default compare method
- return super.compare(viewer, e1, e2);
- }
-
- /**
- * Returns the category of the given element. The category is a number used
- * to allocate elements to bins; the bins are arranged in ascending numeric
- * order. The elements within a bin are arranged via a second level sort
- * criterion.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#category(Object)
- */
- @Override
- public int category(Object element) {
- try {
- IMarker marker = (IMarker) element;
-
- // return the bugs id
- if (marker.getType().equals(IBugzillaConstants.HIT_MARKER_ID)) {
- return ((Integer)marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID)).intValue();
- }
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default category method
- return super.category(element);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaLabelProvider.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaLabelProvider.java
deleted file mode 100644
index 23fe8d0e8..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaLabelProvider.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-
-/**
- * Label provider for Bugzilla search items.
- */
-public class BugzillaLabelProvider extends LabelProvider
-{
- /** A list of the default severity labels */
- private static final String [] severityLabel = {"blocker", "critical", "major", "normal", "minor", "trivial", "enhancement"};
-
- /** A list of the default priority labels */
- private static final String [] priorityLabel = {"P1", "P2", "P3", "P4", "P5", "--"};
-
- /** A list of the default state labels */
- private static final String [] stateLabel = {"Unconfirmed", "New", "Assigned", "Reopened", "Resolved", "Verified", "Closed"};
-
- /** A list of the default result labels */
- private static final String [] resultLabel = {"", "fixed", "invalid", "wont fix", "later", "remind", "duplicate", "works for me"};
-
- /**
- * Returns the text for the label of the given element.
- *
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object element) {
- if (element instanceof IMarker) {
-
- try {
- IMarker marker = (IMarker) element;
-
- // get the severity of the bug
- String severity = severityLabel[((Integer) marker
- .getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY))
- .intValue()];
-
- // get the priority of the bug
- String priority = priorityLabel[((Integer) marker
- .getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY))
- .intValue()];
-
- // get the state of the bug
- String state = stateLabel[((Integer) marker
- .getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_STATE))
- .intValue()];
-
- // get the resolution of the bug
- String result = resultLabel[((Integer) marker
- .getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_RESULT))
- .intValue()];
-
- // return a string containing the information about the bug to
- // be displayed
- // in the searh window
- String assignedTo = HtmlStreamTokenizer.unescape(marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_OWNER).toString());
- String description = HtmlStreamTokenizer.unescape(marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_DESC).toString());
- return "Bug "
- + marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID)
- + " ("
- + severity
- + " - "
- + priority
- + " - "
- + state
- + (result.length() > 0 ? " " + result : "")
- + ") "
- + " - "
- + description
- + " ("
- + assignedTo
- + ") ";
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
- }
-
- // return an empty string if there is a problem
- return "";
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaPrioritySearchSorter.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaPrioritySearchSorter.java
deleted file mode 100644
index c0e899b1a..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaPrioritySearchSorter.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-
-
-/**
- * Sorts results of Bugzilla search by bug priority.
- */
-public class BugzillaPrioritySearchSorter extends ViewerSorter {
-
- /**
- * Returns a negative, zero, or positive number depending on whether the
- * first bug's priority goes before, is the same as, or goes after the
- * second element's priority.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- try {
- // cast the object and get the bugs priority
- IMarker entry1 = (IMarker) e1;
- Integer pr1 = (Integer) entry1.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY);
-
- // cast the other object and get the bugs priority
- IMarker entry2 = (IMarker) e2;
- Integer pr2 = (Integer) entry2.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY);
-
- // if neither is null, compare the bug priority
- if (pr1 != null && pr2 != null) {
- return pr1.compareTo(pr2);
- }
- }
- catch (Exception ignored) {
- // do nothing
- }
-
- // if that didn't work, use the default compare method
- return super.compare(viewer, e1, e2);
- }
-
- /**
- * Returns the category of the given element. The category is a number used
- * to allocate elements to bins; the bins are arranged in ascending numeric
- * order. The elements within a bin are arranged via a second level sort
- * criterion.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#category(Object)
- */
- @Override
- public int category(Object element) {
- try {
- IMarker marker = (IMarker) element;
-
- // return the bugs id
- if (marker.getType().equals(IBugzillaConstants.HIT_MARKER_ID)) {
- return ((Integer)marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID)).intValue();
- }
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default category method
- return super.category(element);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaQueryPageParser.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaQueryPageParser.java
deleted file mode 100644
index b788acaf5..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaQueryPageParser.java
+++ /dev/null
@@ -1,513 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.text.ParseException;
-import java.util.ArrayList;
-
-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.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlTag;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer.Token;
-
-
-/**
- * Class to parse the update data from the server
- *
- * author: kvesik
- *
- * created on: Feb 25, 2003
- *
- */
-public class BugzillaQueryPageParser
-{
- /** The name of the bugzilla server */
- private String urlString;
-
- /** The input stream */
- private BufferedReader in = null;
-
- /** True if the operation was successful */
- private boolean successful;
-
- /** Exception to be displayed if there was an error*/
- private Exception exception;
-
- /** The progress monitor for the update */
- private IProgressMonitor monitor;
-
- /** Selection lists as ArrayLists */
- private ArrayList<String> statusValues = new ArrayList<String>();
- private ArrayList<String> preselectedStatusValues = new ArrayList<String>();
- private ArrayList<String> resolutionValues = new ArrayList<String>();
- private ArrayList<String> severityValues = new ArrayList<String>();
- private ArrayList<String> priorityValues = new ArrayList<String>();
- private ArrayList<String> hardwareValues = new ArrayList<String>();
- private ArrayList<String> osValues = new ArrayList<String>();
- private ArrayList<String> productValues = new ArrayList<String>();
- private ArrayList<String> componentValues = new ArrayList<String>();
- private ArrayList<String> versionValues = new ArrayList<String>();
- private ArrayList<String> targetValues = new ArrayList<String>();
-
- /**
- * Constructor
- * @param monitor The progress monitor for the update
- */
- public BugzillaQueryPageParser(IProgressMonitor monitor) throws LoginException
- {
- this.monitor = monitor;
-
-
- // get the servers url
- urlString = BugzillaPlugin.getDefault().getServerName() + "/query.cgi";
-
- // if we are dealing with 2.18 we need to use the folowing in the
- // query string to get the right search page
- if(BugzillaPreferences.is218()){
- urlString += "?format=advanced";
- }
-
- // use the user name and password if we have it
- if(BugzillaPreferences.getUserName() != null && !BugzillaPreferences.getUserName().equals("") && BugzillaPreferences.getPassword() != null && !BugzillaPreferences.getPassword().equals(""))
- {
- try {
- // if we are dealing with 2.18 we already have the ? from before so we need
- // an & instead. If other version, still add ?
- if(BugzillaPreferences.is218())
- urlString+="&";
- else
- urlString+="?";
-
- urlString += "GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8");
- }
- catch (UnsupportedEncodingException e) {
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- }
-
- successful = false;
-
- // try to get the new options from the page
- parseDocument();
- if (!successful) {
- if (exception instanceof MalformedURLException) {
- MessageDialog.openError(null, "Unsupported Protocol", "The server that was specified for Bugzilla is not supported by your JVM.\nPlease make sure that you are using a JDK that supports SSL.");
- }
- else {
- // if there was a problem with the operation, display an error message
- ErrorDialog.openError( null,
- "Incomplete operation",
- "Bugzilla could not complete the the update.",
- new Status( IStatus.ERROR,
- IBugzillaConstants.PLUGIN_ID,
- IStatus.OK,
- exception.getMessage(),
- exception));
- }
- }
- }
-
- /**
- * Get whether the update was successful
- * @return <code>true</code> if the update was successful
- */
- public boolean wasSuccessful()
- {
- return successful;
- }
-
- /**
- * Parse the data from the server for the query options
- */
- private void parseDocument() throws LoginException {
- try {
- // if the operation has been cancelled already, return
- if (monitor.isCanceled()) {
- monitor.done();
- return;
- }
-
- // try to connect to the server
- monitor.subTask("Connecting to server");
-
- URL url = new URL(this.urlString);
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(url);
- if(cntx != null){
- InputStream input = cntx.getInputStream();
- if(input != null) {
-
- monitor.worked(1);
-
- // initialize the input stream
- in = new BufferedReader(new InputStreamReader(input));
-
- // increment the position of the status monitor
- monitor.worked(2);
-
- // check if the operation has been cancelled so we can end if it has been
- if (monitor.isCanceled())
- monitor.done();
- else
- monitor.subTask("Reading values from server");
-
- // parse the data from the server
- parseQueryPage(in);
-
- // set the operation to being successful
- successful = true;
- }
- }
-
- }
- catch (LoginException e) {
- throw e;
- }
- catch (Exception e) {
- // if we can't connect, log the problem and save the exception to handle later
- monitor.done();
- exception = e;
- BugzillaPlugin.log(new Status( IStatus.ERROR,
- IBugzillaConstants.PLUGIN_ID,
- IStatus.OK,
- "Failed to create URL and open input stream: " + urlString,
- e));
- return;
- }
- finally {
- try {
- if (in != null)
- in.close();
- } catch (IOException exitAnyway) {
- in = null;
- }
- }
- }
-
- /**
- * Check if all of the lists of options are empty
- * @return true if all of the options lists are empty
- */
- private boolean allListsEmpty() {
- return statusValues.isEmpty() && preselectedStatusValues.isEmpty()
- && resolutionValues.isEmpty() && severityValues.isEmpty()
- && priorityValues.isEmpty() && hardwareValues.isEmpty()
- && osValues.isEmpty() && productValues.isEmpty()
- && componentValues.isEmpty() && versionValues.isEmpty()
- && targetValues.isEmpty();
- }
-
- /**
- * Get the new status values
- * @return An array of the new status values
- */
- public String[] getStatusValues() {
- String[] array = new String[statusValues.size()];
-
- // create the array and return it
- for (int i = 0; i < statusValues.size(); i++)
- array[i] = statusValues.get(i);
- return array;
- }
-
- /**
- * Get the new preselected status values
- * @return An array of the new preselected status values
- */
- public String[] getPreselectedStatusValues() {
- String[] array = new String[preselectedStatusValues.size()];
-
- // create the array and return it
- for (int i = 0; i < preselectedStatusValues.size(); i++)
- array[i] = preselectedStatusValues.get(i);
- return array;
- }
-
- /**
- * Get the new resolution values
- * @return An array of the new resolution values
- */
- public String[] getResolutionValues() {
- String[] array = new String[resolutionValues.size()];
-
- // create the array and return it
- for (int i = 0; i < resolutionValues.size(); i++)
- array[i] = resolutionValues.get(i);
- return array;
- }
-
- /**
- * Get the new severity values
- * @return An array of the new severity values
- */
- public String[] getSeverityValues() {
- String[] array = new String[severityValues.size()];
-
- // create the array and return it
- for (int i = 0; i < severityValues.size(); i++)
- array[i] = severityValues.get(i);
- return array;
- }
-
- /**
- * Get the new priority values
- * @return An array of the new priority values
- */
- public String[] getPriorityValues() {
- String[] array = new String[priorityValues.size()];
-
- // create the array and return it
- for (int i = 0; i < priorityValues.size(); i++)
- array[i] = priorityValues.get(i);
- return array;
- }
-
- /**
- * Get the new hardware values
- * @return An array of the new hardware values
- */
- public String[] getHardwareValues() {
- String[] array = new String[hardwareValues.size()];
-
- // create the array and return it
- for (int i = 0; i < hardwareValues.size(); i++)
- array[i] = hardwareValues.get(i);
- return array;
- }
-
- /**
- * Get the new OS values
- * @return An array of the new OS values
- */
- public String[] getOSValues() {
- String[] array = new String[osValues.size()];
-
- // create the array and return it
- for (int i = 0; i < osValues.size(); i++)
- array[i] = osValues.get(i);
- return array;
- }
-
- /**
- * Get the new product values
- * @return An array of the new product values
- */
- public String[] getProductValues() {
- String[] array = new String[productValues.size()];
-
- // create the array and return it
- for (int i = 0; i < productValues.size(); i++)
- array[i] = productValues.get(i);
- return array;
- }
-
- /**
- * Get the new component values
- * @return An array of the new component values
- */
- public String[] getComponentValues() {
- String[] array = new String[componentValues.size()];
-
- // create the array and return it
- for (int i = 0; i < componentValues.size(); i++)
- array[i] = componentValues.get(i);
- return array;
- }
-
- /**
- * Get the new version values
- * @return An array of the new version values
- */
- public String[] getVersionValues() {
- String[] array = new String[versionValues.size()];
-
- // create the array and return it
- for (int i = 0; i < versionValues.size(); i++)
- array[i] = versionValues.get(i);
- return array;
- }
-
- /**
- * Get the new milestone values
- * @return An array of the new milestone values
- */
- public String[] getTargetValues() {
- String[] array = new String[targetValues.size()];
-
- // create the array and return it
- for (int i = 0; i < targetValues.size(); i++)
- array[i] = targetValues.get(i);
- return array;
- }
-
- /**
- * Parse the bugzilla query.cgi page for some seach options
- * @param inputReader The input stream for the page
- * @throws LoginException
- * @throws ParseException
- * @throws IOException
- */
- private void parseQueryPage(Reader inputReader) throws LoginException, ParseException, IOException
- {
- HtmlStreamTokenizer tokenizer = new HtmlStreamTokenizer(inputReader, null);
-
- boolean isTitle = false;
- boolean possibleBadLogin = false;
- String title = "";
-
- for (HtmlStreamTokenizer.Token token = tokenizer.nextToken(); token.getType() != Token.EOF; token = tokenizer.nextToken()) {
-
- // make sure that bugzilla doesn't want us to login
- if(token.getType() == Token.TAG && ((HtmlTag)(token.getValue())).getTagType() == HtmlTag.Type.TITLE && !((HtmlTag)(token.getValue())).isEndTag()) {
- isTitle = true;
- continue;
- }
-
- if (isTitle) {
- // get all of the data in the title tag to compare with
- if (token.getType() != Token.TAG) {
- title += ((StringBuffer)token.getValue()).toString().toLowerCase() + " ";
- continue;
- }
- else if (token.getType() == Token.TAG && ((HtmlTag)token.getValue()).getTagType() == HtmlTag.Type.TITLE && ((HtmlTag)token.getValue()).isEndTag()) {
- // check if the title looks like we may have a problem with login
- if ((title.indexOf("login") != -1 || (title.indexOf("invalid") != -1 && title.indexOf("password") != -1) || title.indexOf("check e-mail") != -1 || title.indexOf("error") != -1))
- possibleBadLogin = true;
- isTitle = false;
- title = "";
- }
- continue;
- }
-
- // we have found the start of attribute values
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.TD && "left".equalsIgnoreCase(tag.getAttribute("align"))) {
- // parse the attribute values
- parseAttributeValue(tokenizer);
- continue;
- }
- }
- }
-
- // if all of the lists are empty and we suspect bad login info, assume that it was a bad login
- if (possibleBadLogin && allListsEmpty())
- throw new LoginException("Bugzilla login information incorrect");
- }
-
- /**
- * Parse the case where the attribute value is an option
- * @param parameterName The name of the attribute value
- * @param tokenizer The tokenizer to get data from the stream
- * @throws IOException
- * @throws ParseException
- */
- private void parseSelect(
- String parameterName,
- HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
-
- HtmlStreamTokenizer.Token token = tokenizer.nextToken();
- while (token.getType() != Token.EOF) {
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.SELECT && tag.isEndTag()) break;
- if (tag.getTagType() == HtmlTag.Type.OPTION && !tag.isEndTag()) {
- String optionName = tag.getAttribute("value");
- boolean selected = tag.hasAttribute("selected");
- StringBuffer optionText = new StringBuffer();
- for (token = tokenizer.nextToken(); token.getType() == Token.TEXT; token = tokenizer.nextToken()) {
- if (optionText.length() > 0) {
- optionText.append(' ');
- }
- optionText.append((StringBuffer) token.getValue());
- }
- // add the value to the appropriate list of attributes
- if (parameterName.equals("bug_status")) {
- statusValues.add(optionName);
-
- // check if the status is to be preselected or not
- if (selected)
- preselectedStatusValues.add(optionName);
- }
- else if (parameterName.equals("resolution"))
- resolutionValues.add(optionName);
- else if (parameterName.equals("bug_severity"))
- severityValues.add(optionName);
- else if (parameterName.equals("priority"))
- priorityValues.add(optionName);
- else if (parameterName.equals("rep_platform"))
- hardwareValues.add(optionName);
- else if (parameterName.equals("op_sys"))
- osValues.add(optionName);
- else if (parameterName.equals("product"))
- productValues.add(optionName);
- else if (parameterName.equals("component"))
- componentValues.add(optionName);
- else if (parameterName.equals("version"))
- versionValues.add(optionName);
- else if (parameterName.equals("target_milestone"))
- targetValues.add(optionName);
- }
- else {
- token = tokenizer.nextToken();
- }
- }
- else {
- token = tokenizer.nextToken();
- }
- }
- }
-
- /**
- * Parse the case where we think we found an attribute value
- * @param tokenizer The tokenizer to get the data from the stream
- * @throws IOException
- * @throws ParseException
- */
- private void parseAttributeValue(
- HtmlStreamTokenizer tokenizer)
- throws IOException, ParseException {
-
- HtmlStreamTokenizer.Token token = tokenizer.nextToken();
- if (token.getType() == Token.TAG) {
- HtmlTag tag = (HtmlTag) token.getValue();
- if (tag.getTagType() == HtmlTag.Type.SELECT && !tag.isEndTag()) {
- String parameterName = tag.getAttribute("name");
- parseSelect(parameterName, tokenizer);
- }
- else if (tag.getTagType() == HtmlTag.Type.LABEL && !tag.isEndTag()) {
- parseAttributeValue(tokenizer);
- }
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchEngine.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchEngine.java
deleted file mode 100644
index ef4ab7d33..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchEngine.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.mylar.bugzilla.core.BugzillaException;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.search.ui.NewSearchUI;
-
-import com.sun.org.apache.xerces.internal.impl.xpath.regex.Match;
-import com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression;
-
-/**
- * Queries the Bugzilla server for the list of bugs matching search criteria.
- */
-public class BugzillaSearchEngine {
-
- protected static final String QUERYING_SERVER = "Querying Bugzilla Server...";
-
- /** regular expression matching Bugzilla query results format used in Eclipse.org Bugzilla */
- protected static final RegularExpression re = new RegularExpression("<a href=\"show_bug.cgi\\?id=(\\d+)\">", "i");
-
- /** regular expression matching values of query matches' attributes in Eclipse.org Bugzilla */
- protected static final RegularExpression reValue = new RegularExpression("<td><nobr>([^<]*)</nobr>");
-
- /** regular expression matching Bugzilla query results format used in v2.12 */
- protected static final RegularExpression reOld = new RegularExpression("<a href=\"show_bug.cgi\\?id=(\\d+)\">\\d+</a>\\s*<td class=severity><nobr>([^>]+)</nobr><td class=priority><nobr>([^>]+)</nobr><td class=platform><nobr>([^>]*)</nobr><td class=owner><nobr>([^>]*)</nobr><td class=status><nobr>([^>]*)</nobr><td class=resolution><nobr>([^>]*)</nobr><td class=summary>(.*)$", "i");
-
- private String urlString;
-
- private boolean maxReached = false;
-
- public BugzillaSearchEngine(String url) {
- this.urlString = url;
-
- // use the username and password if we have it to log into bugzilla
- if(BugzillaPreferences.getUserName() != null && !BugzillaPreferences.getUserName().equals("") && BugzillaPreferences.getPassword() != null && !BugzillaPreferences.getPassword().equals(""))
- {
- try {
- url += "&GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- }
- }
-
- /**
- * Wrapper for search
- * @param collector - The collector for the results to go into
- */
- public IStatus search(IBugzillaSearchResultCollector collector) throws LoginException
- {
- return this.search(collector, 0, -1);
- }
-
- /**
- * Wrapper for search
- * @param collector - The collector for the results to go into
- * @param startMatches - The number of matches to start with for the progress monitor
- */
- public IStatus search(IBugzillaSearchResultCollector collector, int startMatches) throws LoginException
- {
- return this.search(collector, startMatches, BugzillaPlugin.getDefault().getMaxResults());
- }
-
- /**
- * Executes the query, parses the response, and adds hits to the search result collector.
- *
- * <p>
- * The output for a single match looks like this:
- * <pre>
- * <tr class="bz_enhancement bz_P5 ">
- *
- * <td>
- * <a href="show_bug.cgi?id=6747">6747</a>
- * </td>
- *
- * <td><nobr>enh</nobr>
- * </td>
- * <td><nobr>P5</nobr>
- * </td>
- * <td><nobr>All</nobr>
- * </td>
- * <td><nobr>Olivier_Thomann@oti.com</nobr>
- * </td>
- * <td><nobr>ASSI</nobr>
- * </td>
- * <td><nobr></nobr>
- * </td>
- * <td>Code Formatter exchange several blank lines w/ one
- * </td>
- *
- * </tr>
- * <pre>
- *
- * <p>Or in the older format:
- * <pre>
- * <A HREF="show_bug.cgi?id=8">8</A> <td class=severity><nobr>blo</nobr><td class=priority><nobr>P1</nobr><td class=platform><nobr>PC</nobr><td class=owner><nobr>cubranic@cs.ubc.ca</nobr><td class=status><nobr>CLOS</nobr><td class=resolution><nobr>DUPL</nobr><td class=summary>"Document root" missing when querying on files and revisions
- * </pre>
- * @param collector - The collector for the search results
- * @param startMatches - The number of matches to start with for the progress monitor
- * @param maxMatches - the maximum number of matches to return or -1 for unlimited
- */
- public IStatus search(IBugzillaSearchResultCollector collector, int startMatches, int maxMatches) throws LoginException {
- IProgressMonitor monitor = collector.getProgressMonitor();
-
- IStatus status = null;
-
- boolean possibleBadLogin = false;
- int numCollected = 0;
-
- BufferedReader in = null;
-
- try {
- monitor.beginTask(QUERYING_SERVER, IProgressMonitor.UNKNOWN);
- collector.aboutToStart(startMatches);
-
- URLConnection cntx = BugzillaPlugin.getDefault().getUrlConnection(new URL(urlString));
- if(cntx == null || !(cntx instanceof HttpURLConnection))
- return null;
-
- HttpURLConnection connect = (HttpURLConnection) cntx;
-
- connect.connect();
-
- int responseCode = connect.getResponseCode();
-
- if(responseCode != HttpURLConnection.HTTP_OK)
- {
- String msg;
- if(responseCode == -1 || responseCode == HttpURLConnection.HTTP_FORBIDDEN)
- msg = BugzillaPlugin.getDefault().getServerName() + " does not seem to be a valid Bugzilla server. Check Bugzilla preferences.";
- else
- msg = "HTTP Error " + responseCode + " (" + connect.getResponseMessage() + ") while querying Bugzilla Server. Check Bugzilla preferences.";
-
- throw new BugzillaException(msg);
- }
-
- if (monitor.isCanceled()) {
- throw new OperationCanceledException("Search cancelled");
- }
-
- in = new BufferedReader(new InputStreamReader(connect.getInputStream()));
-
- if (monitor.isCanceled()) {
- throw new OperationCanceledException("Search cancelled");
- }
-
- Match match = new Match();
- String line;
- while ((line = in.readLine()) != null) {
-
-
- if(maxMatches != -1 && numCollected >= maxMatches){
- maxReached = true;
- break;
- }
-
- if (monitor.isCanceled()) {
- throw new OperationCanceledException("Search cancelled");
- }
-
- // create regular expressions that can be mathced to check if we have
- // bad login information
- RegularExpression loginRe = new RegularExpression("<title>.*login.*</title>.*");
- RegularExpression invalidRe = new RegularExpression(".*<title>.*invalid.*password.*</title>.*");
- RegularExpression passwordRe = new RegularExpression(".*<title>.*password.*invalid.*</title>.*");
- RegularExpression emailRe = new RegularExpression(".*<title>.*check e-mail.*</title>.*");
- RegularExpression errorRe = new RegularExpression(".*<title>.*error.*</title>.*");
-
- String lowerLine = line.toLowerCase();
-
- // check if we have anything that suggests bad login info
- if(loginRe.matches(lowerLine) || invalidRe.matches(lowerLine) || passwordRe.matches(lowerLine) || emailRe.matches(lowerLine) || errorRe.matches(lowerLine))
- possibleBadLogin = true;
-
- if (reOld.matches(line, match)) {
- int id = Integer.parseInt(match.getCapturedText(1));
- String severity = match.getCapturedText(2);
- String priority = match.getCapturedText(3);
- String platform = match.getCapturedText(4);
- String owner = match.getCapturedText(5);
- String state = match.getCapturedText(6);
- String result = match.getCapturedText(7);
- String description = match.getCapturedText(8);
- String query = BugzillaPlugin.getMostRecentQuery();
- if (query == null)
- query = "";
-
- String server = BugzillaPlugin.getDefault().getServerName();
-
- BugzillaSearchHit hit = new BugzillaSearchHit(id, description, severity, priority, platform, state, result, owner, query, server);
- collector.accept(hit);
- numCollected++;
- }
- else if (re.matches(line, match)) {
- int id = Integer.parseInt(match.getCapturedText(1));
- String severity = null;
- String priority = null;
- String platform = null;
- String owner = null;
- String state = null;
- String result = null;
- for (int i = 0; i < 6; i++) {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException("Search cancelled");
- }
- do {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException("Search cancelled");
- }
- line = in.readLine().trim();
- if (line == null) break;
- line = line.trim();
- } while (!reValue.matches(line, match));
- switch (i) {
- case 0:
- severity = match.getCapturedText(1);
- break;
- case 1:
- priority = match.getCapturedText(1);
- break;
- case 2:
- platform = match.getCapturedText(1);
- break;
- case 3:
- owner = match.getCapturedText(1);
- break;
- case 4:
- state = match.getCapturedText(1);
- break;
- case 5:
- result = match.getCapturedText(1);
- break;
- }
- }
-
- // two more
- line = in.readLine();
- line = in.readLine();
-
- String description = line.substring(8);
- String query = BugzillaPlugin.getMostRecentQuery();
- if (query == null)
- query = "";
-
- String server = BugzillaPlugin.getDefault().getServerName();
-
- BugzillaSearchHit hit = new BugzillaSearchHit(id, description, severity, priority, platform, state, result, owner, query, server);
- collector.accept(hit);
- numCollected++;
- }
- if (monitor.isCanceled()) {
- throw new OperationCanceledException("Search cancelled");
- }
- }
- }catch (CoreException e) {
- status = new MultiStatus( IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, "Core Exception occurred while querying Bugzilla Server " + BugzillaPlugin.getDefault().getServerName() + ".\n"
- + "\nClick Details for more information.", e);
- ((MultiStatus)status).add(e.getStatus());
-
- // write error to log
- BugzillaPlugin.log(status);
- }
- catch (OperationCanceledException e) {
- status = new Status(IStatus.CANCEL, IBugzillaConstants.PLUGIN_ID,
- IStatus.CANCEL, "", null);
- }catch (Exception e) {
- status = new MultiStatus( IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + " occurred while querying Bugzilla Server " + BugzillaPlugin.getDefault().getServerName() + ".\n"
- + "\nClick Details or see log for more information.", e);
-
- IStatus s = new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + ": ", e);
- ((MultiStatus)status).add(s);
- s = new Status (IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e);
- ((MultiStatus)status).add(s);
-
- // write error to log
- BugzillaPlugin.log(status);
-
- } finally {
- monitor.done();
- collector.done();
- try{
- if(in != null)
- in.close();
- }catch(IOException e)
- {
- BugzillaPlugin.log(new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID,IStatus.ERROR,"Problem closing the stream", e));
- }
- }
-
- // if we haven't collected any serach results and we suspect a bad login, we assume it was a bad login
- if(numCollected == 0 && possibleBadLogin)
- throw new LoginException("Bugzilla login information incorrect");
-
- if(status == null)
- return new Status(IStatus.OK, NewSearchUI.PLUGIN_ID, IStatus.OK, "", null);
- else
- return status;
- }
-
- public boolean isMaxReached() {
- return maxReached;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchHit.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchHit.java
deleted file mode 100644
index 9f35d5c0d..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchHit.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-
-
-/**
- * An item in the Bugzilla database matching the search criteria.
- */
-public class BugzillaSearchHit
-{
- /** The server that the result was from */
- private String server;
-
- /** The bug id */
- private int id;
-
- /** The description of the bug */
- private String description;
-
- /** The severity of the bug */
- private String severity;
-
- /** The priority of the bug */
- private String priority;
-
- /** The platform that the bug was found in */
- private String platform;
-
- /** The state of the bug */
- private String state;
-
- /** The resolution of the bug */
- private String result;
-
- /** The owner of the bug */
- private String owner;
-
- /** The query that the bug was a result of */
- private String query;
-
- /**
- * Constructor
- * @param id The id of the bug
- * @param description The description of the bug
- * @param severity The severity of the bug
- * @param priority The priority of the bug
- * @param platform The platform the bug was found in
- * @param state The state of the bug
- * @param result The resolution of the bug
- * @param owner The owner of the bug
- * @param query the query that the bug was a result of
- */
- public BugzillaSearchHit(int id, String description, String severity, String priority, String platform, String state, String result, String owner, String query, String server)
- {
- this.id = id;
- this.description = description;
- this.severity = severity;
- this.priority = priority;
- this.platform = platform;
- this.state = state;
- this.result = result;
- this.owner = owner;
- this.query = query;
- this.server = server;
- }
-
- /**
- * Get the bugs server
- * @return The server the bug resides on
- */
- public String getServer()
- {
- return server;
- }
-
- /**
- * Get the bugs id
- * @return The bugs id
- */
- public int getId()
- {
- return id;
- }
-
- /**
- * Get the bugs description
- * @return The description of the bug
- */
- public String getDescription()
- {
- return description;
- }
-
- /**
- * Get the bugs priority
- * @return The priority of the bug
- */
- public String getPriority()
- {
- return priority;
- }
-
- /**
- * Get the bugs severity
- * @return The severity of the bug
- */
- public String getSeverity()
- {
- return severity;
- }
-
- /**
- * Get the platform the bug occurred under
- * @return The platform that the bug occured under
- */
- public String getPlatform()
- {
- return platform;
- }
-
- /**
- * Get the bugs state
- * @return The state of the bug
- */
- public String getState()
- {
- return state;
- }
-
- /**
- * Get the bugs resolution
- * @return The resolution of the bug
- */
- public String getResult()
- {
- return result;
- }
-
- /**
- * Get the bugs owner
- * @return The owner of the bug
- */
- public String getOwner()
- {
- return owner;
- }
-
- /**
- * Get the query that the bug was a result of
- * @return The query that the bug was a result of
- */
- public String getQuery()
- {
- return query;
- }
-
- @Override
- public String toString()
- {
- return id + " " + description + "\n";
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchOperation.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchOperation.java
deleted file mode 100644
index 36f900ef5..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchOperation.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-/**
- * An operation to perform Bugzilla search query.
- */
-public class BugzillaSearchOperation extends WorkspaceModifyOperation implements IBugzillaSearchOperation
-{
- /** The url of the bugzilla server */
- private String url;
-
- /** The bugzilla collector for the search */
- private IBugzillaSearchResultCollector collector;
-
- /** The bugzilla search query */
- private BugzillaSearchQuery query;
-
- /** The status of the search operation */
- private IStatus status;
-
- /** The LoginException that was thrown when trying to do the search */
- private LoginException loginException = null;
-
- private int maxHits;
-
- /**
- * Constructor
- * @param url The url of the bugzilla server
- * @param collector The bugzilla search collector to use for this search
- */
- public BugzillaSearchOperation(String url, IBugzillaSearchResultCollector collector, String maxHits)
- {
- this.url = url;
- this.collector = collector;
- collector.setOperation(this);
- try{
- this.maxHits = Integer.parseInt(maxHits);
- } catch (Exception e){
- this.maxHits = -1;
- }
- }
-
- @Override
- public void execute(IProgressMonitor monitor) {
- // set the progress monitor for the search collector and start the search
- collector.setProgressMonitor(monitor);
- BugzillaSearchEngine engine = new BugzillaSearchEngine(url);
- try
- {
- status = engine.search(collector, 0 , maxHits);
- }
- catch(LoginException e) {
- //save this exception to throw later
- this.loginException = e;
- }
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation#getImageDescriptor()
- */
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation#getStatus()
- */
- public IStatus getStatus() throws LoginException {
- // if a LoginException was thrown while trying to search, throw this
- if (loginException == null)
- return status;
- else
- throw loginException;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation#getQuery()
- */
- public BugzillaSearchQuery getQuery() {
- return query;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation#setQuery(org.eclipse.mylar.bugzilla.core.search.BugzillaSearchQuery)
- */
- public void setQuery(BugzillaSearchQuery newQuery) {
- this.query = newQuery;
- }
-
- public String getName() {
- return null;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchQuery.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchQuery.java
deleted file mode 100644
index a332c4d41..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchQuery.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * This class performs a search query on Bugzilla bug reports.
- * @see org.eclipse.search.ui.ISearchQuery
- */
-public class BugzillaSearchQuery implements ISearchQuery {
-
- /** The collection of all the bugzilla matches. */
- private BugzillaSearchResult bugResult;
-
- /** The operation that performs the Bugzilla search query. */
- private IBugzillaSearchOperation operation;
-
- /**
- * Constructor
- * @param operation The operation that performs the Bugzilla search query.
- */
- public BugzillaSearchQuery(IBugzillaSearchOperation operation) {
- this.operation = operation;
- operation.setQuery(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchQuery#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus run(IProgressMonitor monitor) throws OperationCanceledException {
- final IStatus[] status = new IStatus[1];
- final AbstractTextSearchResult textResult= (AbstractTextSearchResult) getSearchResult();
- textResult.removeAll(); // Remove any existing search results from the view.
-
- try {
- operation.execute(monitor);
- status[0] = operation.getStatus();
-
- if (status[0].getCode() == IStatus.CANCEL) {
- status[0] = Status.OK_STATUS;
- }
- else if (!status[0].isOK()) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){
- public void run(){
- ErrorDialog.openError(null, "Bugzilla Search Error", null, status[0]);
- }
- });
- status[0] = Status.OK_STATUS;
- }
- }
- catch(LoginException e) {
- // we had a problem while searching that seems like a login info problem
- // thrown in BugzillaSearchOperation
- 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(new Status( IStatus.ERROR,
- IBugzillaConstants.PLUGIN_ID, IStatus.OK, "", e));
- }
- return status[0];
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchQuery#getLabel()
- */
- public String getLabel() {
- return BugzillaSearchEngine.QUERYING_SERVER;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchQuery#canRerun()
- */
- public boolean canRerun() {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchQuery#canRunInBackground()
- */
- public boolean canRunInBackground() {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchQuery#getSearchResult()
- */
- public ISearchResult getSearchResult() {
- if (bugResult == null) {
- bugResult= new BugzillaSearchResult(this);
- }
- return bugResult;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResult.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResult.java
deleted file mode 100644
index df13f51db..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResult.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.search.internal.ui.SearchPluginImages;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.IEditorMatchAdapter;
-import org.eclipse.search.ui.text.IFileMatchAdapter;
-
-
-
-/**
- * The collection of all the bugzilla matches.
- * @see org.eclipse.search.ui.text.AbstractTextSearchResult
- */
-public class BugzillaSearchResult extends AbstractTextSearchResult{
-
- /**
- * The query producing this result.
- */
- private BugzillaSearchQuery bugQuery;
-
- /**
- * Constructor for <code>BugzillaSearchResult</code> class.
- *
- * @param query <code>BugzillaSearchQuery</code> that is producing this result.
- */
- public BugzillaSearchResult(BugzillaSearchQuery query) {
- super();
- bugQuery = query;
- }
-
- @Override
- public IEditorMatchAdapter getEditorMatchAdapter() {
- IBugzillaResultEditorMatchAdapter adapter = BugzillaPlugin.getResultEditorMatchAdapter();
- if(adapter == null){
- return null;
- } else {
- adapter.setResult(this);
- return adapter;
- }
- }
-
- /**
- * This function always returns <code>null</code>, as the matches for this implementation of <code>AbstractTextSearchResult</code> never contain files.
- * @see org.eclipse.search.ui.text.AbstractTextSearchResult#getFileMatchAdapter()
- */
- @Override
- public IFileMatchAdapter getFileMatchAdapter() {
- return null;
- }
-
-
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchResult#getLabel()
- */
- public String getLabel() {
- return getMatchCount() == 1 ? getSingularLabel() : getPluralLabel();
- }
-
- /**
- * Get the singular label for the number of results
- * @return The singular label
- */
- protected String getSingularLabel() {
- return "Bugzilla search - 1 match";
- }
-
- /**
- * Get the plural label for the number of results
- * @return The plural label
- */
- protected String getPluralLabel() {
- return "Bugzilla search - " + getMatchCount() + " matches";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchResult#getTooltip()
- */
- public String getTooltip() {
- return getLabel();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchResult#getImageDescriptor()
- */
- public ImageDescriptor getImageDescriptor() {
- return SearchPluginImages.DESC_OBJ_TSEARCH_DPDN;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.search.ui.ISearchResult#getQuery()
- */
- public ISearchQuery getQuery() {
- return bugQuery;
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResultCollector.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResultCollector.java
deleted file mode 100644
index aa70a722b..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSearchResultCollector.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-
-
-/**
- * Collects results of a Bugzilla search and inserts them into the search results view.
- */
-public class BugzillaSearchResultCollector implements IBugzillaSearchResultCollector
-{
- /** The bugzilla search operation */
- private IBugzillaSearchOperation operation;
-
- /** The collection of all the bugzilla matches */
- private BugzillaSearchResult searchResult;
-
- /** The progress monitor for the search operation */
- private IProgressMonitor monitor;
-
- /** The number of matches found */
- private int matchCount;
-
- /** The string to display to the user while querying */
- private static final String STARTING = "querying the server";
-
- /** The string to display to the user when we have 1 match */
- private static final String MATCH = "1 match";
-
- /** The string to display to the user when we have multiple or no matches */
- private static final String MATCHES = "{0} matches";
-
- /** The string to display to the user when the query is done */
- private static final String DONE = "done";
-
- /** Resource used to create markers */
- private static final IResource resource = ResourcesPlugin.getWorkspace().getRoot();
-
- // TODO Find a better way to get the states and severity
-
- /** Array of severities for a bug */
- private static final String [] severity = {"blo", "cri", "maj", "nor", "min", "tri", "enh"};
-
- /** Array of priorities for a bug */
- private static final String [] priority = {"P1", "P2", "P3", "P4", "P5", "--"};
-
- /** Array of possible states of a bug */
- private static final String [] state = {"UNCO", "NEW", "ASSI", "REOP", "RESO", "VERI", "CLOS"};
-
- /** Array of the possible resolutions of the bug */
- private static final String [] result = {"", "FIXE", "INVA", "WONT", "LATE", "REMI", "DUPL", "WORK"};
-
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#aboutToStart(int)
- */
- public void aboutToStart(int startMatchCount) throws CoreException
- {
- NewSearchUI.activateSearchResultView();
- matchCount = startMatchCount;
- searchResult = (BugzillaSearchResult) getOperation().getQuery().getSearchResult();
-
- // set the progress monitor to say that we are querying the server
- monitor.setTaskName(STARTING);
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#accept(org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit)
- */
- public void accept(BugzillaSearchHit hit) throws CoreException
- {
- // set the markers to have the bugs attributes
- IMarker marker = resource.createMarker(IBugzillaConstants.HIT_MARKER_ID);
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID, new Integer(hit.getId()));
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_DESC, hit.getDescription());
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY, mapValue(hit.getSeverity(), severity));
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY, mapValue(hit.getPriority(), priority));
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_PLATFORM, hit.getPlatform());
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_STATE, mapValue(hit.getState(), state));
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_RESULT, mapValue(hit.getResult(), result));
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_OWNER, hit.getOwner());
- marker.setAttribute(IBugzillaConstants.HIT_MARKER_ATTR_QUERY, hit.getQuery());
-
- // Add the match to the search results view.
- // The offset and length of the match are both 0, since the match is the
- // bug report itself, not a subset of it.
- searchResult.addMatch(new Match(marker, 0, 0));
-
- // increment the match count
- matchCount++;
-
- if (!getProgressMonitor().isCanceled())
- {
- // if the operation is cancelled finish with whatever data was already found
- getProgressMonitor().subTask(getFormattedMatchesString(matchCount));
- getProgressMonitor().worked(1);
- }
- }
-
- /**
- * Returns a map where BugReport's attributes are entered into a Map using the same
- * key/value pairs as those created on a search hit marker.
- */
- public static Map<String, Object> getAttributeMap(BugReport bug) {
- HashMap<String, Object> map = new HashMap<String, Object>();
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_ID, new Integer(bug.getId()));
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_DESC, bug.getDescription());
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY, mapValue(bug.getAttribute("Severity").getValue(), severity));
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY, mapValue(bug.getAttribute("Priority").getValue(), priority));
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_PLATFORM, bug.getAttribute("Hardware").getValue());
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_STATE, mapValue(bug.getStatus(), state));
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_RESULT, mapValue(bug.getResolution(), result));
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_OWNER, bug.getAssignedTo());
- map.put(IBugzillaConstants.HIT_MARKER_ATTR_QUERY, "");
- return map;
- }
-
- /**
- * Get the map value for the given <code>String</code> value
- * @param value The value that we are trying to map
- * @param map The map that we are using
- * @return The map value
- */
- private static Integer mapValue(String value, String [] map)
- {
- // go through each element in the map
- for (int i = 0; i < map.length; i++)
- {
- // if we found the value, return the position in the map
- if (map[i].equals(value))
- {
- return new Integer(i);
- }
- }
-
- // return null if we didn't find anything
- return null;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#done()
- */
- public void done()
- {
- if (!monitor.isCanceled())
- {
- // if the operation is cancelled, finish with the data that we already have
- String matchesString= getFormattedMatchesString(matchCount);
- monitor.setTaskName(MessageFormat.format(DONE, new Object[]{matchesString}));
- }
-
- // Cut no longer used references because the collector might be re-used
- monitor = null;
- searchResult = null;
- }
-
- /**
- * Get the string specifying the number of matches found
- * @param count The number of matches found
- * @return The <code>String</code> specifying the number of matches found
- */
- private String getFormattedMatchesString(int count)
- {
- // if only 1 match, return the singular match string
- if (count == 1)
- return MATCH;
-
- // format the matches string and return it
- Object[] messageFormatArgs = {new Integer(count)};
- return MessageFormat.format(MATCHES, messageFormatArgs);
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#getProgressMonitor()
- */
- public IProgressMonitor getProgressMonitor()
- {
- return monitor;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
- */
- public void setProgressMonitor(IProgressMonitor monitor)
- {
- this.monitor = monitor;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#getOperation()
- */
- public IBugzillaSearchOperation getOperation()
- {
- return operation;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#setOperation(org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation)
- */
- public void setOperation(IBugzillaSearchOperation operation)
- {
- this.operation = operation;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSeveritySearchSorter.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSeveritySearchSorter.java
deleted file mode 100644
index f652e764c..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaSeveritySearchSorter.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-
-
-/**
- * Sorts results of Bugzilla search by bug severity.
- */
-public class BugzillaSeveritySearchSorter extends ViewerSorter {
-
- /**
- * Returns a negative, zero, or positive number depending on whether the
- * first bug's severity goes before, is the same as, or goes after the
- * second element's severity.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- @Override
- public int compare(Viewer viewer, Object e1, Object e2)
- {
- try
- {
- // cast the object and get its severity
- IMarker entry1 = (IMarker) e1;
- Integer severity1 = (Integer) entry1.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY);
-
- // cast the other object and get its severity
- IMarker entry2 = (IMarker) e2;
- Integer severity2 = (Integer) entry2.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY);
-
- // if neither is null, compare the bugs severities
- if (severity1 != null && severity2 != null)
- {
- return severity1.compareTo(severity2);
- }
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default compare method
- return super.compare(viewer, e1, e2);
- }
-
- /**
- * Returns the category of the given element. The category is a number used
- * to allocate elements to bins; the bins are arranged in ascending numeric
- * order. The elements within a bin are arranged via a second level sort
- * criterion.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#category(Object)
- */
- @Override
- public int category(Object element)
- {
- try
- {
- IMarker marker = (IMarker)element;
-
- // return the bugs id
- if (marker.getType().equals(IBugzillaConstants.HIT_MARKER_ID))
- {
- return ((Integer)marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID)).intValue();
- }
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default category method
- return super.category(element);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaStateSearchSorter.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaStateSearchSorter.java
deleted file mode 100644
index d0cbe726c..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/BugzillaStateSearchSorter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-
-
-/**
- * Sorts results of Bugzilla search by bug state.
- */
-public class BugzillaStateSearchSorter extends ViewerSorter {
-
- /**
- * Returns a negative, zero, or positive number depending on whether the
- * first bug's state goes before, is the same as, or goes after the second
- * element's state.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- @Override
- public int compare(Viewer viewer, Object e1, Object e2)
- {
- try
- {
- // cast the object and get its state
- IMarker entry1 = (IMarker) e1;
- Integer state1 = (Integer) entry1.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_STATE);
-
- // cast the other object and get its state
- IMarker entry2 = (IMarker) e2;
- Integer state2 = (Integer) entry2.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_STATE);
-
- // if neither is null, compare the bugs states
- if (state1 != null && state2 != null)
- {
- // compare the states
- int rc = state1.compareTo(state2);
-
- // compare the resolution if the states are the same
- if (rc == 0)
- {
- // get the resolution of the bug
- Integer result1 = (Integer) entry1.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_RESULT);
-
- // get the resolution of the other bug
- Integer result2 = (Integer) entry2.getAttribute(
- IBugzillaConstants.HIT_MARKER_ATTR_RESULT);
-
- // if neither state is null, compare them
- if (result1 != null && result2 != null)
- {
- rc = result1.compareTo(result2);
- }
- }
- return rc;
- }
-
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default compare method
- return super.compare(viewer, e1, e2);
- }
-
- /**
- * Returns the category of the given element. The category is a number used
- * to allocate elements to bins; the bins are arranged in ascending numeric
- * order. The elements within a bin are arranged via a second level sort
- * criterion.
- * <p>
- *
- * @see org.eclipse.jface.viewers.ViewerSorter#category(Object)
- */
- @Override
- public int category(Object element)
- {
- try
- {
- IMarker marker = (IMarker)element;
-
- // return the bugs id
- if (marker.getType().equals(IBugzillaConstants.HIT_MARKER_ID))
- {
- return ((Integer)marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID)).intValue();
- }
- }
- catch (Exception ignored) {
- // ignore if there is a problem
- }
-
- // if that didn't work, use the default category method
- return super.category(element);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaResultEditorMatchAdapter.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaResultEditorMatchAdapter.java
deleted file mode 100644
index 4ba325eb1..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaResultEditorMatchAdapter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.core.search;
-
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.IEditorMatchAdapter;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorPart;
-
-public interface IBugzillaResultEditorMatchAdapter extends IEditorMatchAdapter {
-
- public boolean isShownInEditor(Match match, IEditorPart editor);
-
- public Match[] computeContainedMatches(AbstractTextSearchResult result,
- IEditorPart editor);
-
- public void setResult(BugzillaSearchResult result);
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchOperation.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchOperation.java
deleted file mode 100644
index 136b81084..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchOperation.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Interface for the bugzilla search operation
- * @author Shawn Minto
- */
-public interface IBugzillaSearchOperation extends IRunnableWithProgress
-{
- /**
- * Execute the search
- * @see org.eclipse.ui.actions.WorkspaceModifyOperation#execute(IProgressMonitor)
- */
- public void execute(IProgressMonitor monitor);
-
- /**
- * Get the status of the search operation
- * @return The status of the search operation
- * @throws LoginException
- */
- public IStatus getStatus() throws LoginException;
-
- /**
- * Get the image descriptor for the operation
- * @return <code>null</code>
- */
- public ImageDescriptor getImageDescriptor();
-
- /**
- * Get the bugzilla search query
- * @return The bugzilla search query
- */
- public BugzillaSearchQuery getQuery();
-
- /**
- * Sets the bugzilla search query
- * @param newQuery The bugzilla search query to be set
- */
- public void setQuery(BugzillaSearchQuery newQuery);
-
- public String getName();
-}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchResultCollector.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchResultCollector.java
deleted file mode 100644
index 9411d88eb..000000000
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/bugzilla/core/search/IBugzillaSearchResultCollector.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.core.search;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Interface for the bugzilla search result collector.
- * @author Shawn Minto
- */
-public interface IBugzillaSearchResultCollector
-{
-
- /**
- * Called before the actual search starts
- * @param startCount - The starting count for the number of matches
- * @throws CoreException
- */
- public void aboutToStart(int startCount) throws CoreException;
-
- /**
- * Accept a search hit and add it as a match and set the markers
- * @param hit The search hit that was a match
- * @throws CoreException
- */
- public void accept(BugzillaSearchHit hit) throws CoreException;
-
- /**
- * Called when the search has ended.
- */
- public void done();
-
- /**
- * Get the progress monitor for the search
- * @return The progress monitor
- */
- public IProgressMonitor getProgressMonitor();
-
- /**
- * Set the progress monitor
- * @param monitor The progress monitor the search should use
- */
- public void setProgressMonitor(IProgressMonitor monitor);
-
- /**
- * Set the current search operation
- * @param operation The operation to set the search to
- */
- public void setOperation(IBugzillaSearchOperation operation);
-
- /**
- * Get the current operation
- * @return The current search operation
- */
- public IBugzillaSearchOperation getOperation();
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/.classpath b/org.eclipse.mylyn.bugzilla.tests/.classpath
deleted file mode 100644
index 065ac06e1..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.bugzilla.tests/.cvsignore b/org.eclipse.mylyn.bugzilla.tests/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.mylyn.bugzilla.tests/.project b/org.eclipse.mylyn.bugzilla.tests/.project
deleted file mode 100644
index 9187a2826..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.bugzilla.test</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.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4600f7389..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Jun 30 08:32:16 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index b8871b684..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:41:41 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.bugzilla.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.bugzilla.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 19aa146c7..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Bugzilla Tests Plug-in
-Bundle-SymbolicName: org.eclipse.mylar.bugzilla.test
-Bundle-Version: 0.0.0
-Bundle-Activator: org.eclipse.mylar.bugzilla.test.BugzillaTestPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.junit,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.ui.editors,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.mylar.bugzilla.core,
- org.eclipse.mylar.bugzilla.ui
-Eclipse-AutoStart: true
-Bundle-Vendor: Eclipse.org
-Export-Package: org.eclipse.mylar.bugzilla.test
-Bundle-ClassPath: bugzilla-test.jar
diff --git a/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-1-full.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-1-full.html
deleted file mode 100644
index 00fd1bcb7..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-1-full.html
+++ /dev/null
@@ -1,719 +0,0 @@
-<!-- 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/TestPages/bug-not-found-eclipse.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-eclipse.html
deleted file mode 100644
index 156212e5e..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-eclipse.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!-- 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/TestPages/bug-not-found-hipikat.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-hipikat.html
deleted file mode 100644
index e6261be5d..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/bug-not-found-hipikat.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!-- 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/TestPages/cdt-page.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/cdt-page.html
deleted file mode 100644
index 3a1d20fdb..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/cdt-page.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!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/TestPages/equinox-page.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/equinox-page.html
deleted file mode 100644
index 1c8fdf57d..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/equinox-page.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!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/TestPages/gmt-page.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/gmt-page.html
deleted file mode 100644
index 951b86ccd..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/gmt-page.html
+++ /dev/null
@@ -1,175 +0,0 @@
-<!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/TestPages/hipikat-copy-bug-1-full.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/hipikat-copy-bug-1-full.html
deleted file mode 100644
index 6390fcc9a..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/hipikat-copy-bug-1-full.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<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/TestPages/platform-page.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/platform-page.html
deleted file mode 100644
index d41b5c84d..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/platform-page.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!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/TestPages/product-page-1-product-hipikat.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/product-page-1-product-hipikat.html
deleted file mode 100644
index 53805b2d2..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/product-page-1-product-hipikat.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!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/TestPages/product-page.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/product-page.html
deleted file mode 100644
index f45028d4b..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/product-page.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<!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">First, you must pick a product on which to enter a bug.</td>
- </tr>
- </tbody></table>
-
-<table>
-
- <tbody><tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT">AJDT</a>:
- </th>
-
- <td valign="top">&nbsp;AJDT Development Tools</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">AspectJ</a>:
- </th>
-
- <td valign="top">&nbsp;AspectJ Development Tools</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT">CDT</a>:
- </th>
-
- <td valign="top">&nbsp;C/C++ Development Toolkit</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CME">CME</a>:
- </th>
-
- <td valign="top">&nbsp;CME Technology</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=ECESIS">ECESIS</a>:
- </th>
-
- <td valign="top">&nbsp;Eclipse Techology Open Courseware Project</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EMF">EMF</a>:
- </th>
-
- <td valign="top">&nbsp;Eclipse Modelling Framework</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox">Equinox</a>:
- </th>
-
- <td valign="top">&nbsp;Eclipse Runtime Exploration</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=GEF">GEF</a>:
- </th>
-
- <td valign="top">&nbsp;Graphical Editing Framework</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=GMT">GMT</a>:
- </th>
-
- <td valign="top">&nbsp;Generative Model Generator</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Hyades">Hyades</a>:
- </th>
-
- <td valign="top">&nbsp;Automated Software Quality Tools</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=JDT">JDT</a>:
- </th>
-
- <td valign="top">&nbsp;Java Development Toolkit</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=PDE">PDE</a>:
- </th>
-
- <td valign="top">&nbsp;Plugin Development Environment</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Platform">Platform</a>:
- </th>
-
- <td valign="top">&nbsp;Eclipse Platform</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Stellation">Stellation</a>:
- </th>
-
- <td valign="top">&nbsp;Stellation Project</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=UML2">UML2</a>:
- </th>
-
- <td valign="top">&nbsp;UML2 Tools</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=VE">VE</a>:
- </th>
-
- <td valign="top">&nbsp;Visual Editor Tools</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=WSVT">WSVT</a>:
- </th>
-
- <td valign="top">&nbsp;Web Service Validation Tools</td>
- </tr>
- <tr>
- <th align="right" valign="top">
- <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=XSD">XSD</a>:
- </th>
-
- <td valign="top">&nbsp;XML Schema Infoset Model</td>
- </tr>
-
-</tbody></table>
-<!-- 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>
-
- </td>
-
- <td>&nbsp;</td>
-
- <td valign="middle" 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> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.tests/TestPages/ve-page.html b/org.eclipse.mylyn.bugzilla.tests/TestPages/ve-page.html
deleted file mode 100644
index e5423da71..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/TestPages/ve-page.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!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/about.html b/org.eclipse.mylyn.bugzilla.tests/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.tests/build.properties b/org.eclipse.mylyn.bugzilla.tests/build.properties
deleted file mode 100644
index 579fd5261..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# 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/,\
- TestPages/,\
- 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,\
- TestPages/,\
- META-INF/
diff --git a/org.eclipse.mylyn.bugzilla.tests/plugin.xml b/org.eclipse.mylyn.bugzilla.tests/plugin.xml
deleted file mode 100644
index 80e8dd15c..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-</plugin>
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/AllTests.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/AllTests.java
deleted file mode 100644
index b880cd7ac..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/AllTests.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-//TODO add tests for 2.18 bugzilla
-
-/**
- * @author tanya
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class AllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite("Test for org.eclipse.mylar.bugzilla.test");
- //$JUnit-BEGIN$
- suite.addTest(new TestSuite(BugzillaNewBugParserTestCDT.class));
- suite.addTest(new TestSuite(BugzillaNewBugParserTestEquinox.class));
- suite.addTest(new TestSuite(BugzillaNewBugParserTestGMT.class));
- suite.addTest(new TestSuite(BugzillaNewBugParserTestPlatform.class));
- suite.addTest(new TestSuite(BugzillaNewBugParserTestVE.class));
- suite.addTest(new TestSuite(BugzillaParserTest.class));
- suite.addTest(new TestSuite(BugzillaParserTestNoBug.class));
- suite.addTest(new TestSuite(
- BugzillaProductParser1ProductHipikatTest.class));
- suite.addTest(new TestSuite(BugzillaProductParserTest.class));
- //$JUnit-END$
- return suite;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestCDT.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestCDT.java
deleted file mode 100644
index 5b3cc9fee..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestCDT.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.internal.NewBugParser;
-
-
-/**
- * Tests NewBugParser -- parses product attributes for new bug reports
- */
-public class BugzillaNewBugParserTestCDT extends TestCase {
-
- public BugzillaNewBugParserTestCDT() {
- super();
- }
-
- public BugzillaNewBugParserTestCDT(String arg0) {
- super(arg0);
- }
-
- public void testProductCDT() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/cdt-page.html"));
-
- Reader in = new FileReader(f);
-
- NewBugModel nbm = new NewBugModel();
- new NewBugParser(in).parseBugAttributes(nbm, true); // ** TRUE vs FALSE **
-
- // attributes for this bug model
- List<Attribute> attributes = nbm.getAttributes();
-// printList(attributes);
-
- Iterator<Attribute> itr = attributes.iterator();
- Attribute att = itr.next();
-
- // Attribute: Severity
- assertEquals("Attribute: Severity", "Severity", att.getName());
-
- Map<String, String> attOptions = att.getOptionValues(); // HashMap of
- // options for the
- // current
- // attribute
- Object[] options = attOptions.keySet().toArray(); // Array of keys for
- // the options of the
- // current attribute
- assertEquals("# Severity options", 7, options.length);
-
- int i = 0;
- while (i < options.length) {
- assertEquals("severity options", "blocker", options[i++]);
- assertEquals("severity options", "critical", options[i++]);
- assertEquals("severity options", "major", options[i++]);
- assertEquals("severity options", "normal", options[i++]);
- assertEquals("severity options", "minor", options[i++]);
- assertEquals("severity options", "trivial", options[i++]);
- assertEquals("severity options", "enhancement", options[i++]);
- }
-
- // Attribute: product
- att = itr.next();
- assertEquals("Attribute: product", "product", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No product options", 0, options.length);
-
- // Attribute: AssignedTo
- att = itr.next();
- assertEquals("Attribute: AssignedTo", "AssignedTo", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No AssignedTo options", 0, options.length);
-
- // Attribute: OS
- att = itr.next();
- assertEquals("Attribute: OS", "OS", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("# of options", 20, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("OS options", "All", options[i++]);
- assertEquals("OS options", "AIX Motif", options[i++]);
- assertEquals("OS options", "Windows 95", options[i++]);
- assertEquals("OS options", "Windows 98", options[i++]);
- assertEquals("OS options", "Windows CE", options[i++]);
- assertEquals("OS options", "Windows ME", options[i++]);
- assertEquals("OS options", "Windows 2000", options[i++]);
- assertEquals("OS options", "Windows NT", options[i++]);
- assertEquals("OS options", "Windows XP", options[i++]);
- assertEquals("OS options", "Windows All", options[i++]);
- assertEquals("OS options", "MacOS X", options[i++]);
- assertEquals("OS options", "Linux", options[i++]);
- assertEquals("OS options", "Linux-GTK", options[i++]);
- assertEquals("OS options", "Linux-Motif", options[i++]);
- assertEquals("OS options", "HP-UX", options[i++]);
- assertEquals("OS options", "Neutrino", options[i++]);
- assertEquals("OS options", "QNX-Photon", options[i++]);
- assertEquals("OS options", "Solaris", options[i++]);
- assertEquals("OS options", "Unix All", options[i++]);
- assertEquals("OS options", "other", options[i++]);
- }
-
- // Attribute: Version
- att = itr.next();
- assertEquals("Attribute: Version", "Version", att.getName());
-
- //attOptions = (HashMap) att.getOptionValues();
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Version options", 5, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Version options", "1.0", options[i++]);
- assertEquals("Version options", "1.0.1", options[i++]);
- assertEquals("Version options", "1.1", options[i++]);
- assertEquals("Version options", "1.2", options[i++]);
- assertEquals("Version options", "2.0", options[i++]);
- }
-
- // Attribute: Platform
- att = itr.next();
- assertEquals("Attribute: Platform", "Platform", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Platform options", 6, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Platform options", "All", options[i++]);
- assertEquals("Platform options", "Macintosh", options[i++]);
- assertEquals("Platform options", "PC", options[i++]);
- assertEquals("Platform options", "Power PC", options[i++]);
- assertEquals("Platform options", "Sun", options[i++]);
- assertEquals("Platform options", "Other", options[i++]);
- }
-
- // Attribute: Component
- att = itr.next();
- assertEquals("Attribute: Component", "Component", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Component options", 9, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Component options", "CDT-parser", options[i++]);
- assertEquals("Component options", "Core", options[i++]);
- assertEquals("Component options", "Cpp-Extensions", options[i++]);
- assertEquals("Component options", "Debug", options[i++]);
- assertEquals("Component options", "Debug-MI", options[i++]);
- assertEquals("Component options", "Doc", options[i++]);
- assertEquals("Component options", "Generic-Extensions",
- options[i++]);
- assertEquals("Component options", "Launcher", options[i++]);
- assertEquals("Component options", "UI", options[i++]);
- }
-
- // Attribute: bug_status
- att = itr.next();
- assertEquals("Attribute: bug_status", "bug_status", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# bug_status options [none]", 0, options.length);
-
- // Attribute: form_name
- att = itr.next();
- assertEquals("Attribute: form_name", "form_name", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No form_name options", 0, options.length);
-
- // Attribute: bug_file_loc
- att = itr.next();
- assertEquals("Attribute: bug_file_loc", "bug_file_loc", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_file_loc options", 0, options.length);
-
- // Attribute: priority
- att = itr.next();
- assertEquals("Attribute: priority", "priority", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No priority options", 0, options.length);
-
- }
-
-// private void printList(List<Attribute> attributes) {
-//
-// Iterator<Attribute> itr = attributes.iterator();
-// System.out.println("Attributes for this Product:");
-// System.out.println("============================");
-//
-// while (itr.hasNext()) {
-// Attribute attr = itr.next();
-// System.out.println();
-// System.out.println(attr.getName() + ": ");
-// System.out.println("-----------");
-//
-// Map<String, String> options = attr.getOptionValues();
-// Object[] it = options.keySet().toArray();
-// for (int i = 0; i < it.length; i++)
-// System.out.println((String) it[i]);
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestEquinox.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestEquinox.java
deleted file mode 100644
index 19242b085..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestEquinox.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.internal.NewBugParser;
-
-
-/**
- * Tests NewBugParser -- parses product attributes
- */
-public class BugzillaNewBugParserTestEquinox extends TestCase {
-
- public BugzillaNewBugParserTestEquinox() {
- super();
- }
-
- public BugzillaNewBugParserTestEquinox(String arg0) {
- super(arg0);
- }
-
- public void testProductEquinox() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/equinox-page.html"));
-
- Reader in = new FileReader(f);
-
- NewBugModel nbm = new NewBugModel();
- new NewBugParser(in).parseBugAttributes(nbm, true); // ** TRUE vs FALSE **
-
- // attributes for this bug model
- List<Attribute> attributes = nbm.getAttributes();
-// printList(attributes);
-
- Iterator<Attribute> itr = attributes.iterator();
- Attribute att = itr.next();
-
- // Attribute: Severity
- assertEquals("Attribute: Severity", "Severity", att.getName());
-
- Map<String, String> attOptions = att.getOptionValues(); // HashMap of
- // options for the
- // current
- // attribute
- Object[] options = attOptions.keySet().toArray(); // Array of keys for
- // the options of the
- // current attribute
- assertEquals("# Severity options", 7, options.length);
-
- int i = 0;
- while (i < options.length) {
- assertEquals("severity options", "blocker", options[i++]);
- assertEquals("severity options", "critical", options[i++]);
- assertEquals("severity options", "major", options[i++]);
- assertEquals("severity options", "normal", options[i++]);
- assertEquals("severity options", "minor", options[i++]);
- assertEquals("severity options", "trivial", options[i++]);
- assertEquals("severity options", "enhancement", options[i++]);
- }
-
- // Attribute: product
- att = itr.next();
- assertEquals("Attribute: prodcut", "product", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No product options", 0, options.length);
-
- // Attribute: AssignedTo
- att = itr.next();
- assertEquals("Attribute: AssignedTo", "AssignedTo", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No AssignedTo options", 0, options.length);
-
- // Attribute: OS
- att = itr.next();
- assertEquals("Attribute: OS", "OS", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# OS options", 20, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("OS options", "All", options[i++]);
- assertEquals("OS options", "AIX Motif", options[i++]);
- assertEquals("OS options", "Windows 95", options[i++]);
- assertEquals("OS options", "Windows 98", options[i++]);
- assertEquals("OS options", "Windows CE", options[i++]);
- assertEquals("OS options", "Windows ME", options[i++]);
- assertEquals("OS options", "Windows 2000", options[i++]);
- assertEquals("OS options", "Windows NT", options[i++]);
- assertEquals("OS options", "Windows XP", options[i++]);
- assertEquals("OS options", "Windows All", options[i++]);
- assertEquals("OS options", "MacOS X", options[i++]);
- assertEquals("OS options", "Linux", options[i++]);
- assertEquals("OS options", "Linux-GTK", options[i++]);
- assertEquals("OS options", "Linux-Motif", options[i++]);
- assertEquals("OS options", "HP-UX", options[i++]);
- assertEquals("OS options", "Neutrino", options[i++]);
- assertEquals("OS options", "QNX-Photon", options[i++]);
- assertEquals("OS options", "Solaris", options[i++]);
- assertEquals("OS options", "Unix All", options[i++]);
- assertEquals("OS options", "other", options[i++]);
- }
-
- // Attribute: Version
- att = itr.next();
- assertEquals("Attribute: Version", "Version", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Version options", 1, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Version options", "unspecified", options[i++]);
- }
-
- // Attribute: Platform
- att = itr.next();
- assertEquals("Attribute: Platform", "Platform", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Platform options", 6, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Platform options", "All", options[i++]);
- assertEquals("Platform options", "Macintosh", options[i++]);
- assertEquals("Platform options", "PC", options[i++]);
- assertEquals("Platform options", "Power PC", options[i++]);
- assertEquals("Platform options", "Sun", options[i++]);
- assertEquals("Platform options", "Other", options[i++]);
- }
-
- // Attribute: Component
- att = itr.next();
- assertEquals("Attribute: Component", "Component", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Component options", 3, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Component options", "Dynamic Plugins", options[i++]);
- assertEquals("Component options", "General", options[i++]);
- assertEquals("Component options", "OSGi", options[i++]);
- }
-
- // Attribute: bug_status
- att = itr.next();
- assertEquals("Attribute: bug_status", "bug_status", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_status options", 0, options.length);
-
- // Attribute: form_name
- att = itr.next();
- assertEquals("Attribute: form_name", "form_name", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No form_name options", 0, options.length);
-
- // Attribute: bug_file_loc
- att = itr.next();
- assertEquals("Attribute: bug_file_loc", "bug_file_loc", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_file_loc options", 0, options.length);
-
- // Attribute: priority
- att = itr.next();
- assertEquals("Attribute: priority", "priority", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No priority options", 0, options.length);
-
- }
-
-// private void printList(List<Attribute> attributes) {
-//
-// Iterator<Attribute> itr = attributes.iterator();
-// System.out.println("Attributes for this Product:");
-// System.out.println("============================");
-//
-// while (itr.hasNext()) {
-// Attribute attr = itr.next();
-// System.out.println();
-// System.out.println(attr.getName() + ": ");
-// System.out.println("-----------");
-//
-// Map<String, String> options = attr.getOptionValues();
-// Object[] it = options.keySet().toArray();
-// for (int i = 0; i < it.length; i++)
-// System.out.println((String) it[i]);
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestGMT.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestGMT.java
deleted file mode 100644
index 493787200..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestGMT.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.internal.NewBugParser;
-
-
-/**
- * Tests NewBugParser -- parses product attributes
- */
-public class BugzillaNewBugParserTestGMT extends TestCase {
-
- public BugzillaNewBugParserTestGMT() {
- super();
- }
-
- public BugzillaNewBugParserTestGMT(String arg0) {
- super(arg0);
- }
-
- public void testProductGMT() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/gmt-page.html"));
-
- Reader in = new FileReader(f);
-
- NewBugModel nbm = new NewBugModel();
- new NewBugParser(in).parseBugAttributes(nbm, true); // ** TRUE vs FALSE **
-
- // attributes for this bug model
- List<Attribute> attributes = nbm.getAttributes();
-// printList(attributes);
-
- Iterator<Attribute> itr = attributes.iterator();
- Attribute att = itr.next();
-
- // Attribute: Severity
- assertEquals("Attribute: Severity", "Severity", att.getName());
-
- Map<String, String> attOptions = att.getOptionValues(); // HashMap of
- // options for the
- // current
- // attribute
- Object[] options = attOptions.keySet().toArray(); // Array of keys for
- // the options of the
- // current attribute
- assertEquals("# Severity options", 7, options.length);
-
- int i = 0;
- while (i < options.length) {
- assertEquals("severity options", "blocker", options[i++]);
- assertEquals("severity options", "critical", options[i++]);
- assertEquals("severity options", "major", options[i++]);
- assertEquals("severity options", "normal", options[i++]);
- assertEquals("severity options", "minor", options[i++]);
- assertEquals("severity options", "trivial", options[i++]);
- assertEquals("severity options", "enhancement", options[i++]);
- }
-
- // Attribute: product
- att = itr.next();
- assertEquals("Attribute: product", "product", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No product options", 0, options.length);
-
- // Attribute: AssignedTo
- att = itr.next();
- assertEquals("Attribute: AssignedTo", "AssignedTo", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No AssignedTo options", 0, options.length);
-
- // Attribute: OS
- att = itr.next();
- assertEquals("Attribute: OS", "OS", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("# of options", 20, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("OS options", "All", options[i++]);
- assertEquals("OS options", "AIX Motif", options[i++]);
- assertEquals("OS options", "Windows 95", options[i++]);
- assertEquals("OS options", "Windows 98", options[i++]);
- assertEquals("OS options", "Windows CE", options[i++]);
- assertEquals("OS options", "Windows ME", options[i++]);
- assertEquals("OS options", "Windows 2000", options[i++]);
- assertEquals("OS options", "Windows NT", options[i++]);
- assertEquals("OS options", "Windows XP", options[i++]);
- assertEquals("OS options", "Windows All", options[i++]);
- assertEquals("OS options", "MacOS X", options[i++]);
- assertEquals("OS options", "Linux", options[i++]);
- assertEquals("OS options", "Linux-GTK", options[i++]);
- assertEquals("OS options", "Linux-Motif", options[i++]);
- assertEquals("OS options", "HP-UX", options[i++]);
- assertEquals("OS options", "Neutrino", options[i++]);
- assertEquals("OS options", "QNX-Photon", options[i++]);
- assertEquals("OS options", "Solaris", options[i++]);
- assertEquals("OS options", "Unix All", options[i++]);
- assertEquals("OS options", "other", options[i++]);
- }
-
- // Attribute: Version
- att = itr.next();
- assertEquals("Attribute: Version", "Version", att.getName());
-
- //attOptions = (HashMap) att.getOptionValues();
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Version options", 1, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Version options", "unspecified", options[i++]);
- }
-
- // Attribute: Platform
- att = itr.next();
- assertEquals("Attribute: Platform", "Platform", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Platform options", 6, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Platform options", "All", options[i++]);
- assertEquals("Platform options", "Macintosh", options[i++]);
- assertEquals("Platform options", "PC", options[i++]);
- assertEquals("Platform options", "Power PC", options[i++]);
- assertEquals("Platform options", "Sun", options[i++]);
- assertEquals("Platform options", "Other", options[i++]);
- }
-
- att = itr.next();
- assertEquals("Attribute: Component", "Component", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Component options", 1, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Component options", "Core", options[i++]);
- }
-
- // Attribute: bug_status
- att = itr.next();
- assertEquals("Attribute: bug_status", "bug_status", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_status options", 0, options.length);
-
- // Attribute: form_name
- att = itr.next();
- assertEquals("Attribute: form_name", "form_name", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No form_name options", 0, options.length);
-
- // Attribute: bug_file_loc
- att = itr.next();
- assertEquals("Attribute: bug_file_loc", "bug_file_loc", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_file_loc options", 0, options.length);
-
- // Attribute: priority
- att = itr.next();
- assertEquals("Attribute: priority", "priority", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No priority options", 0, options.length);
-
- }
-
-// private void printList(List<Attribute> attributes) {
-//
-// Iterator<Attribute> itr = attributes.iterator();
-// System.out.println("Attributes for this Product:");
-// System.out.println("============================");
-//
-// while (itr.hasNext()) {
-// Attribute attr = itr.next();
-// System.out.println();
-// System.out.println(attr.getName() + ": ");
-// System.out.println("-----------");
-//
-// Map<String, String> options = attr.getOptionValues();
-// Object[] it = options.keySet().toArray();
-// for (int i = 0; i < it.length; i++)
-// System.out.println((String) it[i]);
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestPlatform.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestPlatform.java
deleted file mode 100644
index 0454b2878..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestPlatform.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.internal.NewBugParser;
-
-
-/**
- * Tests NewBugParser -- parses product attributes
- */
-public class BugzillaNewBugParserTestPlatform extends TestCase {
-
- public BugzillaNewBugParserTestPlatform() {
- super();
- }
-
- public BugzillaNewBugParserTestPlatform(String arg0) {
- super(arg0);
- }
-
- public void testProductPlatform() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/platform-page.html"));
-
- Reader in = new FileReader(f);
-
- NewBugModel nbm = new NewBugModel();
- new NewBugParser(in).parseBugAttributes(nbm, true); // ** TRUE vs FALSE **
-
- // attributes for this bug model
- List<Attribute> attributes = nbm.getAttributes();
-// printList(attributes);
-
- // to iterator over the ArrayList of attributes
- Iterator<Attribute> itr = attributes.iterator();
-
- // Attribute: Severity
- Attribute att = itr.next(); // current attribute
-
- // Attribute: Severity
- assertEquals("Attribute: Severity", "Severity", att.getName());
-
- Map<String, String> attOptions = att.getOptionValues(); // HashMap of
- // options for the
- // current
- // attribute
- Object[] options = attOptions.keySet().toArray(); // Array of keys for
- // the options of the
- // current attribute
- assertEquals("# Severity options", 7, options.length);
-
- int i = 0;
- while (i < options.length) {
- assertEquals("severity options", "blocker", options[i++]);
- assertEquals("severity options", "critical", options[i++]);
- assertEquals("severity options", "major", options[i++]);
- assertEquals("severity options", "normal", options[i++]);
- assertEquals("severity options", "minor", options[i++]);
- assertEquals("severity options", "trivial", options[i++]);
- assertEquals("severity options", "enhancement", options[i++]);
- }
-
- // Attribute: product
- att = itr.next();
- assertEquals("Attribute: product", "product", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No product optins", 0, options.length);
-
- // Attribute: AssignedTo
- att = itr.next();
- assertEquals("Attribute: Assigned To", "Assigned To", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No AssingedTo options", 0, options.length);
-
- // Attribute: OS
- att = itr.next();
- assertEquals("Attribute: OS", "OS", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("# OS options", 20, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("OS options", "All", options[i++]);
- assertEquals("OS options", "AIX Motif", options[i++]);
- assertEquals("OS options", "Windows 95", options[i++]);
- assertEquals("OS options", "Windows 98", options[i++]);
- assertEquals("OS options", "Windows CE", options[i++]);
- assertEquals("OS options", "Windows ME", options[i++]);
- assertEquals("OS options", "Windows 2000", options[i++]);
- assertEquals("OS options", "Windows NT", options[i++]);
- assertEquals("OS options", "Windows XP", options[i++]);
- assertEquals("OS options", "Windows All", options[i++]);
- assertEquals("OS options", "MacOS X", options[i++]);
- assertEquals("OS options", "Linux", options[i++]);
- assertEquals("OS options", "Linux-GTK", options[i++]);
- assertEquals("OS options", "Linux-Motif", options[i++]);
- assertEquals("OS options", "HP-UX", options[i++]);
- assertEquals("OS options", "Neutrino", options[i++]);
- assertEquals("OS options", "QNX-Photon", options[i++]);
- assertEquals("OS options", "Solaris", options[i++]);
- assertEquals("OS options", "Unix All", options[i++]);
- assertEquals("OS options", "other", options[i++]);
- }
-
- // Attribute: Version
- att = itr.next();
- assertEquals("Attribute: Version", "Version", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("# Version options", 8, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Version options", "1.0", options[i++]);
- assertEquals("Version options", "2.0", options[i++]);
- assertEquals("Version options", "2.0.1", options[i++]);
- assertEquals("Version options", "2.0.2", options[i++]);
- assertEquals("Version options", "2.1", options[i++]);
- assertEquals("Version options", "2.1.1", options[i++]);
- assertEquals("Version options", "2.1.2", options[i++]);
- assertEquals("Version options", "3.0", options[i++]);
- }
-
- // Attribute: Platform
- att = itr.next();
- assertEquals("Attribute: Platform", "Platform", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Platform options", 6, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Platform options", "All", options[i++]);
- assertEquals("Platform options", "Macintosh", options[i++]);
- assertEquals("Platform options", "PC", options[i++]);
- assertEquals("Platform options", "Power PC", options[i++]);
- assertEquals("Platform options", "Sun", options[i++]);
- assertEquals("Platform options", "Other", options[i++]);
- }
-
- // Attribute: Component
- att = itr.next();
- assertEquals("Attribute: Component", "Component", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("# Component options", 16, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Component options", "Ant", options[i++]);
- assertEquals("Component options", "Compare", options[i++]);
- assertEquals("Component options", "Core", options[i++]);
- assertEquals("Component options", "CVS", options[i++]);
- assertEquals("Component options", "Debug", options[i++]);
- assertEquals("Component options", "Doc", options[i++]);
- assertEquals("Component options", "Help", options[i++]);
- assertEquals("Component options", "Releng", options[i++]);
- assertEquals("Component options", "Scripting", options[i++]);
- assertEquals("Component options", "Search", options[i++]);
- assertEquals("Component options", "SWT", options[i++]);
- assertEquals("Component options", "Team", options[i++]);
- assertEquals("Component options", "Text", options[i++]);
- assertEquals("Component options", "UI", options[i++]);
- assertEquals("Component options", "Update", options[i++]);
- assertEquals("Component options", "WebDAV", options[i++]);
- }
-
- // Attribute: bug_status
- att = itr.next();
- assertEquals("Attribute: bug_status", "bug_status", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No bug_status options", 0, options.length);
-
- // Attribute: form_name
- att = itr.next();
- assertEquals("Attribute: form_name", "form_name", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No form_name options", 0, options.length);
-
- // Attribute: bug_file_loc
- att = itr.next();
- assertEquals("Attribute: bug_file_loc", "bug_file_loc", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_file_loc options", 0, options.length);
-
- // Attribute: priority
- att = itr.next();
- assertEquals("Attribute: priority", "priority", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No priority options", 0, options.length);
- }
-
-// private void printList(List<Attribute> attributes) {
-//
-// Iterator<Attribute> itr = attributes.iterator();
-// System.out.println("Attributes for this Product:");
-// System.out.println("============================");
-//
-// while (itr.hasNext()) {
-// Attribute attr = itr.next();
-// System.out.println();
-// System.out.println(attr.getName() + ": ");
-// System.out.println("-----------");
-//
-// Map<String, String> options = attr.getOptionValues();
-// Object[] it = options.keySet().toArray();
-// for (int i = 0; i < it.length; i++)
-// System.out.println((String) it[i]);
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestVE.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestVE.java
deleted file mode 100644
index 2a01605a3..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaNewBugParserTestVE.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.internal.NewBugParser;
-
-
-/**
- * Tests NewBugParser -- parses product attributes
- */
-public class BugzillaNewBugParserTestVE extends TestCase {
-
- public BugzillaNewBugParserTestVE() {
- super();
- }
-
- public BugzillaNewBugParserTestVE(String arg0) {
- super(arg0);
- }
-
- public void testProductVE() throws Exception {
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/ve-page.html"));
-
- Reader in = new FileReader(f);
-
- NewBugModel nbm = new NewBugModel();
- new NewBugParser(in).parseBugAttributes(nbm, true); // ** TRUE vs FALSE **
-
- // attributes for this but model
- List<Attribute> attributes = nbm.getAttributes();
-// printList(attributes);
-
- Iterator<Attribute> itr = attributes.iterator();
- Attribute att = itr.next();
-
- // Attribute: Severity
- assertEquals("Attribute: Severity", "Severity", att.getName());
-
- Map<String, String> attOptions = att.getOptionValues(); // HashMap of
- // options for the
- // current
- // attribute
- Object[] options = attOptions.keySet().toArray(); // Array of keys for
- // the options of the
- // current attribute
- assertEquals("# Severity options", 7, options.length);
-
- int i = 0;
- while (i < options.length) {
- assertEquals("severity options", "blocker", options[i++]);
- assertEquals("severity options", "critical", options[i++]);
- assertEquals("severity options", "major", options[i++]);
- assertEquals("severity options", "normal", options[i++]);
- assertEquals("severity options", "minor", options[i++]);
- assertEquals("severity options", "trivial", options[i++]);
- assertEquals("severity options", "enhancement", options[i++]);
- }
-
- // Attribute: product
- att = itr.next();
- assertEquals("Attribute: product", "product", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No product options", 0, options.length);
-
- // Attribute: AssignedTo
- att = itr.next();
- assertEquals("Attribute: AssignedTo", "AssignedTo", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("No AssignedTo options", 0, options.length);
-
- // Attribute: OS
- att = itr.next();
- assertEquals("Attribute: OS", "OS", att.getName());
-
- attOptions = att.getOptionValues();
- options = attOptions.keySet().toArray();
- assertEquals("# of options", 20, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("OS options", "All", options[i++]);
- assertEquals("OS options", "AIX Motif", options[i++]);
- assertEquals("OS options", "Windows 95", options[i++]);
- assertEquals("OS options", "Windows 98", options[i++]);
- assertEquals("OS options", "Windows CE", options[i++]);
- assertEquals("OS options", "Windows ME", options[i++]);
- assertEquals("OS options", "Windows 2000", options[i++]);
- assertEquals("OS options", "Windows NT", options[i++]);
- assertEquals("OS options", "Windows XP", options[i++]);
- assertEquals("OS options", "Windows All", options[i++]);
- assertEquals("OS options", "MacOS X", options[i++]);
- assertEquals("OS options", "Linux", options[i++]);
- assertEquals("OS options", "Linux-GTK", options[i++]);
- assertEquals("OS options", "Linux-Motif", options[i++]);
- assertEquals("OS options", "HP-UX", options[i++]);
- assertEquals("OS options", "Neutrino", options[i++]);
- assertEquals("OS options", "QNX-Photon", options[i++]);
- assertEquals("OS options", "Solaris", options[i++]);
- assertEquals("OS options", "Unix All", options[i++]);
- assertEquals("OS options", "other", options[i++]);
- }
-
- // Attribute: Version
- att = itr.next();
- assertEquals("Attribute: Version", "Version", att.getName());
-
- //attOptions = (HashMap) att.getOptionValues();
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Version options", 3, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Version options", "0.5.0", options[i++]);
- assertEquals("Version options", "1.0.0", options[i++]);
- assertEquals("Version options", "unspecified", options[i++]);
- }
-
- // Attribute: Platform
- att = itr.next();
- assertEquals("Attribute: Platform", "Platform", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Platform options", 6, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Platform options", "All", options[i++]);
- assertEquals("Platform options", "Macintosh", options[i++]);
- assertEquals("Platform options", "PC", options[i++]);
- assertEquals("Platform options", "Power PC", options[i++]);
- assertEquals("Platform options", "Sun", options[i++]);
- assertEquals("Platform options", "Other", options[i++]);
- }
-
- att = itr.next();
- assertEquals("Attribute: Component", "Component", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("# Component options", 6, options.length);
-
- i = 0;
- while (i < options.length) {
- assertEquals("Component options", "CDE", options[i++]);
- assertEquals("Component options", "Doc", options[i++]);
- assertEquals("Component options", "Java Core", options[i++]);
- assertEquals("Component options", "Java Model (JEM)", options[i++]);
- assertEquals("Component options", "JFC/Swing", options[i++]);
- assertEquals("Component options", "SWT", options[i++]);
- }
-
- // Attribute: bug_status
- att = itr.next();
- assertEquals("Attribute: bug_status", "bug_status", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_status options", 0, options.length);
-
- // Attribute: form_name
- att = itr.next();
- assertEquals("Attribute: form_name", "form_name", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No form_name options", 0, options.length);
-
- // Attribute: bug_file_loc
- att = itr.next();
- assertEquals("Attribute: bug_file_loc", "bug_file_loc", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No bug_file_loc options", 0, options.length);
-
- // Attribute: priority
- att = itr.next();
- assertEquals("Attribute: priority", "priority", att.getName());
-
- options = att.getOptionValues().keySet().toArray();
- assertEquals("No priority options", 0, options.length);
-
- }
-
-// private void printList(List<Attribute> attributes) {
-//
-// Iterator<Attribute> itr = attributes.iterator();
-// System.out.println("Attributes for this Product:");
-// System.out.println("============================");
-//
-// while (itr.hasNext()) {
-// Attribute attr = itr.next();
-// System.out.println();
-// System.out.println(attr.getName() + ": ");
-// System.out.println("-----------");
-//
-// Map<String, String> options = attr.getOptionValues();
-// Object[] it = options.keySet().toArray();
-// for (int i = 0; i < it.length; i++)
-// System.out.println((String) it[i]);
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTest.java
deleted file mode 100644
index 00a34463f..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.mylar.bugzilla.core.internal.BugParser;
-
-
-/**
- * Tests for parsing Bugzilla reports
- */
-public class BugzillaParserTest extends TestCase {
-
- public BugzillaParserTest() {
- super();
- }
-
- public BugzillaParserTest(String arg0) {
- super(arg0);
- }
-
- public void testFullReportBug1() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/bug-1-full.html"));
-
- Reader in = new FileReader(f);
-
- BugReport bug = BugParser.parseBug(in, 1, "<server>", false, null, null);
-
-// displayBug(bug);
- assertEquals("Bug id", 1, bug.getId());
- assertEquals("Bug summary",
- "Usability issue with external editors (1GE6IRL)", bug
- .getSummary());
- assertEquals("Reporter", "andre_weinand@ch.ibm.com (Andre Weinand)",
- bug.getReporter());
- assertEquals("Reporter", "andre_weinand@ch.ibm.com (Andre Weinand)",
- bug.getAttribute("Reporter").getValue());
- assertEquals("Summary",
- "Usability issue with external editors (1GE6IRL)", bug
- .getSummary());
- assertEquals("Status", "VERIFIED", bug.getStatus());
- assertEquals("Resolution", "FIXED", bug.getResolution());
- assertEquals("Keywords", null, bug.getKeywords());
- assertEquals("Assigned To", "James_Moody@ca.ibm.com (James Moody)", bug
- .getAssignedTo());
- assertEquals("Priority", "P3", bug.getAttribute("Priority").getValue());
- assertEquals("OS", "All", bug.getAttribute("OS").getValue());
- assertEquals("Version", "2.0", bug.getAttribute("Version").getValue());
- assertEquals("Target Milestone", "---", bug.getAttribute(
- "Target Milestone").getValue());
- assertEquals("Keywords", "", bug.getAttribute("Keywords").getValue());
- assertEquals("Severity", "normal", bug.getAttribute("Severity")
- .getValue());
- assertEquals("Component", "VCM", bug.getAttribute("Component")
- .getValue());
- assertEquals("CC", "Kevin_McGuire@oti.com", bug.getCC()
- .iterator().next());
- assertEquals("Platform", "All", bug.getAttribute("Platform").getValue());
- assertEquals("Product", "Platform", bug.getAttribute("Product")
- .getValue());
- assertEquals("URL", "", bug.getAttribute("URL").getValue());
- assertEquals("Bug#", "1", bug.getAttribute("Bug#").getValue());
-
- // Description
- String description = "- Setup a project that contains a *.gif resource\n"
- + "\t- release project to CVS\n"
- + "\t- edit the *.gif resource with an external editor, e.g. PaintShop\n"
- + "\t- save and close external editor\n"
- + "\t- in Navigator open the icon resource and verify that your changes are there\n"
- + "\t- release project\n"
- + "\t\t-> nothing to release!\n"
- + "\t- in Navigator open the icon resource and verify that your changes are still there\n\n"
- +
-
- "\tProblem: because I never \"Refreshed from local\", the workspace hasn't changed so \"Release\" didn't find anything.\n"
- + "\tHowever opening the resource with an external editor found the modified file on disk and showed the changes.\n\n"
- +
-
- "\tThe real problem occurs if \"Release\" actually finds something to release but you don't spot that some resources are missing.\n"
- + "\tThis is extremely error prone: one of my changes didn't made it into build 110 because of this!\n\n"
- +
-
- "NOTES:\n"
- + "EG (5/23/01 3:00:33 PM)\n"
- + "\tRelease should do a refresh from local before doing the release.\n"
- + "\tMoving to VCM\n\n\n"
- +
-
- "KM (05/27/01 5:10:19 PM)\n"
- + "\tComments from JM in related email:\n\n"
- +
-
- "\tShould 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.\n"
- + "\tConsider the SWT team who keep their workspaces on network drives. This will be slow. \n\n"
- +
-
- "\tSide 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\n"
- + "\trunnable 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.\n\n"
- +
-
- "\tSummary: Offer to \"ensure local consistency\" before releasing.\n\n"
- +
-
- "KM (5/31/01 1:30:35 PM)\n"
- + "\tSee also 1GEAG1A: ITPVCM:WINNT - Internal error comparing with a document\n"
- + "\twhich failed with an error. Never got log from Tod though.";
-
- assertTrue(description.length() == bug.getDescription().length());
- assertEquals("Description", description, bug.getDescription());
-
- // Comments:
- Iterator<Comment> it = bug.getComments().iterator();
- while (it.hasNext()) {
- // COMMENT #1
- Comment comment = it.next();
- assertEquals("Author1", "James_Moody@ca.ibm.com", comment
- .getAuthor());
- assertEquals("Name1", "James Moody", comment.getAuthorName());
- assertEquals(
- "Text1",
- "*** Bug 183 has been marked as a duplicate of this bug. ***",
- comment.getText());
-
- // COMMENT #2
- comment = it.next();
- assertEquals("Author2", "James_Moody@ca.ibm.com", comment
- .getAuthor());
- assertEquals("Name2", "James Moody", comment.getAuthorName());
- assertEquals("Text2",
- "Implemented 'auto refresh' option. Default value is off.",
- comment.getText());
-
- // COMMENT 3
- comment = it.next();
- assertEquals("Author3", "dj_houghton@ca.ibm.com", comment
- .getAuthor());
- assertEquals("Name3", "DJ Houghton", comment.getAuthorName());
- assertEquals("Text3", "PRODUCT VERSION:\n\t109\n\n", comment
- .getText());
-
- // COMMENT 4
- comment = it.next();
- assertEquals("Author4", "James_Moody@ca.ibm.com", comment
- .getAuthor());
- assertEquals("Name4", "James Moody", comment.getAuthorName());
- assertEquals("Text4", "Fixed in v206", comment.getText());
- }
- }
-
-// private static void displayBug(BugReport bug) {
-// System.out.println("Bug " + bug.getId() + ": " + bug.getSummary());
-// System.out.println("Opened: " + bug.getCreated());
-// for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext();) {
-// Attribute attribute = it.next();
-// String key = attribute.getName();
-// System.out.println(key + ": " + attribute.getValue()
-// + (attribute.isEditable() ? " [OK]" : " %%"));
-// }
-//
-// System.out.print("CC: ");
-// for (Iterator<String> it = bug.getCC().iterator(); it.hasNext();) {
-// String email = it.next();
-// System.out.print(email + " ");
-// }
-// System.out.println();
-//
-// System.out.println(bug.getDescription());
-// for (Iterator<Comment> it = bug.getComments().iterator(); it.hasNext();) {
-// Comment comment = it.next();
-// System.out.println(comment.getAuthorName() + " <"
-// + comment.getAuthor() + "> (" + comment.getCreated() + ")");
-// System.out.print(comment.getText());
-// System.out.println();
-// }
-// }
-//
-// private static void printComments(BugReport bug) {
-// for (Iterator<Comment> it = bug.getComments().iterator(); it.hasNext();) {
-// Comment comment = it.next();
-// System.out.println("Author: " + comment.getAuthor());
-// System.out.println("Name: " + comment.getAuthorName());
-// System.out.println("Date: " + comment.getCreated());
-// System.out.println("Bug ID: " + comment.getBug().getId());
-// System.out.println("Comment: " + comment.getText());
-// System.out.println();
-// }
-// }
-//
-// /** prints names of attributes */
-// private static void printAttributes(BugReport bug) {
-// System.out.println("ATTRIBUTE KEYS:");
-// for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext();) {
-// Attribute att = it.next();
-// System.out.println(att.getName());
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTestNoBug.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTestNoBug.java
deleted file mode 100644
index fe3f96746..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaParserTestNoBug.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.internal.BugParser;
-
-
-/**
- * Tests for parsing Bugzilla reports
- */
-public class BugzillaParserTestNoBug extends TestCase {
-
- public BugzillaParserTestNoBug() {
- super();
- }
-
- public BugzillaParserTestNoBug(String arg0) {
- super(arg0);
- }
-
- public void testBugNotFound() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/bug-not-found-eclipse.html"));
-
- Reader in = new FileReader(f);
-
- BugReport bug = BugParser.parseBug(in, 666, "<server>", false, null, null);
- assertNull(bug);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParser1ProductHipikatTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParser1ProductHipikatTest.java
deleted file mode 100644
index b9d66e13b..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParser1ProductHipikatTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.internal.ProductParser;
-
-
-/**
- * Tests for parsing Product Page for new Bugzilla reports
- */
-public class BugzillaProductParser1ProductHipikatTest extends TestCase {
-
- public BugzillaProductParser1ProductHipikatTest() {
- super();
- }
-
- public BugzillaProductParser1ProductHipikatTest(String arg0) {
- super(arg0);
- }
-
- public void testOneProduct() throws Exception {
-
- // If only one product, should skip product page (nothing in product
- // list
- // and display the attributes for that product
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/product-page-1-product-hipikat.html"));
-
- Reader in = new FileReader(f);
-
- List<String> productList = new ArrayList<String>();
- productList = new ProductParser(in).getProducts();
-// printList(productList);
-
- assertNull("There were products parsed, and there shouldn't have been", productList);
- }
-
-// private void printList(List<String> productList) {
-//
-// if(productList == null){
-// System.out.println("No products");
-// return;
-// }
-// Iterator<String> itr = productList.iterator();
-// System.out.println("Product List:");
-// if (!itr.hasNext())
-// System.out.println("No products");
-// while (itr.hasNext())
-// System.out.println(itr.next());
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParserTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParserTest.java
deleted file mode 100644
index 704f49074..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaProductParserTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.test;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugzilla.core.internal.ProductParser;
-
-
-/**
- * Tests for parsing Product Page for new Bugzilla reports
- */
-public class BugzillaProductParserTest extends TestCase {
-
- public BugzillaProductParserTest() {
- super();
- }
-
- public BugzillaProductParserTest(String arg0) {
- super(arg0);
- }
-
- public void testFullReportBugNoBug() throws Exception {
-
- File f = FileTool.getFileInPlugin(BugzillaTestPlugin.getDefault(), new Path("TestPages/product-page.html"));
-
- Reader in = new FileReader(f);
-
- List<String> productList = new ArrayList<String>();
- productList = new ProductParser(in).getProducts();
-// printList(productList);
-
- Iterator<String> itr = productList.iterator();
-
- while (itr.hasNext()) {
- assertEquals("AJDT", "AJDT", itr.next());
- assertEquals("AspectJ", "AspectJ", itr.next());
- assertEquals("CDT", "CDT", itr.next());
- assertEquals("CME", "CME", itr.next());
- assertEquals("ECESIS", "ECESIS", itr.next());
- assertEquals("EMF", "EMF", itr.next());
- assertEquals("Equinox", "Equinox", itr.next());
- assertEquals("GEF", "GEF", itr.next());
- assertEquals("GMT", "GMT", itr.next());
- assertEquals("Hyades", "Hyades", itr.next());
- assertEquals("JDT", "JDT", itr.next());
- assertEquals("PDE", "PDE", itr.next());
- assertEquals("Platform", "Platform", itr.next());
- assertEquals("Stellation", "Stellation", itr.next());
- assertEquals("UML2", "UML2", itr.next());
- assertEquals("VE", "VE", itr.next());
- assertEquals("WSVT", "WSVT", itr.next());
- assertEquals("XSD", "XSD", itr.next());
- }
- }
-
-// private void printList(List<String> productList) {
-//
-// Iterator<String> itr = productList.iterator();
-// System.out.println("Product List:");
-// while (itr.hasNext())
-// System.out.println(itr.next());
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaTestPlugin.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaTestPlugin.java
deleted file mode 100644
index 337945802..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/BugzillaTestPlugin.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.test;
-
-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/test/FileTool.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java
deleted file mode 100644
index 2f8c66c56..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylar.bugzilla.test;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-
-
-public class FileTool {
-
- private final static int MAX_RETRY= 5;
-
- /**
- * A buffer.
- */
- private static byte[] buffer = new byte[8192];
-
- /**
- * Unzips the given zip file to the given destination directory
- * extracting only those entries the pass through the given
- * filter.
- *
- * @param zipFile the zip file to unzip
- * @param dstDir the destination directory
- * @throws IOException in case of problem
- */
- public static void unzip(ZipFile zipFile, File dstDir) throws IOException {
- unzip(zipFile, dstDir, dstDir, 0);
- }
-
- private static void unzip(ZipFile zipFile, File rootDstDir, File dstDir, int depth) throws IOException {
-
- Enumeration<? extends ZipEntry> entries = zipFile.entries();
-
- try {
- while(entries.hasMoreElements()){
- ZipEntry entry = entries.nextElement();
- if(entry.isDirectory()){
- continue;
- }
- String entryName = entry.getName();
- File file = new File(dstDir, changeSeparator(entryName, '/', File.separatorChar));
- file.getParentFile().mkdirs();
- InputStream src = null;
- OutputStream dst = null;
- try {
- src = zipFile.getInputStream(entry);
- dst = new FileOutputStream(file);
- transferData(src, dst);
- } finally {
- if(dst != null){
- try {
- dst.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- if(src != null){
- try {
- src.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- }
- }
- } finally {
- try {
- zipFile.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- }
-
- /**
- * Returns the given file path with its separator
- * character changed from the given old separator to the
- * given new separator.
- *
- * @param path a file path
- * @param oldSeparator a path separator character
- * @param newSeparator a path separator character
- * @return the file path with its separator character
- * changed from the given old separator to the given new
- * separator
- */
- public static String changeSeparator(String path, char oldSeparator, char newSeparator){
- return path.replace(oldSeparator, newSeparator);
- }
-
- /**
- * Copies all bytes in the given source file to
- * the given destination file.
- *
- * @param source the given source file
- * @param destination the given destination file
- * @throws IOException in case of error
- */
- public static void transferData(File source, File destination) throws IOException {
- destination.getParentFile().mkdirs();
- InputStream is = null;
- OutputStream os = null;
- try {
- is = new FileInputStream(source);
- os = new FileOutputStream(destination);
- transferData(is, os);
- } finally {
- if(os != null){
- try {
- os.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- if(is != null){
- try {
- is.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- }
- }
-
- /**
- * Copies all bytes in the given source stream to
- * the given destination stream. Neither streams
- * are closed.
- *
- * @param source the given source stream
- * @param destination the given destination stream
- * @throws IOException in case of error
- */
- public static void transferData(InputStream source, OutputStream destination) throws IOException {
- int bytesRead = 0;
- while(bytesRead != -1){
- bytesRead = source.read(buffer, 0, buffer.length);
- if(bytesRead != -1){
- destination.write(buffer, 0, bytesRead);
- }
- }
- }
-
- /**
- * Copies the given source file to the given destination file.
- *
- * @param src the given source file
- * @param dst the given destination file
- * @throws IOException in case of error
- */
- public static void copy(File src, File dst) throws IOException {
- if(src.isDirectory()){
- String[] srcChildren = src.list();
- for(int i = 0; i < srcChildren.length; ++i){
- File srcChild= new File(src, srcChildren[i]);
- File dstChild= new File(dst, srcChildren[i]);
- copy(srcChild, dstChild);
- }
- } else
- transferData(src, dst);
- }
-
- public static File getFileInPlugin(Plugin plugin, IPath path) {
- try {
- URL installURL= plugin.getBundle().getEntry(path.toString());
- URL localURL= Platform.asLocalURL(installURL);
- return new File(localURL.getFile());
- } catch (IOException e) {
- return null;
- }
- }
-
- public static File createTempFileInPlugin(Plugin plugin, IPath path) {
- IPath stateLocation= plugin.getStateLocation();
- stateLocation= stateLocation.append(path);
- return stateLocation.toFile();
- }
-
- public static StringBuffer read(String fileName) throws IOException {
- return read(new FileReader(fileName));
- }
-
- public static StringBuffer read(Reader reader) throws IOException {
- StringBuffer s= new StringBuffer();
- try {
- char[] charBuffer= new char[8196];
- int chars= reader.read(charBuffer);
- while (chars != -1) {
- s.append(charBuffer, 0, chars);
- chars= reader.read(charBuffer);
- }
- } finally {
- try {
- reader.close();
- } catch (IOException e) {
- // don't worry in the finally
- }
- }
- return s;
- }
-
- public static void write(String fileName, StringBuffer content) throws IOException {
- Writer writer= new FileWriter(fileName);
- try {
- writer.write(content.toString());
- } finally {
- try {
- writer.close();
- } catch (IOException e) {
- // don't worry in the finally
- }
- }
- }
-
- public static void delete(File file) {
- if (file.exists()) {
- for (int i= 0; i < MAX_RETRY; i++) {
- if (file.delete())
- i= MAX_RETRY;
- else {
- try {
- Thread.sleep(1000); // sleep a second
- } catch (InterruptedException e) {
- // don't care if the sleep is interrupted
- }
- }
- }
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/.classpath b/org.eclipse.mylyn.bugzilla.ui/.classpath
deleted file mode 100644
index cc69b552e..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="**/internal/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.bugzilla.ui/.cvsignore b/org.eclipse.mylyn.bugzilla.ui/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.mylyn.bugzilla.ui/.project b/org.eclipse.mylyn.bugzilla.ui/.project
deleted file mode 100644
index 229a2c789..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.bugzilla.ui</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.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ece21a715..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Aug 22 20:32:40 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
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
deleted file mode 100644
index aab37fde8..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Aug 22 20:32:40 PDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 6e7dcf1f0..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:41:44 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.bugzilla.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.bugzilla.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 590e23fa3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Ui Plug-in
-Bundle-SymbolicName: org.eclipse.mylar.bugzilla.ui; singleton:=true
-Bundle-Version: 0.4.0
-Bundle-Activator: org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.compare,
- org.eclipse.search,
- org.eclipse.ui.views,
- org.eclipse.ui.ide,
- org.eclipse.mylar.bugzilla.core,
- org.eclipse.mylar.core,
- org.eclipse.ui.forms,
- org.eclipse.jface.text,
- org.eclipse.mylar.tasklist
-Eclipse-AutoStart: true
-Export-Package: org.eclipse.mylar.bugzilla.ui,
- org.eclipse.mylar.bugzilla.ui.actions,
- org.eclipse.mylar.bugzilla.ui.editor,
- org.eclipse.mylar.bugzilla.ui.favorites.actions,
- org.eclipse.mylar.bugzilla.ui.outline,
- org.eclipse.mylar.bugzilla.ui.query,
- org.eclipse.mylar.bugzilla.ui.search,
- org.eclipse.mylar.bugzilla.ui.tasklist,
- org.eclipse.mylar.bugzilla.ui.wizard
-Bundle-ClassPath: bugzilla-ui.jar
diff --git a/org.eclipse.mylyn.bugzilla.ui/about.html b/org.eclipse.mylyn.bugzilla.ui/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.bugzilla.ui/bugzilla-help.xml b/org.eclipse.mylyn.bugzilla.ui/bugzilla-help.xml
deleted file mode 100644
index 78b55ca14..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/bugzilla-help.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<contexts>
-
- <context id="bugzillaSearchContext">
- <description>Enter a Bug ID or some text to search the Bugzilla database for related bugs.</description>
- <topic href="docs/html/start/bugzillaSearch.html" label="Bugzilla Search"/>
- <topic href="http://www.bugzilla.org" label="Bugzilla Website"/>
- </context>
-
- <context id="bugzillaEditorContext">
- <description>View the bug with the "Preview" tab, and submit changes with the "Submit" tab.</description>
- <topic href="docs/html/start/submitEditor.html" label="Bugzilla Editor"/>
- </context>
-
-</contexts> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/build-user.xml b/org.eclipse.mylyn.bugzilla.ui/build-user.xml
deleted file mode 100644
index 6097713f2..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/build-user.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<target name="help">
- <echo message="Please run: $ ant -v -projecthelp"/>
-</target> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/build.properties b/org.eclipse.mylyn.bugzilla.ui/build.properties
deleted file mode 100644
index 4d6b8f012..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/build.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# 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/,\
- docs/,\
- about.html,\
- toc.xml,\
- bugzilla_contexts.xml,\
- 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,\
- docs/,\
- icons/,\
- toc.xml,\
- bugzilla_contexts.xml,\
- doc/
diff --git a/org.eclipse.mylyn.bugzilla.ui/build.xml b/org.eclipse.mylyn.bugzilla.ui/build.xml
deleted file mode 100644
index e1d6ef784..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/build.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:./build-user.xml">]>
-<!-- WARNING: Eclipse autogenerated file.
- Any modifications will be overwritten.
- Please edit build-user.xml instead.
--->
-<project basedir="." default="build" name="org.eclipse.mylar.bugzilla.ui">
- &buildfile;
- <property name="org.eclipse.mylar.bugzilla.core.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.bugzilla.core"/>
- <property name="org.eclipse.mylar.core.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.core"/>
- <property name="org.eclipse.mylar.tasklist.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.tasklist"/>
- <path id="project.classpath">
- <path refid="mainproject.classpath"/>
- <path refid="org.eclipse.mylar.bugzilla.core.classpath"/>
- <path refid="org.eclipse.mylar.core.classpath"/>
- <path refid="org.eclipse.mylar.tasklist.classpath"/>
- </path>
- <path id="mainproject.classpath">
- <pathelement location="bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.compare_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.search_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.views_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.forms_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface.text_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.text_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.bugzilla.core.classpath">
- <pathelement location="${org.eclipse.mylar.bugzilla.core.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.compare_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.search_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.update.core_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.update.ui_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.core.classpath">
- <pathelement location="${org.eclipse.mylar.core.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.tasklist.classpath">
- <pathelement location="${org.eclipse.mylar.tasklist.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.forms_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.pde.ui_3.1.0.jar"/>
- </path>
- <target name="init">
- <mkdir dir="bin"/>
- </target>
- <target name="clean">
- <delete dir="bin"/>
- </target>
- <target depends="init" name="build">
- <ant antfile="${org.eclipse.mylar.bugzilla.core.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.core.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.tasklist.location}/build.xml" inheritAll="false"/>
- <echo message="${ant.project.name}: ${ant.file}"/>
- <javac destdir="bin">
- <src path="src"/>
- <classpath refid="project.classpath"/>
- </javac>
- </target>
-</project>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/Bugzilla.gif b/org.eclipse.mylyn.bugzilla.ui/doc/html/Bugzilla.gif
deleted file mode 100644
index ec6d66ce3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/Bugzilla.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/book.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/book.html
deleted file mode 100644
index ddec74b4e..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/book.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">
- <title>Bugzilla: Bugzilla Database Server Querying</title>
-</head>
-
-<body >
- <font face="arial, lucida console" size="+3">
- <table cellpadding="5">
- <tr>
- <td><img src="Bugzilla.gif" alt="Bugzilla"></td>
- <td valign=bottom><b>Bugzilla Client</b><br><br></td>
- </tr>
- </table>
- </font>
-
- <br>
- <br>
- <br>
- <br>
- <br>
-
-</body>
-
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start.html
deleted file mode 100644
index e59973752..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
- <h3>Getting Started</h3>
- <br>
- <p>Setting up and configuring Bugzilla, as well as instructions on its use.
- </font>
-</body>
-
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugEditor.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugEditor.html
deleted file mode 100644
index 908bc204f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugEditor.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Bugzilla Editor</h3>
- <br>
-
- <p><b>NOTE:</b> It is required that you have entered your Bugzilla login name and password
- into the Bugzilla plugin preferences if you wish to create new bugs.
- </p>
-
- <p>The bug editor is opened when you view a bug. Here, you can edit the bug and submit the changes.
- Once you are finished modifying the bug, you can click the "Submit" button at the
- bottom of the editor to submit it to the Bugzilla server. Also, if you have made
- changes to the bug, you can click the "Compare" button to inspect any changes between
- your version of the bug and the online version.
- </p>
-
- <p>You can save the current version of the bug offline on your
- hard-drive using Ctrl+s or File -&gt; Save. The locally saved bug report will be accessible from the Offline Reports View. Any
- time you try to view a bug with this id, your offline copy will be shown instead of the one
- from the server. You can continue to make and save changes until you either delete the offline
- version or submit your changes to the server.
- </p>
- <p>At the top of the editor, there is a hyperlink that says &quot;Open in
- browser&quot;.&nbsp; This will open the current bug in the default web browser
- specified in eclipse.&nbsp; This is useful for if the bug editor does not
- currently support an option that you wish to use such as voting.&nbsp; If
- you wish to have the bug editor close and the web browser open, you can
- Alt+click on the link.</p>
-
-
- <img src="./images/existing-bug-editor.png"><br>
-
- <p>A bug saved from the New Bug Wizard will open in a simpler editor, since it does
- not yet exist on a server, and so there are fewer tasks you can perform on it.
- The most notable change is that there is no button to allow you to compare it with
- the online version.
- and the only action is to submit the report to the server.
- </p>
-
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
-
- </font>
-
-</body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugWizard.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugWizard.html
deleted file mode 100644
index f061907c8..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugWizard.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-
-<head>
- <title>New Bug Wizard</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>New Bug Wizard</h3>
- <br>
-
- <p><b>NOTE:</b> It is required that you have entered your Bugzilla login name and password
- into the Bugzilla plugin preferences if you wish to create new bugs.
- </p>
-
- <p>This Bugzilla plugin allows you to submit new bugs. To do this, go to "File->New->Other..."
- and then choose "Bugzilla Wizards" and "New Bug Report".
- </p>
-
- <img src="./images/new-bug-wizard.png"><br>
-
- <p>When you click "Next", you will be presented with a dialog that contains the list
- of products that you can submit a bug for. Choose the product that you wish to submit
- the bug for and click "Next". If there is only one product to choose from, then this
- screen will be skipped over automatically.
- </p>
-
- <img src="./images/new-bug-wizard-products.png"><br>
-
- <p>Now, you can modify the required attributes for the new bug. When you are finished,
- you can submit the bug to the server. To do so, select "Submit bug report to the server."
- and click the "Finish" button. This will submit your new bug to the server. If no
- problems occured, the new bug will be opened in a Bugzilla editor so that you can review
- your submission.
- </p>
-
- <img src="./images/new-bug-wizard-attributes.png"><br>
-
- <p>Alternatively, you can save the bug offline on your hard-drive. Select "Save bug
- report offline." and click the "Finish" button. The locally saved bug report will be
- accessible from the Offline Reports View and can be submitted later.</p>
-
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
-
- </font>
-
-</body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaFavorites.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaFavorites.html
deleted file mode 100644
index 409582f61..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaFavorites.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Saving Favorites</h3>
- <br>
-
- <p>
- Bugzilla has the ability to save bugs that are frequently accessed as a favorite
- similar to a web browser. To do this, after a search is done right click on the bug
- in the Search results window that you would like to save and choose "Mark Result as Favorite".&nbsp;
- Favorites can also be added through the context menu in the bug editor.</p>
-
- <img src="./images/bugzilla-search-context.png"><br>
-
- <p>
- A new window will now open that contains your specific list of favorites. To access
- any of the bugs in the favorites view, just double click on the one that you want to
- open and a Bugzilla bug editor will open containing the specific bug. To access the favorites
- menu without adding a new bug, go to Window --> Show View --> Other... --> Bugzilla and click
- on Bugzilla Favorites.
- </p>
-
- <img src="./images/bugzilla-favorites-window.png"><br>
-
-
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
-
- </font>
-</body>
-
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaSearch.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaSearch.html
deleted file mode 100644
index 45d93835f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/bugzillaSearch.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Searching Reports</h3>
- <br>
-
- <p>
- A Bugzilla Search tab has also been added to the Eclipse Search pane. You can enter
- a bug ID or keywords in the text field and, if desired, limit the
- search by selecting particular attributes that the bug must have.
- Press Enter or click "Search" to proceed with the query to the Bugzilla server.&nbsp;
- </p>
- <p>
- <i>Note:</i>
- There is an update button near the bottom of the Bugzilla search dialog.
- When this button is clicked, it will query the Bugzilla server for new
- options. These options are for the bug attributes such as milestone, product, etc.
- This allows Bugzilla to contain the latest information so that you can
- perform a better search.
- </p>
-
- <img src="./images/bugzilla-search-dialog.png"><br>
-
- <p>
- If a Bugzilla ID was entered, that particular bug report will open in
- the Bugzilla bug viewer.
- </p>
-
- <img src="./images/bugzilla-bug-editor.png"><br>
-
- <p>
- If a bug id was not entered, the results will appear in the Search results tab.
- From here, you can open any of the items by double-clicking on them.
- </p>
-
- <img src="./images/bugzilla-searchresults.png">
-
- <p>
- By default, all of the results are sorted by Bug ID. They can also be sorted by
- priority, severity, or status. To change the way the items are sorted, right-click
- any bug and choose from the "Sort By" submenu.
- </p>
-
- <img src="./images/bugzilla-search-sorting.png">
-
- <p>
- Previous Bugzilla queries are accessible through the drop-down
- history menu at the right end of the view's toolbar.
- </p>
-
- <img src="./images/previous-searches.png"><br>
-
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
-
- </font>
-</body>
-
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove-all.gif b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove-all.gif
deleted file mode 100644
index 2c069ab3f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove-all.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove.gif b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove.gif
deleted file mode 100644
index 12a9167c5..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/Icons/remove.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-bug-editor.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-bug-editor.png
deleted file mode 100644
index ca477bd91..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-bug-editor.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-favorites-window.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-favorites-window.png
deleted file mode 100644
index 57f2e2bdd..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-favorites-window.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-context.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-context.png
deleted file mode 100644
index 2160aaa11..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-context.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-dialog.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-dialog.png
deleted file mode 100644
index d00221612..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-dialog.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-sorting.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-sorting.png
deleted file mode 100644
index c2ccdc703..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-search-sorting.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-searchresults.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-searchresults.png
deleted file mode 100644
index fbb118138..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/bugzilla-searchresults.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/existing-bug-editor.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/existing-bug-editor.png
deleted file mode 100644
index 10c72e2c9..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/existing-bug-editor.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-attributes.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-attributes.png
deleted file mode 100644
index 4cbcd7297..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-attributes.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-products.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-products.png
deleted file mode 100644
index 6fe751b3e..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard-products.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard.png
deleted file mode 100644
index b79562d44..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/new-bug-wizard.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/offline-reports.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/offline-reports.png
deleted file mode 100644
index 8431de2c2..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/offline-reports.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/prefs.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/prefs.png
deleted file mode 100644
index 1f4dd866d..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/prefs.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/previous-searches.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/previous-searches.png
deleted file mode 100644
index d36812640..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/previous-searches.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query-overwrite.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query-overwrite.png
deleted file mode 100644
index e16bbb8ca..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query-overwrite.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query.png
deleted file mode 100644
index 4d8ac7e1a..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/remember-query.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/saved-query-list.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/saved-query-list.png
deleted file mode 100644
index c7681ee9a..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/saved-query-list.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/update-search-dialog.png b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/update-search-dialog.png
deleted file mode 100644
index d00221612..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/images/update-search-dialog.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/limitations.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/limitations.html
deleted file mode 100644
index 606071a94..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/limitations.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Preparing Eclipse
- </title>
- </head>
- <body>
- <h1>
- Known Limitations</h1>
- <p><b>Supported platforms</b></p>
- <ul>
- <li>Eclipse 3.1 final or later</li>
- <li>Java 5 VM or later</li>
- </ul>
- <p><b>Bugzilla</b></p>
- <p>This plug-in only works with Bugzilla 2.16 and 2.18 installations that
- are not highly customized since it relies on parsing the html from the
- Bugzilla server.</p>
- <p>You can only set one bug repository per workspace.&nbsp; Proxy servers
- are not yet supported.</p>
-
- <p>There is currently no support for attachments in the integrated bug
- editor.</p>
- <p>The Bugzilla Search Dialog shows all attributes for any Product, not just
- the currently selected one.</p>
- <p>&nbsp;</p>
-
- </body>
-</html>
-
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/offlineReports.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/offlineReports.html
deleted file mode 100644
index 8c4f10fc5..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/offlineReports.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Offline Reports</h3>
- <br>
-
- <p>Bugzilla has the ability to save bugs offline on your hard-drive from both the bug editor and the
- New Bug Wizard. The Offline Reports View is where the saved bug reports can be accessed. To show the
- offline reports menu without saving a new bug, go to Window --> Show View --> Other... --> Bugzilla
- and click on Bugzilla Offline Reports. To open an offline bug, simply double-click it.
- </p>
-
- <img src="./images/offline-reports.png"><br>
-
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
-
- </font>
-
-</body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/saveQuery.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/saveQuery.html
deleted file mode 100644
index 5c9066bb2..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/saveQuery.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Saving Queries</h3>
- <br>
-
- <p>
- There is a pair of buttons in the middle of the search dialog that allow you
- to save frequently used queries and run these saved queries. The "Remember..." button
- will save the current query, and the "Saved Queries..." button will display
- a list of saved queries that you can choose from.
- </p>
-
- <img src="./images/bugzilla-search-dialog.png"><br>
-
- <p>
- When the "Remember..." button is clicked, a dialog will be displayed asking
- you to name the query. Once "OK" is clicked, the query will be saved locally.
- </p>
-
- <img src="./images/remember-query.png"><br>
-
- <p>
- If you try to name a new query with an name that already exists, you will be prompted
- asking whether to overwrite the currently saved query with the new one.
- </p>
-
- <img src="./images/remember-query-overwrite.png"><br>
-
- <p>
- When the "Saved Queries..." button is clicked on, another dialog will be displayed
- containing a list of all of the queries that are currently saved on your computer. Select
- the query that you wish to run and click "run" to execute it.
- </p>
-
- <img src="./images/saved-query-list.png"><br>
-
- <br>
-
- </font>
-</body>
-
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/setup.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/setup.html
deleted file mode 100644
index 7501739c3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/setup.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-
-<head>
- <title>Server Configuration</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Server Configuration</h3>
- <br>
-
- <p>Although default settings are provided, the bugzilla server can be changed. To change the configuration, go to Preferences (in the Window menu) and open the Bugzilla tab.
- </p>
-
- <p>Here, the following parameters can be set:
-
- <ol>
- <li>URL of the Bugzilla server (set by default to the Eclipse Bugzilla server). This is used by the bug report
- viewer to view Bugzilla items within Eclipse.</li>
-
- <li>Your login name for the Bugzilla server (optional).</li>
- <li>Your password for the Bugzilla server (optional).</li>
- <li>Whether the version of the Bugzilla server to be accessed is 2.18 or
- 2.16 (Note: The Eclipse.org server is 2.18)</li>
-
- </ol>
- <br>
- Your Bugzilla login name and password are only required if you wish to create or modify bugs
- using this Bugzilla plugin. Viewing bugs using this plugin does not require that a user name
- and password be specified unless it is required by the server.<p>&nbsp;</p>
- </p>
-
- <img src="./images/prefs.png">
- <br>
- <br>
-
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
-
- </font>
-
-</body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/use.html b/org.eclipse.mylyn.bugzilla.ui/doc/html/start/use.html
deleted file mode 100644
index e1c0599f4..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/html/start/use.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
- <title>Getting Started</title>
-</head>
-
-<body>
- <font face="arial, lucida console">
-
- <h3>Using Bugzilla</h3>
- <br>
-
- <p>How to use the various functions of bugzilla, and interpret their results.
-
- </font>
-</body>
-
-</html>
diff --git a/org.eclipse.mylyn.bugzilla.ui/doc/toc.xml b/org.eclipse.mylyn.bugzilla.ui/doc/toc.xml
deleted file mode 100644
index ae0bccbeb..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/doc/toc.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<!--<toc label="Bugzilla Client" topic="docs/html/book.html"> -->
-<toc link_to="../org.eclipse.mylar.doc/doc/toc.xml#bugzilla" label="Bugzilla Client">
- <topic label="Bugzilla Client" href="doc/html/book.html">
- <topic label="Server Configuration" href="doc/html/start/setup.html"/>
- <topic label="New Bug Wizard" href="doc/html/start/bugWizard.html"/>
- <topic label="Searching Reports" href="doc/html/start/bugzillaSearch.html"/>
- <topic label="Saving Favorites" href="doc/html/start/bugzillaFavorites.html"/>
- <topic label="Saving Queries" href="doc/html/start/saveQuery.html"/>
- <topic label="Editing Reports" href="doc/html/start/bugEditor.html"/>
- <topic label="Offline Reports" href="doc/html/start/offlineReports.html"/>
- <topic label="Known Limitations" href="doc/html/start/limitations.html"/>
- </topic>
-</toc>
-
- <!--<topic label="Getting Started" href="docs/html/start.html">-->
- <!-- <topic label="Using Bugzilla" href="docs/html/start/use.html">--> \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-comment.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-comment.gif
deleted file mode 100644
index 97bbdf7dd..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-comment.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-dirty.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-dirty.gif
deleted file mode 100644
index 8628881c7..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-dirty.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-favorite.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-favorite.gif
deleted file mode 100644
index 6830e3348..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-favorite.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-new.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-new.gif
deleted file mode 100644
index 312ca8f9d..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-new.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search-new.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search-new.gif
deleted file mode 100644
index 8ac5e5706..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search-new.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search.gif
deleted file mode 100644
index b70606376..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-search.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-small.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-small.gif
deleted file mode 100644
index 761b283ff..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug-small.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug.gif
deleted file mode 100644
index 54525a775..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/bug.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-conflicting.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-conflicting.gif
deleted file mode 100644
index d13a35640..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-conflicting.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-incoming.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-incoming.gif
deleted file mode 100644
index f74cffb45..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-incoming.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-outgoing.gif b/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-outgoing.gif
deleted file mode 100644
index 0c5a35cfa..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/elcl16/overlay-outgoing.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query-new.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query-new.gif
deleted file mode 100644
index 09fcacad3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query-new.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query.gif
deleted file mode 100644
index 94e7d5d1c..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/category-query.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-new.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-new.gif
deleted file mode 100644
index 04f3028c2..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-new.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-refresh.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-refresh.gif
deleted file mode 100644
index bb8538b39..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug-refresh.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug.gif b/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug.gif
deleted file mode 100644
index 71b1baba1..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/etool16/task-bug.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/openresult.gif b/org.eclipse.mylyn.bugzilla.ui/icons/openresult.gif
deleted file mode 100644
index 2b645a88f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/openresult.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/remove-all.gif b/org.eclipse.mylyn.bugzilla.ui/icons/remove-all.gif
deleted file mode 100644
index 2c069ab3f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/remove-all.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/remove.gif b/org.eclipse.mylyn.bugzilla.ui/icons/remove.gif
deleted file mode 100644
index 12a9167c5..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/remove.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/selectAll.gif b/org.eclipse.mylyn.bugzilla.ui/icons/selectAll.gif
deleted file mode 100644
index e159862e3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/selectAll.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/icons/wizban/bug-wizard.gif b/org.eclipse.mylyn.bugzilla.ui/icons/wizban/bug-wizard.gif
deleted file mode 100644
index ec6d66ce3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/icons/wizban/bug-wizard.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.bugzilla.ui/plugin.xml b/org.eclipse.mylyn.bugzilla.ui/plugin.xml
deleted file mode 100644
index e4275632e..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/plugin.xml
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension point="org.eclipse.mylar.tasklist.providers">
- <taskHandler
- taskHandlerClass="org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskHandler"
- externalizerClass="org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskExternalizer"
- id="org.eclipse.mylar.bugzilla.ui.tasklist"
- name="Bugzilla Contributor">
- </taskHandler>
- </extension>
-
- <extension point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaPerspective">
- <newWizardShortcut id="org.eclipse.mylar.bugzilla.bugWizard"/>
- </perspectiveExtension>
- </extension>
-
- <extension
- id="org.eclipse.mylar.bugzilla.wizards"
- name="Bug Wizard"
- point="org.eclipse.ui.newWizards">
- <category
- name="Bugzilla Client"
- id="org.eclipse.mylar.bugzilla.wizard.category">
- </category>
- <wizard
- category="org.eclipse.mylar.bugzilla.wizard.category"
- class="org.eclipse.mylar.bugzilla.ui.wizard.NewBugWizard"
- icon="icons/elcl16/bug-new.gif"
- id="org.eclipse.mylar.bugzilla.bugWizard"
- name="New Bug Report">
- <description>
- Create a new bug report
- </description>
- </wizard>
-</extension>
-
- <extension
- id="org.eclipse.mylar.bugzilla.help.browser"
- name="Bugzilla Help"
- point="org.eclipse.help.toc">
- <toc
- file="doc/toc.xml"
- primary="false">
- </toc>
- </extension>
- <extension
- id="org.eclipse.mylar.bugzilla.ui"
- name="Bugzilla Client Views"
- point="org.eclipse.ui.views">
- <category
- name="Bugzilla"
- id="org.eclipse.mylar.bugzilla.category"/>
- <view
- name="Bugzilla Offline Reports"
- icon="icons/elcl16/bug-dirty.gif"
- category="org.eclipse.mylar.bugzilla.category"
- class="org.eclipse.mylar.bugzilla.ui.OfflineView"
- id="org.eclipse.mylar.bugzilla.ui.offlineReportsView"/>
- <view
- name="Bugzilla Favorites"
- icon="icons/elcl16/bug-favorite.gif"
- category="org.eclipse.mylar.bugzilla.category"
- class="org.eclipse.mylar.bugzilla.ui.FavoritesView"
- id="org.eclipse.mylar.bugzilla.ui.favoritesView"/>
- </extension>
- <extension
- point="org.eclipse.ui.editors">
- <editor
- name="Bugzilla viewer"
- icon="icons/elcl16/bug.gif"
- class="org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditor"
- id="org.eclipse.mylar.bugzilla.ui.existingBugEditor">
- </editor>
- <editor
- name="Bugzilla viewer"
- icon="icons/elcl16/bug.gif"
- class="org.eclipse.mylar.bugzilla.ui.editor.NewBugEditor"
- id="org.eclipse.mylar.bugzilla.ui.newBugEditor">
- </editor>
- <editor
- icon="icons/elcl16/bug.gif"
- name="Bugzilla task viewer"
- class="org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskEditor"
- id="org.eclipse.mylar.bugzilla.ui.tasklist.bugzillaTaskEditor"/>
- </extension>
- <extension
- id="org.eclipse.mylar.bugzilla.help.context"
- name="Bugzilla Context-sensitive Help"
- point="org.eclipse.help.contexts">
- <contexts
- file="bugzilla-help.xml">
- </contexts>
- </extension>
- <extension
- point="org.eclipse.search.searchPages"
- id="org.eclipse.mylar.bugzilla.core.search.searchPage"
- name="Bugzilla Search Page">
- <page
- class="org.eclipse.mylar.bugzilla.ui.search.BugzillaSearchPage"
- enabled="true"
- icon="icons/elcl16/bug-search.gif"
- id="org.eclipse.mylar.bugzilla.core.search.bugzillaSearchPage"
- label="Bugzilla Search"
- tabPosition="999"/>
- </extension>
- <extension
- id="BugzillaSearchPage"
- point="org.eclipse.search.searchResultViewPages">
- <viewPage
- class="org.eclipse.mylar.bugzilla.ui.search.BugzillaSearchResultView"
- searchResultClass="org.eclipse.mylar.bugzilla.core.search.BugzillaSearchResult"
- id="org.eclipse.mylar.bugzilla.BugzillaSearchResultPage"/>
- </extension>
-
- <extension point="org.eclipse.ui.viewActions">
- <viewContribution
- id="org.eclipse.mylar.bugzilla.ui.tasklist.actions"
- targetID="org.eclipse.mylar.tasks.ui.views.TaskListView">
-
- <action
- class="org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaAction"
- enablesFor="*"
- icon="icons/etool16/task-bug-refresh.gif"
- id="org.eclipse.mylar.bugzilla.ui.popup.refresh"
- label="Synchronize Reports"
- menubarPath="reports"
- tooltip="Synchronize Reports">
- </action>
-
-
- <action
- class="org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaQueryCategoryAction"
- enablesFor="*"
- icon="icons/etool16/category-query-new.gif"
- id="org.eclipse.mylar.bugzilla.tasklist.addQuery"
- label="Add Bugzilla Query"
- menubarPath="reports"
- style="push"
- tooltip="Add Bugzilla Query">
- </action>
-
- <action
- class="org.eclipse.mylar.bugzilla.ui.actions.CreateNewBugzillaTaskAction"
- enablesFor="*"
- icon="icons/etool16/task-bug-new.gif"
- id="org.eclipse.mylar.bugzilla.tasklist.addNew"
- label="Add New Bugzilla Report"
- menubarPath="reports"
- style="push"
- toolbarPath="reports"
- tooltip="Add New Bugzilla Report">
- </action>
-
- <action
- class="org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaTaskAction"
- enablesFor="*"
- icon="icons/etool16/task-bug.gif"
- id="org.eclipse.mylar.bugzilla.tasklist.addExisting"
- label="Add Existing Bugzilla Report"
- menubarPath="reports"
- style="push"
- tooltip="Add Existing Bugzilla Report">
- </action>
- </viewContribution>
- </extension>
-
-<!--
- <extension
- point="org.eclipse.ui.popupMenus">
- <viewerContribution
- id="org.eclipse.mylar.bugzilla.ui.viewerContribution1"
- targetID="org.eclipse.mylar.tasks.ui.views.TaskListView">
- <action
- class="org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaTaskAction"
- enablesFor="*"
- icon="icons/etool16/task-bug.gif"
- id="org.eclipse.mylar.bugzilla.ui.popup.addExisting"
- label="Add Existing Bugzilla Report"
- menubarPath="reports"
- tooltip="Add Existing Bugzilla Report">
- <enablement>
- <objectClass name="org.eclipse.mylar.tasklist.internal.TaskCategory"/>
- </enablement>
- </action>
- <action
- class="org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaAction"
- enablesFor="*"
- icon="icons/etool16/task-bug-refresh.gif"
- id="org.eclipse.mylar.bugzilla.ui.popup.refresh"
- label="Synchronize Reports"
- menubarPath="reports"
- tooltip="Synchronize Reports">
- <enablement>
- <or>
- <objectClass name="org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask"/>
- <objectClass name="org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaQueryCategory"/>
- <objectClass name="org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaHit"/>
- </or>
- </enablement>
- </action>
- </viewerContribution>
- </extension>
--->
-</plugin>
-
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaImages.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaImages.java
deleted file mode 100644
index 77de23d0a..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaImages.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.tasklist.TaskListImages.MylarTasklistOverlayDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This class provides convenience access to many of the resources required
- * by the workbench. The class stores some images as descriptors, and
- * some are stored as real Images in the registry. This is a pure
- * speed-space tradeoff. The trick for users of this class is that
- * images obtained from the registry (using getImage()), don't require
- * disposal since they are shared, while images obtained using
- * getImageDescriptor() will require disposal. Consult the declareImages
- * method to see if a given image is declared as a registry image or
- * just as a descriptor. If you change an image from being stored
- * as a descriptor to a registry image, or vice-versa, make sure to
- * check all users of the image to ensure they are calling
- * the correct getImage... method and handling disposal correctly.
- *
- * Images:
- * - use getImage(key) to access cached images from the registry.
- * - Less common images are found by calling getImageDescriptor(key)
- * where key can be found in IWorkbenchGraphicConstants
- *
- * This class initializes the image registry by declaring all of the required
- * graphics. This involves creating image descriptors describing
- * how to create/find the image should it be needed.
- * The image is not actually allocated until requested.
- *
- * Some Images are also made available to other plugins by being
- * placed in the descriptor table of the SharedImages class.
- *
- * Where are the images?
- * The images (typically gifs) are found the plugins install directory
- *
- * How to add a new image
- * Place the gif file into the appropriate directories.
- * Add a constant to IWorkbenchGraphicConstants following the conventions
- * Add the declaration to this file
- */
-public class BugzillaImages {
-
- private static Map<ImageDescriptor, Image> imageMap = new HashMap<ImageDescriptor, Image>();
-
- private static final URL baseURL = BugzillaUiPlugin.getDefault().getBundle().getEntry("/icons/");
- public static final String T_ELCL = "elcl16";
- public static final String T_TOOL = "etool16";
-
- public static final ImageDescriptor IMG_TOOL_ADD_TO_FAVORITES = create(T_ELCL, "bug-favorite.gif");
- public static final ImageDescriptor BUG = create(T_ELCL, "bug.gif");
- public static final ImageDescriptor BUG_HIT = create(T_ELCL, "bug-small.gif");
- public static final ImageDescriptor IMG_COMMENT = create(T_ELCL, "bug-comment.gif");
- public static final ImageDescriptor TASK_BUG = create(T_TOOL, "task-bug.gif");
-
- public static final ImageDescriptor OVERLAY_INCOMMING = create(T_ELCL, "overlay-incoming.gif");
- public static final ImageDescriptor OVERLAY_OUTGOING = create(T_ELCL, "overlay-outgoing.gif");
- public static final ImageDescriptor OVERLAY_CONFLICT = create(T_ELCL, "overlay-conflicting.gif");
-
- public static final ImageDescriptor TASK_BUGZILLA = createWithOverlay(TASK_BUG, null);
- public static final ImageDescriptor TASK_BUGZILLA_INCOMMING = createWithOverlay(TASK_BUGZILLA, OVERLAY_INCOMMING);
- public static final ImageDescriptor TASK_BUGZILLA_CONFLICT = createWithOverlay(TASK_BUGZILLA, OVERLAY_CONFLICT);
- public static final ImageDescriptor TASK_BUGZILLA_OUTGOING = createWithOverlay(TASK_BUGZILLA, OVERLAY_OUTGOING);
- public static final ImageDescriptor BUGZILLA_HIT = createWithOverlay(BUG_HIT, null);
- public static final ImageDescriptor BUGZILLA_HIT_INCOMMING = BUGZILLA_HIT;//createWithOverlay(BUGZILLA_HIT, OVERLAY_INCOMMING);
-
- public static final ImageDescriptor TASK_BUGZILLA_NEW = create(T_TOOL, "task-bug-new.gif");
- public static final ImageDescriptor CATEGORY_QUERY = create(T_TOOL, "category-query.gif");
- public static final ImageDescriptor CATEGORY_QUERY_NEW = create(T_TOOL, "category-query-new.gif");
- public static final ImageDescriptor TASK_BUG_REFRESH = create(T_TOOL, "task-bug-refresh.gif");
-
- public static final ImageDescriptor REMOVE_ALL = create("", "remove-all.gif");
- public static final ImageDescriptor REMOVE = create("", "remove.gif");
- public static final ImageDescriptor SELECT_ALL = create("", "selectAll.gif");
- public static final ImageDescriptor OPEN = create("", "openresult.gif");
-
- private static ImageDescriptor create(String prefix, String name) {
- try {
- return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
- } catch (MalformedURLException e) {
- return ImageDescriptor.getMissingImageDescriptor();
- }
- }
-
- private static ImageDescriptor createWithOverlay(ImageDescriptor base, ImageDescriptor overlay) {
- return new MylarTasklistOverlayDescriptor(base, overlay);
- }
-
- private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
- if (baseURL == null)
- throw new MalformedURLException();
-
- StringBuffer buffer= new StringBuffer(prefix);
- if(prefix != "")
- buffer.append('/');
- buffer.append(name);
- return new URL(baseURL, buffer.toString());
- }
-
- /**
- * Lazily initializes image map.
- */
- public static Image getImage(ImageDescriptor imageDescriptor) {
- Image image = imageMap.get(imageDescriptor);
- if (image == null) {
- image = imageDescriptor.createImage();
- imageMap.put(imageDescriptor, image);
- }
- return image;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaOpenStructure.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaOpenStructure.java
deleted file mode 100644
index c902d5dd7..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaOpenStructure.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.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/bugzilla/ui/BugzillaResultMatchAdapter.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaResultMatchAdapter.java
deleted file mode 100644
index 600f14d25..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaResultMatchAdapter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui;
-
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchResult;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaResultEditorMatchAdapter;
-import org.eclipse.mylar.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/bugzilla/ui/BugzillaTableContentProvider.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaTableContentProvider.java
deleted file mode 100644
index bbc4609a7..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaTableContentProvider.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaContentProvider;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchResult;
-import org.eclipse.mylar.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/bugzilla/ui/BugzillaUITools.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUITools.java
deleted file mode 100644
index b141ee85e..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUITools.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditor;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditorInput;
-import org.eclipse.mylar.bugzilla.ui.editor.NewBugEditorInput;
-import org.eclipse.search.internal.ui.SearchMessages;
-import org.eclipse.search.internal.ui.SearchPlugin;
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.internal.browser.WorkbenchBrowserSupport;
-
-public class BugzillaUITools {
-
- /** The editor to use when a bug is opened */
- private static IEditorPart fEditor;
-
- /**
- * Convenience method for opening a bug in an editor.
- * @param id The bug id of the bug to open in the editor
- */
- public static boolean show(int id)
- {
- // determine if the editor is to be reused or not and call the appropriate
- // function to show the bug
- if (NewSearchUI.reuseEditor())
- return showWithReuse(id);
- else
- return showWithoutReuse(id);
- }
-
- /**
- * Show the bug in the same editor window
- * @param id The id of the bug to show
- */
- private static boolean showWithReuse(int id)
- {
- // get the active page so that we can reuse it
- IWorkbenchPage page = SearchPlugin.getActivePage();
- try
- {
- // if we couldn't get a page, get out
- if (page == null)
- return true;
-
- IEditorInput input = null;
-
- // try to get an editor input on the bug
- input = new ExistingBugEditorInput(id);
-
- // check if we found a valid bug
- if(((ExistingBugEditorInput)input).getBug() == null)
- {
- MessageDialog.openError(null, "No such bug", "No bug exists with this id");
- return false;
- }
-
- // get the editor for the page
- IEditorPart editor = page.findEditor(input);
-
- if (editor == null)
- {
- // close the current editor if it is clean and open
- if (fEditor != null && !fEditor.isDirty())
- page.closeEditor(fEditor, false);
-
- try
- {
- // try to open a new editor with the input bug, but don't activate it
- editor= page.openEditor(input, IBugzillaConstants.EXISTING_BUG_EDITOR_ID, false);
- }
- catch (PartInitException ex)
- {
- // if there was a problem, handle it and log it, then get out of here
- ExceptionHandler.handle(ex, SearchMessages.Search_Error_search_title, SearchMessages.Search_Error_search_message); //$NON-NLS-2$ //$NON-NLS-1$
- BugzillaPlugin.log(ex.getStatus());
- return false;
- }
-
- }
- else
- {
- // if a editor is openon that bug, just bring it to the top
- // of the editors
- page.bringToTop(editor);
- }
-
- if (editor != null)
- {
- // if we have an editor, save it for later use
- fEditor= editor;
- }
- }
- 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(IOException e){
- IStatus status = new MultiStatus( IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + " occurred while opening the bug report. \n\nClick Details or see log for more information.", e);
- IStatus s = new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + ": ", e);
- ((MultiStatus)status).add(s);
- s = new Status (IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e);
- ((MultiStatus)status).add(s);
-
- //write error to log
- BugzillaPlugin.log(status);
-
- ErrorDialog.openError(null, "Bugzilla Error", null, status);
- return false;
- }
-
- return true;
- }
-
- /**
- * Show the bug in a new editor window
- * @param id The id of the bug to show
- */
- private static boolean showWithoutReuse(int id)
- {
- // get the active workbench page
- IWorkbenchPage page = SearchPlugin.getActivePage();
- try
- {
- // if we couldn't get the page, get out of here
- if (page == null)
- return true;
-
- IEditorInput input = null;
- String editorId = IBugzillaConstants.EXISTING_BUG_EDITOR_ID;
-
- // get a new editor input on the bug that we want to open
- input = new ExistingBugEditorInput(id);
-
- // check if we found a valid bug
- if(((ExistingBugEditorInput)input).getBug() == null)
- {
- MessageDialog.openError(null, "No such bug", "No bug exists with this id");
- return false;
- }
-
- try
- {
- // try to open an editor on the input bug
- page.openEditor(input, editorId);
- }
- catch (PartInitException ex)
- {
- // if we have a problem, handle it, log it, and get out of here
- ExceptionHandler.handle(ex, SearchMessages.Search_Error_search_title, SearchMessages.Search_Error_search_message); //$NON-NLS-2$ //$NON-NLS-1$
- BugzillaPlugin.log(ex.getStatus());
- return false;
- }
- }
- 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(IOException e){
- IStatus status = new MultiStatus( IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + " occurred while opening the bug report. \n\nClick Details or see log for more information.", e);
- IStatus s = new Status(IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getClass().toString() + ": ", e);
- ((MultiStatus)status).add(s);
- s = new Status (IStatus.ERROR, IBugzillaConstants.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e);
- ((MultiStatus)status).add(s);
-
- //write error to log
- BugzillaPlugin.log(status);
-
- ErrorDialog.openError(null, "Bugzilla Error", null, status);
- return false;
- }
- return true;
- }
-
- public static void closeEditor(IWorkbenchPage page, IBugzillaBug bug) {
- if(bug instanceof NewBugModel){
- IEditorInput input = new NewBugEditorInput((NewBugModel)bug);
- IEditorPart bugEditor = page.findEditor(input);
- if (bugEditor != null) {
- page.closeEditor(bugEditor, false);
- }
- } else if(bug instanceof BugReport){
- IEditorInput input = new ExistingBugEditorInput((BugReport)bug);
- IEditorPart bugEditor = page.findEditor(input);
- if (bugEditor != null) {
- page.closeEditor(bugEditor, false);
- IEditorPart compareEditor = page.findEditor(((ExistingBugEditor)bugEditor).getCompareInput());
- if (compareEditor != null) {
- page.closeEditor(compareEditor, false);
- }
- }
- }
- }
-
- public static void openUrl(String title, String tooltip, String url) {
- try {
- IWebBrowser b = null;
- int flags = 0;
- if (WorkbenchBrowserSupport.getInstance()
- .isInternalWebBrowserAvailable()) {
- flags = WorkbenchBrowserSupport.AS_EDITOR
- | WorkbenchBrowserSupport.LOCATION_BAR
- | WorkbenchBrowserSupport.NAVIGATION_BAR;
-
- } else {
- flags = WorkbenchBrowserSupport.AS_EXTERNAL
- | WorkbenchBrowserSupport.LOCATION_BAR
- | WorkbenchBrowserSupport.NAVIGATION_BAR;
- }
- b = WorkbenchBrowserSupport.getInstance().createBrowser(
- flags, "org.eclipse.mylar.tasklist." + title, title,
- tooltip);
- b.openURL(new URL(url));
- } catch (PartInitException e) {
- MessageDialog.openError( Display.getDefault().getActiveShell(),
- "Browser init error", "Browser could not be initiated");
- } catch (MalformedURLException e) {
- MessageDialog.openError( Display.getDefault().getActiveShell(),
- "URL not found", "URL Could not be opened");
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUiPlugin.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUiPlugin.java
deleted file mode 100644
index 0d9a2254f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/BugzillaUiPlugin.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaRefreshManager;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskListManager;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class BugzillaUiPlugin extends AbstractUIPlugin {
-
- private BugzillaTaskListManager bugzillaTaskListManager;
- private BugzillaRefreshManager bugzillaRefreshManager;
-
- private static BugzillaUiPlugin plugin;
-
-
- /**
- * The constructor.
- */
- public BugzillaUiPlugin() {
- plugin = this;
- }
-
- /**
- * This method is called upon plug-in activation
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- BugzillaPlugin.setResultEditorMatchAdapter(new BugzillaResultMatchAdapter());
- bugzillaTaskListManager = new BugzillaTaskListManager();
- bugzillaRefreshManager = new BugzillaRefreshManager();
- BugzillaPlugin.getDefault().addOfflineStatusListener(bugzillaTaskListManager);
- }
-
- /**
- * This method is called when the plug-in is stopped
- */
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- bugzillaRefreshManager.clearAllRefreshes();
- }
-
- /**
- * Returns the shared instance.
- */
- public static BugzillaUiPlugin getDefault() {
- return plugin;
- }
-
- /**
- * 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.ui", path);
- }
-
- public BugzillaTaskListManager getBugzillaTaskListManager() {
- return bugzillaTaskListManager;
- }
-
- public BugzillaRefreshManager getBugzillaRefreshManager() {
- return bugzillaRefreshManager;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/FavoritesView.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/FavoritesView.java
deleted file mode 100644
index be9087537..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/FavoritesView.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-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.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.favorites.Favorite;
-import org.eclipse.mylar.bugzilla.core.favorites.FavoritesFile;
-import org.eclipse.mylar.bugzilla.ui.favorites.actions.AbstractFavoritesAction;
-import org.eclipse.mylar.bugzilla.ui.favorites.actions.DeleteFavoriteAction;
-import org.eclipse.mylar.bugzilla.ui.favorites.actions.ViewFavoriteAction;
-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.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 shows any bug marked as favorites.
- */
-public class FavoritesView extends ViewPart {
-
- private static Composite savedParent;
-
- private IMemento savedMemento;
-
- private static DeleteFavoriteAction remove;
-
- public static DeleteFavoriteAction removeAll;
-
- public static SelectAllAction selectAll;
-
- private static ViewFavoriteAction open;
-
- private Table table;
-
- private MenuManager contextMenu;
-
- private static TableViewer viewer;
-
- private String[] columnHeaders = {
- "Bug",
- "Query",
- "Date"
- };
-
- private ColumnLayoutData columnLayouts[] = {
- new ColumnWeightData(10),
- new ColumnWeightData(3),
- new ColumnWeightData(5)
- };
-
- /**
- * Constructor initializes favorites' source file initializes actions
- */
- public FavoritesView() {
- super();
- open = new ViewFavoriteAction(this);
- selectAll = new SelectAllAction();
- remove = new DeleteFavoriteAction(this, false);
- removeAll = new DeleteFavoriteAction(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 parent) {
- FavoritesView.savedParent = parent;
- setPartName("Bugzilla Favorites");
- 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(new FavoritesViewContentProvider(this));
- viewer.setLabelProvider(new FavoritesViewLabelProvider());
- viewer.setInput(BugzillaPlugin.getDefault().getFavorites().elements());
-
- viewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- FavoritesView.this.widgetSelected(event);
- }
- });
-
- fillToolbar();
- createContextMenu();
-
- Menu menu = contextMenu.createContextMenu(table);
- table.setMenu(menu);
-
- hookGlobalActions();
- parent.layout();
-
- // Restore state from the previous session.
- restoreState();
- }
-
- @Override
- public void setFocus() {
- // don't need to do anything when the focus is set
- }
-
- 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(savedParent, 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 favorites
- sortByIDAction = new SortByAction(FavoritesFile.ID_SORT);
- sortByIDAction.setText("by &Bug ID");
- sortByIDAction.setToolTipText("Sorts by bug number");
-
- sortByPriorityAction = new SortByAction(FavoritesFile.PRIORITY_SORT);
- sortByPriorityAction.setText("by &Priority");
- sortByPriorityAction.setToolTipText("Sorts by riority of the bug");
-
- sortBySeverityAction = new SortByAction(FavoritesFile.SEVERITY_SORT);
- sortBySeverityAction.setText("by &Severity");
- sortBySeverityAction.setToolTipText("Sorts by severity of the bug");
-
- sortByStatusAction = new SortByAction(FavoritesFile.STATE_SORT);
- sortByStatusAction.setText("by S&tatus");
- sortByStatusAction.setToolTipText("Sorts by status of the bug");
-
- // 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(sortBySeverityAction);
- submenu.add(sortByPriorityAction);
- submenu.add(sortByStatusAction);
-
- updateSortingState();
- }
-
- /**
- * Function to make sure that the appropriate sort is checked
- */
- void updateSortingState() {
- int curCriterion = FavoritesFile.lastSel;
-
- sortByIDAction.setChecked(curCriterion == FavoritesFile.ID_SORT);
- sortBySeverityAction.setChecked(curCriterion == FavoritesFile.SEVERITY_SORT);
- sortByPriorityAction.setChecked(curCriterion == FavoritesFile.PRIORITY_SORT);
- sortByStatusAction.setChecked(curCriterion == FavoritesFile.STATE_SORT);
- viewer.setInput(viewer.getInput());
- }
-
- // Sorting actions for the favorites view
- SortByAction sortByIDAction, sortBySeverityAction, sortByPriorityAction, sortByStatusAction;
-
- /**
- * Inner class to handle sorting
- * @author Shawn Minto
- */
- class SortByAction extends Action {
- /** The criteria to sort the favorites menu based on */
- private int criterion;
-
- /**
- * Constructor
- * @param criteria The criteria to sort the favorites menu based on
- */
- public SortByAction(int criteria) {
- this.criterion = criteria;
- }
-
- /**
- * Perform the sort
- */
- @Override
- public void run() {
- BugzillaPlugin.getDefault().getFavorites().sort(criterion);
- updateSortingState();
- }
- }
-
- /**
- * Create context menu.
- */
- private void createContextMenu() {
- contextMenu = new MenuManager("#FavoritesView");
- contextMenu.setRemoveAllWhenShown(true);
- contextMenu.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- fillContextMenu(manager);
- updateActionEnablement();
- }
- });
-
- // Register menu for extension.
- getSite().registerContextMenu("#FavoritesView", 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 DeleteFavoriteAction(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().getFavorites().find(Integer.valueOf(id).intValue());
- }
- table.setSelection(objList);
- }
- }
- viewer.setSelection(viewer.getSelection(), true);
- savedMemento = null;
- updateActionEnablement();
- }
-
- /**
- * Returns list of names of selected items.
- */
- public List<BugzillaOpenStructure> getBugIdsOfSelected() {
- IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();//TableItem[] sel = table.getSelection();
- List<?> sel = selection.toList();
- List<BugzillaOpenStructure> Ids = new ArrayList<BugzillaOpenStructure>();
-
- Iterator<?> itr = sel.iterator();
- while (itr.hasNext()) {
- Object o = itr.next();
- if (o instanceof Favorite) {
- Favorite entry = (Favorite) o;
- Integer id = (Integer) entry.getAttributes().get(IBugzillaConstants.HIT_MARKER_ATTR_ID);
- Ids.add(new BugzillaOpenStructure(entry.getServer(), id, -1));
- }
- }
-
- return Ids;
- }
-
- /**
- * Calls remove function in FavoritesFile
- */
- @SuppressWarnings("unchecked")
- public void deleteSelectedFavorites() {
- List<Favorite> selection = ((IStructuredSelection)viewer.getSelection()).toList();
- BugzillaPlugin.getDefault().getFavorites().remove(selection);
- viewer.setInput(viewer.getInput());
- }
-
- /**
- * Removes all of the favorites in the FavoritesFile.
- */
- public void deleteAllFavorites() {
- BugzillaPlugin.getDefault().getFavorites().removeAll();
- viewer.setInput(viewer.getInput());
- }
-
- /**
- * Refreshes the view.
- */
- public static void add() {
- if (viewer != null)
- viewer.setInput(viewer.getInput());
- }
-
-
- /**
- * @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<Favorite> sel = viewerSelection.toList();
- if (sel.size() > 0) {
- IStatusLineManager manager = this.getViewSite().getActionBars().getStatusLineManager();
- manager.setMessage(sel.get(0).toString());// table.getItem(selected).getText(0));
- }
-
- updateActionEnablement();
- }
-
- /**
- * Attempts to display this view on the workbench.
- */
- public static void checkWindow() {
- if (savedParent == null || savedParent.isDisposed()) {
- IWorkbenchWindow w = BugzillaPlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow();
- if (w != null) {
- IWorkbenchPage page = w.getActivePage();
- if (page != null) {
- try {
- page.showView(IBugzillaConstants.PLUGIN_ID + ".ui.favoritesView");
- } catch (PartInitException pie) {
- BugzillaPlugin.log(pie.getStatus());
- }
- }
- }
- }
- }
-
- /**
- * Action class - "Select All"
- */
- public class SelectAllAction extends AbstractFavoritesAction {
-
- public SelectAllAction() {
- setToolTipText("Select all favorites");
- setText("Select all");
- setImageDescriptor(BugzillaImages.SELECT_ALL);
- }
-
- @Override
- public void run() {
- checkWindow();
- table.selectAll();
- viewer.setSelection(viewer.getSelection(), true);
- updateActionEnablement();
- }
- }
-
- private class FavoritesViewLabelProvider 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 Favorite) {
- Favorite f = (Favorite) element;
- switch (columnIndex) {
- case 0:
- return f.toString();
- case 1:
- return f.getQuery();
- case 2:
- return f.getDate().toString();
- 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 void refresh() {
- // don't need to do anything to refresh
- }
-
- private class FavoritesViewContentProvider implements IStructuredContentProvider {
-
- private List results;
-
- /**
- * The constructor.
- */
- public FavoritesViewContentProvider(FavoritesView taskList) {
- // no setup to do
- }
-
- /**
- * 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 viewerChanged, Object oldInput, Object newInput) {
- this.results = (List) newInput;
-
- if (viewerChanged.getInput() != null) {
- viewerChanged.getControl().getDisplay().syncExec(new Runnable() {
- public void run() {
- FavoritesView.this.refresh();
- }
- });
- }
- }
-
- public void dispose() {
- if (results != null)
- results = null;
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/OfflineView.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/OfflineView.java
deleted file mode 100644
index dd586a9f0..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/OfflineView.java
+++ /dev/null
@@ -1,681 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.IOfflineBugListener.BugzillaOfflineStaus;
-import org.eclipse.mylar.bugzilla.core.offline.OfflineReportsFile;
-import org.eclipse.mylar.bugzilla.ui.actions.AbstractOfflineReportsAction;
-import org.eclipse.mylar.bugzilla.ui.actions.DeleteOfflineReportAction;
-import org.eclipse.mylar.bugzilla.ui.actions.ViewOfflineReportAction;
-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;
- // }
- file.add(bug, saveChosen);
- bug.setOfflineState(true);
- // 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/bugzilla/ui/ViewBugzillaAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/ViewBugzillaAction.java
deleted file mode 100644
index 1c6373829..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/ViewBugzillaAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.mylar.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(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/bugzilla/ui/WebBrowserDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/WebBrowserDialog.java
deleted file mode 100644
index 173fc1f44..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/WebBrowserDialog.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.graphics.Image;
-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.Shell;
-
-/**
- * Dialog to show the contents of an html page to the user
- *
- * @author Shawn Minto
- */
-public class WebBrowserDialog extends MessageDialog{
-
- private String data = null;
-
- public WebBrowserDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, int dialogImageType, String[] dialogButtonLabels, int defaultIndex, String data) {
- super(parentShell, dialogTitle, dialogTitleImage, dialogMessage,
- dialogImageType, dialogButtonLabels, defaultIndex);
- this.data = data;
- }
-
- public static int openAcceptAgreement(Shell parent, String title, String message, String data) {
- WebBrowserDialog dialog = new WebBrowserDialog(parent, title, null, // accept
- // the
- // default
- // window
- // icon
- message, NONE,
- new String[] { IDialogConstants.OK_LABEL}, 0, data);
- // ok is the default
- return dialog.open();
- }
-
- @Override
- public Control createCustomArea(Composite parent){
-// super.createCustomArea(parent);
-// Composite container = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout();
- parent.setLayout(layout);
- layout.numColumns = 1;
-
- Browser b = new Browser(parent, SWT.NONE);
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.horizontalSpan = 1;
- gd.verticalSpan = 50;
- b.setLayoutData(gd);
- b.setText(data);
-
- return parent;
- }
-
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/AbstractOfflineReportsAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/AbstractOfflineReportsAction.java
deleted file mode 100644
index dec0ea4a9..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/AbstractOfflineReportsAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.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/bugzilla/ui/actions/BugzillaSortAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/BugzillaSortAction.java
deleted file mode 100644
index 495dce05f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/BugzillaSortAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.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/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java
deleted file mode 100644
index 17d0c1874..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * 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.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.viewers.ISelection;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaCustomQuery;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaQueryCategory;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaQueryDialog;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-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 and Ken Sueda
- */
-public class CreateBugzillaQueryCategoryAction extends Action implements IViewActionDelegate {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.create.bug.query";
-
- public CreateBugzillaQueryCategoryAction() {
- setText("Add Bugzilla Query");
- setToolTipText("Add Bugzilla Query");
- setId(ID);
- setImageDescriptor(BugzillaImages.CATEGORY_QUERY_NEW);
- }
-
- @Override
- public void run() {
-
- // ask the user for the query string and a name
-// MylarPlugin.getDefault().actionObserved(this);
- BugzillaQueryDialog sqd = new BugzillaQueryDialog(Display.getCurrent().getActiveShell());
- if(sqd.open() == Dialog.OK){
-
- final BugzillaQueryCategory queryCategory;
- if(!sqd.isCustom()){
- queryCategory = new BugzillaQueryCategory(sqd.getName(), sqd.getUrl(), sqd.getMaxHits());
- } else {
- queryCategory = new BugzillaCustomQuery(sqd.getName(), sqd.getUrl(), sqd.getMaxHits());
- }
- MylarTasklistPlugin.getTaskListManager().addQuery(queryCategory);
- boolean offline = MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.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) {
- MylarPlugin.log(e, "There was a problem executing the query refresh");
- }
- }
- if(TaskListView.getDefault() != null)
- TaskListView.getDefault().getViewer().refresh();
- }
- }
-
- public void init(IViewPart view) {
-
- }
-
- public void run(IAction action) {
- run();
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
-
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java
deleted file mode 100644
index 24a298888..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda
- */
-public class CreateBugzillaTaskAction extends Action implements IViewActionDelegate{
-
- private static final String LABEL = "Add Existing Bugzilla Report";
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.create.bug";
-
- public CreateBugzillaTaskAction() {
- setText(LABEL);
- setToolTipText(LABEL);
- setId(ID);
- setImageDescriptor(BugzillaImages.TASK_BUGZILLA);
- }
-
- @Override
- public void run() {
-// MylarPlugin.getDefault().actionObserved(this);
- if(TaskListView.getDefault() == null)
- return;
-
- String bugIdString = TaskListView.getDefault().getBugIdFromUser();
- int bugId = -1;
- try {
- if (bugIdString != null) {
- bugId = Integer.parseInt(bugIdString);
- } else {
- return;
- }
- } catch (NumberFormatException nfe) {
- TaskListView.getDefault().showMessage("Please enter a valid report number");
- return;
- }
-
- // XXX we don't care about duplicates since we use a registrey
- // Check the existing tasks to see if the id is used already.
- // This is to prevent the creation of mutliple Bugzilla tasks
- // for the same Bugzilla report.
-// boolean doesIdExistAlready = false;
-// doesIdExistAlready = lookForId("Bugzilla-" + bugId);
-// if (doesIdExistAlready) {
-// showMessage("A Bugzilla task with ID Bugzilla-" + bugId + " already exists.");
-// return;
-// }
-
- ITask newTask = new BugzillaTask("Bugzilla-"+bugId, "<bugzilla info>", true, true);
- Object selectedObject = ((IStructuredSelection)TaskListView.getDefault().getViewer().getSelection()).getFirstElement();
-
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(newTask);
- if(taskHandler != null){
- ITask addedTask = taskHandler.taskAdded(newTask);
- if(addedTask instanceof BugzillaTask){
- BugzillaTask newTask2 = (BugzillaTask)addedTask;
- if(newTask2 == newTask){
- ((BugzillaTask)newTask).scheduleDownloadReport();
- } else {
- newTask = newTask2;
- ((BugzillaTask)newTask).updateTaskDetails();
- }
- }
- } else {
- ((BugzillaTask)newTask).scheduleDownloadReport();
- }
- if (selectedObject instanceof TaskCategory){
- ((TaskCategory)selectedObject).addTask(newTask);
- } else {
- MylarTasklistPlugin.getTaskListManager().addRootTask(newTask);
- }
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry((BugzillaTask)newTask);
-//
-// BugzillaTask newBugTask = new BugzillaTask("Bugzilla-"+bugId, "<bugzilla info>");
-// BugzillaTask bugTask = BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().getFromBugzillaTaskRegistry(newBugTask.getHandle());
-// if(bugTask == null) {
-// BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry((BugzillaTask)bugTask);
-// }
-// Object selectedObject = ((IStructuredSelection)this.view.getViewer().getSelection()).getFirstElement();
-// if (selectedObject instanceof TaskCategory){
-// ((TaskCategory)selectedObject).addTask((ITask)bugTask);
-// } else {
-// MylarTasklistPlugin.getTaskListManager().getTaskList().addRootTask((ITask)bugTask);
-// }
- if(TaskListView.getDefault() != null)
- TaskListView.getDefault().getViewer().refresh();
- }
-
- public void init(IViewPart view) {
- }
-
- public void run(IAction action) {
- run();
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
-
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java
deleted file mode 100644
index dac5a3bc9..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.actions;
-
-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.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.bugzilla.ui.wizard.NewBugWizard;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class CreateNewBugzillaTaskAction extends Action implements IViewActionDelegate{
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.create.bug";
-
- public CreateNewBugzillaTaskAction() {
-// setText("Create and Add Bugzilla Report");
-// setToolTipText("Create and Add Bugzilla Report");
-// setId(ID);
-// setImageDescriptor(BugzillaImages.TASK_BUGZILLA_NEW);
- }
-
- @Override
- public void run() {
-
- boolean offline = MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.WORK_OFFLINE);
- if(offline){
- MessageDialog.openInformation(null, "Unable to create bug report", "Unable to create a new bug report since you are currently offline");
- return;
- }
-// MylarPlugin.getDefault().actionObserved(this);
-
- NewBugWizard wizard= new NewBugWizard(true);
- Shell shell = Workbench.getInstance().getActiveWorkbenchWindow().getShell();
- if (wizard != null && shell != null && !shell.isDisposed()) {
-
- WizardDialog dialog = new WizardDialog(shell, wizard);
- wizard.setForcePreviousAndNextButtons(true);
- dialog.create();
- dialog.setTitle("New Bug Wizard");
- dialog.setBlockOnOpen(true);
- if(dialog.open() == Dialog.CANCEL){
- dialog.close();
- return;
- }
-
- String bugIdString = wizard.getId();
- int bugId = -1;
- try {
- if (bugIdString != null) {
- bugId = Integer.parseInt(bugIdString);
- } else {
- return;
- }
- } catch (NumberFormatException nfe) {
- // TODO handle error
- return;
- }
-
-
- BugzillaTask newTask = new BugzillaTask("Bugzilla-"+bugId, "<bugzilla info>", true, true);
- Object selectedObject = null;
- if(TaskListView.getDefault() != null)
- selectedObject = ((IStructuredSelection)TaskListView.getDefault().getViewer().getSelection()).getFirstElement();
-
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(newTask);
- if(taskHandler != null){
- ITask addedTask = taskHandler.taskAdded(newTask);
- if(addedTask instanceof BugzillaTask){
- BugzillaTask newTask2 = (BugzillaTask)addedTask;
- if(newTask2 != newTask){
- newTask = newTask2;
- }
- }
- }
-
- if (selectedObject instanceof TaskCategory){
- ((TaskCategory)selectedObject).addTask(newTask);
- } else {
- MylarTasklistPlugin.getTaskListManager().addRootTask(newTask);
- }
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry((BugzillaTask)newTask);
- newTask.openTaskInEditor(false);
-
- if(!newTask.isBugDownloaded())
- newTask.scheduleDownloadReport();
-
- if(TaskListView.getDefault() != null)
- TaskListView.getDefault().getViewer().refresh();
- } else {
- // TODO handle not good
- }
- }
-
- public void init(IViewPart view) {
-
- }
-
- public void run(IAction action) {
- run();
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
-
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/DeleteOfflineReportAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/DeleteOfflineReportAction.java
deleted file mode 100644
index b10b35cf9..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/DeleteOfflineReportAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.actions;
-
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-
-/**
- * Action of removing a bookmark
- */
-public class DeleteOfflineReportAction extends AbstractOfflineReportsAction
-{
- /** The instance of the offlineReports view */
- private OfflineView view;
-
- /** True if all of the bookmarks are to be deleted */
- private boolean deleteAll;
-
- /**
- * Constructor
- * @param offlineReportsView The offlineReports view being used
- * @param deleteAllOfflineReports <code>true</code> if all of the offlineReports should be deleted, else <code>false</code>
- */
- public DeleteOfflineReportAction(OfflineView offlineReportsView, boolean deleteAllOfflineReports)
- {
- deleteAll = deleteAllOfflineReports;
-
- // 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 Offline Reports");
- setText("Remove all");
- setImageDescriptor(BugzillaImages.REMOVE_ALL);
- }
- else
- {
- setToolTipText( "Remove Selected Offline Reports" );
- setText( "Remove" );
- setImageDescriptor(BugzillaImages.REMOVE);
- }
-
- view = offlineReportsView;
- }
-
- /**
- * Delete the appropriate offline reports
- * @see org.eclipse.jface.action.IAction#run()
- */
- @Override
- public void run()
- {
- OfflineView.checkWindow();
-
- // call the appropriate delete function
- if (deleteAll)
- view.deleteAllOfflineReports();
- else
- view.deleteSelectedOfflineReports();
- OfflineView.updateActionEnablement();
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/OpenBugsAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/OpenBugsAction.java
deleted file mode 100644
index b427d413e..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/OpenBugsAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUITools;
-import org.eclipse.mylar.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 {
- Integer id = (Integer) marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID);
- BugzillaUITools.show(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/bugzilla/ui/actions/RefreshBugzillaAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java
deleted file mode 100644
index f37ae3f0f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaHit;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaQueryCategory;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @author Ken Sueda and Mik Kersten
- */
-public class RefreshBugzillaAction extends Action implements IViewActionDelegate{
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.refresh.bugzilla";
-
- private BugzillaQueryCategory cat = null;
-
- public RefreshBugzillaAction() {
- setText("Refresh Refresh");
- setToolTipText("Synchronize Bugzilla");
- setId(ID);
- setImageDescriptor(BugzillaImages.TASK_BUG_REFRESH);
- }
-
- public RefreshBugzillaAction(BugzillaQueryCategory cat) {
- this();
- assert(cat != null);
- this.cat = cat;
- }
-
- @Override
- public void run() {
-
- boolean offline = MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.WORK_OFFLINE);
- if(offline){
- MessageDialog.openInformation(null, "Unable to refresh query", "Unable to refresh the query since you are currently offline");
- return;
- }
-
- Object obj = cat;
- if(cat == null && TaskListView.getDefault() != null){
- ISelection selection = TaskListView.getDefault().getViewer().getSelection();
- obj = ((IStructuredSelection) selection).getFirstElement();
- }
- if (obj instanceof BugzillaQueryCategory) {
- final BugzillaQueryCategory cat = (BugzillaQueryCategory) obj;
-// final WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-// protected void execute(IProgressMonitor monitor) throws CoreException {
-//
-// }
-// };
-
- Job j = new Job("Bugzilla Category Refresh"){
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- cat.refreshBugs();
- for(IQueryHit hit: cat.getChildren()){
- if(hit.hasCorrespondingActivatableTask() && hit instanceof BugzillaHit){
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed((BugzillaTask)hit.getOrCreateCorrespondingTask());
- }
- }
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null)
- TaskListView.getDefault().getViewer().refresh();
- }
- });
-// try {
-// op.run(monitor);
-// } catch (InvocationTargetException e) {
-// MylarPlugin.log(e, e.getMessage());
-// } catch (InterruptedException e) {
-// MylarPlugin.log(e, e.getMessage());
-// }
- return Status.OK_STATUS;
- }
-
- };
-
- j.schedule();
-// // Use the progess service to execute the runnable
-// IProgressService service = PlatformUI.getWorkbench().getProgressService();
-// try {
-// service.run(true, false, op);
-// } catch (InvocationTargetException e) {
-// // Operation was canceled
-// MylarPlugin.log(e, e.getMessage());
-// } catch (InterruptedException e) {
-// // Handle the wrapped exception
-// MylarPlugin.log(e, e.getMessage());
-// }
- } else if (obj instanceof TaskCategory) {
- TaskCategory cat = (TaskCategory) obj;
- for (ITask task : cat.getChildren()) {
- if (task instanceof BugzillaTask) {
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed((BugzillaTask)task);
- }
- }
- } else if (obj instanceof BugzillaTask) {
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed((BugzillaTask)obj);
- } else if(obj instanceof BugzillaHit){
- BugzillaHit hit = (BugzillaHit)obj;
- if(hit.hasCorrespondingActivatableTask()){
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed(hit.getAssociatedTask());
- }
- }
- for(ITask task: MylarTasklistPlugin.getTaskListManager().getTaskList().getActiveTasks()){
- if(task instanceof BugzillaTask){
- ITask found = MylarTasklistPlugin.getTaskListManager().getTaskForHandle(task.getHandle(), false);
- if(found == null){
- MylarTasklistPlugin.getTaskListManager().addRootTask(task);
- MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Bugzilla Task Moved To Root", "Bugzilla Task " +
- BugzillaTask.getBugId(task.getHandle()) +
- " has been moved to the root since it is activated and has disappeared from a query.");
- }
- }
- }
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null)
- 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/bugzilla/ui/actions/RefreshBugzillaReportsAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java
deleted file mode 100644
index c30bcd3c2..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaQueryCategory;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class RefreshBugzillaReportsAction extends Action implements IViewActionDelegate{
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.refresh.bugdb";
-
- private boolean showProgress = true;
-
- public RefreshBugzillaReportsAction() {
- setText("Refresh Bugzilla Reports");
- setToolTipText("Refresh Bugzilla Reports");
- setId(ID);
- setImageDescriptor(BugzillaImages.TASK_BUG_REFRESH);
- }
-
- public void setShowProgress(boolean show) {
- this.showProgress = show;
- }
-
- @Override
- public void run() {
- boolean offline = MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.WORK_OFFLINE);
- if(offline){
- MessageDialog.openInformation(null, "Unable to refresh query", "Unable to refresh the query since you are currently offline");
- return;
- }
-// MylarPlugin.getDefault().actionObserved(this);
- // TODO background?
- // perform the update in an operation so that we get a progress monitor
- // update the structure bridge cache with the reference provider cached
- // bugs
- for(ITask task: MylarTasklistPlugin.getTaskListManager().getTaskList().getActiveTasks()){
- if(task instanceof BugzillaTask){
- ITask found = MylarTasklistPlugin.getTaskListManager().getTaskForHandle(task.getHandle(), false);
- if(found == null){
- MylarTasklistPlugin.getTaskListManager().addRootTask(task);
- MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Bugzilla Task Moved To Root", "Bugzilla Task " +
- BugzillaTask.getBugId(task.getHandle()) +
- " has been moved to the root since it is activated and has disappeared from a query.");
- }
- }
- }
- if (showProgress) {
- runWithProgressBar();
- } else {
- refreshTasksAndQueries();
- }
-
-// if(TaskListView.getDefault() != null)
-// TaskListView.getDefault().getViewer().refresh();
- }
-
- private void runWithProgressBar() {
-// final WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-// protected void execute(IProgressMonitor monitor)
-// throws CoreException {
-//
-// refreshTasksAndQueries();
-//
-//// XXX refactored active search
-// // clear the caches
-//// Set<String> cachedHandles = new HashSet<String>();
-//// cachedHandles.addAll(MylarTasklistPlugin.getDefault().getStructureBridge().getCachedHandles());
-//// cachedHandles.addAll(MylarTasklistPlugin.getReferenceProvider().getCachedHandles());
-//// MylarTasklistPlugin.getDefault().getStructureBridge().clearCache();
-//// MylarTasklistPlugin.getReferenceProvider().clearCachedReports();
-//// BugzillaStructureBridge bridge = MylarTasklistPlugin.getDefault().getStructureBridge();
-//
-//// monitor.beginTask("Downloading Bugs", cachedHandles.size());
-//// for (String key : cachedHandles) {
-//// try {
-//// String[] parts = key.split(";");
-//// final int id = Integer.parseInt(parts[1]);
-//// BugReport bug = BugzillaRepository.getInstance().getCurrentBug(id);
-//// if (bug != null) {
-//// bridge.cache(key, bug);
-//// }
-//// } catch (Exception e) {
-//// }
-////
-//// monitor.worked(1);
-//// }
-//// monitor.done();
-// }
-// };
-
- Job j = new Job("Bugzilla Category Refresh"){
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
-// try {
- refreshTasksAndQueries();
-// } catch (InvocationTargetException e) {
-// MylarPlugin.log(e, e.getMessage());
-// } catch (InterruptedException e) {
-// MylarPlugin.log(e, e.getMessage());
-// }
- return Status.OK_STATUS;
- }
-
- };
-
- j.schedule();
-// // Use the progess service to execute the runnable
-// IProgressService service = PlatformUI.getWorkbench()
-// .getProgressService();
-// try {
-// service.run(true, false, op);
-// } catch (InvocationTargetException e) {
-// // Operation was canceled
-// } catch (InterruptedException e) {
-// // Handle the wrapped exception
-// }
- }
-
- private void refreshTasksAndQueries() {
- List<ITask> tasks = MylarTasklistPlugin.getTaskListManager().getTaskList().getRootTasks();
-
- for (ITask task : tasks) {
- if (task instanceof BugzillaTask && !task.isCompleted()) {
-// ((BugzillaTask) task).refresh();
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed((BugzillaTask)task);
- }
- }
- for (ITaskListCategory cat : MylarTasklistPlugin
- .getTaskListManager().getTaskList().getCategories()) {
-// if(cat.isArchive())
-// continue;
-
- if (cat instanceof TaskCategory) {
- for (ITask task : ((TaskCategory) cat).getChildren()) {
- if (task instanceof BugzillaTask && !task.isCompleted()) {
- if(BugzillaTask.getLastRefreshTimeInMinutes(((BugzillaTask)task).getLastRefresh()) > 2){
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed((BugzillaTask)task);
- }
-// ((BugzillaTask) task).refresh();
- }
- }
- if (((TaskCategory) cat).getChildren() != null) {
- for (ITask child : ((TaskCategory) cat).getChildren()) {
- if (child instanceof BugzillaTask && !child.isCompleted()) {
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed((BugzillaTask)child);
-// ((BugzillaTask)child).refresh();
- }
- }
- }
- }
- }
- for(IQuery query: MylarTasklistPlugin
- .getTaskListManager().getTaskList().getQueries()){
- if(!(query instanceof BugzillaQueryCategory)){
- continue;
- }
-
- BugzillaQueryCategory bqc = (BugzillaQueryCategory) query;
- bqc.refreshBugs();
- for(IQueryHit hit: bqc.getChildren()){
- if(hit.hasCorrespondingActivatableTask()){
- BugzillaTask task = ((BugzillaTask)hit.getOrCreateCorrespondingTask());
- if(!task.isCompleted()){
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().addTaskToBeRefreshed(task);
-// task.refresh();
- }
- }
- }
- }
-
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null && !TaskListView.getDefault().getViewer().getControl().isDisposed()) {
- TaskListView.getDefault().getViewer().refresh();
- }
- }
- });
- }
-
- public void init(IViewPart view) {
-
- }
-
- public void run(IAction action) {
- run();
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- // ignore
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/ViewOfflineReportAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/ViewOfflineReportAction.java
deleted file mode 100644
index 74112a901..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/ViewOfflineReportAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.actions;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditorInput;
-import org.eclipse.mylar.bugzilla.ui.editor.NewBugEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-
-/**
- * View a bug from the offlineReports menu
- */
-public class ViewOfflineReportAction extends AbstractOfflineReportsAction
-{
-
- /** The view to get the result to launch a viewer on */
- private OfflineView view;
-
- /**
- * Constructor
- * @param resultsView The view to launch a viewer on
- */
- public ViewOfflineReportAction(OfflineView resultsView )
- {
- setToolTipText( "View Selected Offline Reports" );
- 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()
- {
- OfflineView.checkWindow();
- List<IBugzillaBug> selectedBugs = view.getSelectedBugs();
-
- // if there are some selected bugs view the bugs in the editor window
- if (!selectedBugs.isEmpty())
- {
- IWorkbenchPage page = BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- for (Iterator<IBugzillaBug> it = selectedBugs.iterator(); it.hasNext(); ) {
- IBugzillaBug bug = it.next();
- if (bug instanceof BugReport) {
- ExistingBugEditorInput editorInput = new ExistingBugEditorInput((BugReport)bug);
- try {
- page.openEditor(editorInput, IBugzillaConstants.EXISTING_BUG_EDITOR_ID);
- } catch (PartInitException e) {
- BugzillaPlugin.log(e);
- }
- continue;
- }
- if (bug instanceof NewBugModel) {
- NewBugEditorInput editorInput = new NewBugEditorInput((NewBugModel)bug);
- try {
- page.openEditor(editorInput, IBugzillaConstants.NEW_BUG_EDITOR_ID);
- } catch (PartInitException e) {
- BugzillaPlugin.log(e);
- }
- continue;
- }
- }
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditor.java
deleted file mode 100644
index ed428bcb4..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditor.java
+++ /dev/null
@@ -1,1675 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.editor;
-
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.BugPost;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.BugzillaTools;
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.mylar.bugzilla.core.IBugzillaAttributeListener;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.IBugzillaReportSelection;
-import org.eclipse.mylar.bugzilla.core.IOfflineBugListener.BugzillaOfflineStaus;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUITools;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaOutlineNode;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaOutlinePage;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaReportSelection;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.help.WorkbenchHelpSystem;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-
-/**
- * Abstract base implementation for an editor to view a bugzilla report.
- */
-public abstract class AbstractBugEditor extends EditorPart implements Listener {
-
- public static final int WRAP_LENGTH = 90;
-
- protected Display display;
-
- public static final Font TITLE_FONT = JFaceResources.getHeaderFont();
-
- // TODO: don't use hard-coded font
- public static final Font TEXT_FONT = JFaceResources.getDefaultFont();
- public static final Font COMMENT_FONT = JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT);
-// new Font(null, "Courier New", 9, SWT.NORMAL);
-
- public static final Font HEADER_FONT = JFaceResources.getDefaultFont();
-
- public static final int DESCRIPTION_WIDTH = 79 * 7;
-
- public static final int DESCRIPTION_HEIGHT = 10 * 14;
-
- protected Color background;
-
- protected Color foreground;
-
- protected AbstractBugEditorInput bugzillaInput;
-
- private BugzillaTaskEditor parentEditor = null;
-
- /**
- * Style option for function <code>newLayout</code>. This will create a
- * plain-styled, selectable text label.
- */
- protected final String VALUE = "VALUE";
-
- /**
- * Style option for function <code>newLayout</code>. This will create a
- * bolded, selectable header. It will also have an arrow image before the
- * text (simply for decoration).
- */
- protected final String HEADER = "HEADER";
-
- /**
- * Style option for function <code>newLayout</code>. This will create a
- * bolded, unselectable label.
- */
- protected final String PROPERTY = "PROPERTY";
-
- protected final int HORZ_INDENT = 0;
-
- protected Combo oSCombo;
-
- protected Combo versionCombo;
-
- protected Combo platformCombo;
-
- protected Combo priorityCombo;
-
- protected Combo severityCombo;
-
- protected Combo milestoneCombo;
-
- protected Combo componentCombo;
-
- protected Text urlText;
-
- protected Text summaryText;
-
- protected Text assignedTo;
-
- protected Button submitButton;
-
-// protected Button saveButton;
-
- protected int scrollIncrement;
-
- protected int scrollVertPageIncrement;
-
- protected int scrollHorzPageIncrement;
-
- public boolean isDirty = false;
-
- /** Manager controlling the context menu */
- protected MenuManager contextMenuManager;
-
- protected StyledText currentSelectedText;
-
- protected static final String cutActionDefId = "org.eclipse.ui.edit.cut"; //$NON-NLS-1$
-
- protected static final String copyActionDefId = "org.eclipse.ui.edit.copy"; //$NON-NLS-1$
-
- protected static final String pasteActionDefId = "org.eclipse.ui.edit.paste"; //$NON-NLS-1$
-
- protected RetargetAction cutAction;
-
- protected BugzillaEditorCopyAction copyAction;
-
- protected RetargetAction pasteAction;
-
- protected Composite editorComposite;
-
- protected CLabel titleLabel;
-
- protected ScrolledComposite scrolledComposite;
-
- protected Composite infoArea;
-
- protected Hyperlink linkToBug;
-
- protected StyledText generalTitleText;
-
- private List<IBugzillaAttributeListener> attributesListeners = new ArrayList<IBugzillaAttributeListener>();
-
- protected final ISelectionProvider selectionProvider = new ISelectionProvider() {
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- selectionChangedListeners.add(listener);
- }
-
- public ISelection getSelection() {
- return null;
- }
-
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- selectionChangedListeners.remove(listener);
- }
-
- public void setSelection(ISelection selection) {
- // No implementation.
- }
- };
-
- protected ListenerList selectionChangedListeners = new ListenerList();
-
- protected HashMap<Combo, String> comboListenerMap = new HashMap<Combo, String>();
-
- private IBugzillaReportSelection lastSelected = null;
-
- protected final ISelectionListener selectionListener = new ISelectionListener() {
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- if ((part instanceof ContentOutline) && (selection instanceof StructuredSelection)) {
- Object select = ((StructuredSelection)selection).getFirstElement();
- if(select instanceof BugzillaOutlineNode){
- BugzillaOutlineNode n = (BugzillaOutlineNode) select;
-
- if (n != null && lastSelected != null && BugzillaTools.getHandle(n).equals(BugzillaTools.getHandle(lastSelected))){
- // we don't need to set the selection if it is alredy set
- return;
- }
- lastSelected = n;
-
- Object data = n.getData();
- boolean highlight = true;
- if(n.getKey().toLowerCase().equals("comments")){
- highlight = false;
- }
- if(n.getKey().toLowerCase().equals("new comment")){
- selectNewComment();
- } else if(n.getKey().toLowerCase().equals("new description")){
- selectNewDescription();
- } else if (data != null){
- select(data, highlight);
- }
- }
- }
- }
- };
-
- /**
- * Creates a new <code>AbstractBugEditor</code>. Sets up the default fonts and
- * cut/copy/paste actions.
- */
- public AbstractBugEditor() {
-
- // set the scroll increments so the editor scrolls normally with the scroll wheel
- FontData[] fd = TEXT_FONT.getFontData();
- int cushion = 4;
- scrollIncrement = fd[0].getHeight() + cushion;
- scrollVertPageIncrement = 0;
- scrollHorzPageIncrement = 0;
-
- // set up actions for the context menu
- cutAction = new RetargetAction(ActionFactory.CUT.getId(), WorkbenchMessages.Workbench_cut);
- cutAction.setToolTipText(WorkbenchMessages.Workbench_cutToolTip);//WorkbenchMessages.getString("Workbench.cutToolTip")); //$NON-NLS-1$
- cutAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_CUT));
- cutAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_CUT));
- cutAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_CUT_DISABLED));
- cutAction.setAccelerator(SWT.CTRL | 'x');
- cutAction.setActionDefinitionId(cutActionDefId);
-
- pasteAction = new RetargetAction(ActionFactory.PASTE.getId(), WorkbenchMessages.Workbench_paste);
- pasteAction.setToolTipText(WorkbenchMessages.Workbench_pasteToolTip);//WorkbenchMessages.getString("Workbench.pasteToolTip")); //$NON-NLS-1$
- pasteAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_PASTE));
- pasteAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_PASTE));
- pasteAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_PASTE_DISABLED));
- pasteAction.setAccelerator(SWT.CTRL | 'v');
- pasteAction.setActionDefinitionId(pasteActionDefId);
-
- copyAction = new BugzillaEditorCopyAction(this);
- copyAction.setText(WorkbenchMessages.Workbench_copy);//WorkbenchMessages.getString("Workbench.copy"));
- copyAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_COPY));
- copyAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_COPY));
- copyAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_COPY_DISABLED));
- copyAction.setAccelerator(SWT.CTRL | 'c');
-
- copyAction.setEnabled(false);
- }
-
- /**
- * @return The bug this editor is displaying.
- */
- public abstract IBugzillaBug getBug();
-
- /**
- * @return Any currently selected text.
- */
- protected StyledText getCurrentText() {
- return currentSelectedText;
- }
-
- /**
- * @return The action used to copy selected text from a bug editor to the clipboard.
- */
- protected BugzillaEditorCopyAction getCopyAction() {
- return copyAction;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- editorComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.verticalSpacing = 0;
- layout.horizontalSpacing = 0;
- editorComposite.setLayout(layout);
- // Create the title for the editor
- createTitleArea(editorComposite);
- Label titleBarSeparator =
- new Label(editorComposite, SWT.HORIZONTAL | SWT.SEPARATOR);
-
- background = JFaceColors.getBannerBackground(display);
- foreground = JFaceColors.getBannerForeground(display);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- titleBarSeparator.setLayoutData(gd);
-
- // Put the bug info onto the editor
- createInfoArea(editorComposite);
-
- WorkbenchHelpSystem.getInstance().setHelp(editorComposite, IBugzillaConstants.EDITOR_PAGE_CONTEXT);
-
- infoArea.setMenu(contextMenuManager.createContextMenu(infoArea));
-
- getSite().getPage().addSelectionListener(selectionListener);
- getSite().setSelectionProvider(selectionProvider);
- }
-
- /**
- * Creates the title label at the top of the editor.
- *
- * @param parent
- * The composite to put the title label into.
- * @return The title composite.
- */
- protected Composite createTitleArea(Composite parent) {
- // Get the background color for the title area
- display = parent.getDisplay();
- background = JFaceColors.getBannerBackground(display);
- foreground = JFaceColors.getBannerForeground(display);
-
- // Create the title area which will contain
- // a title, message, and image.
- Composite titleArea = new Composite(parent, SWT.NO_FOCUS);
- GridLayout layout = new GridLayout();
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.verticalSpacing = 0;
- layout.horizontalSpacing = 0;
- layout.numColumns = 2;
- titleArea.setLayout(layout);
- titleArea.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- titleArea.setBackground(background);
-
- // Message label
- titleLabel = new CLabel(titleArea, SWT.LEFT);
- JFaceColors.setColors(titleLabel, foreground, background);
- titleLabel.setFont(TITLE_FONT);
-
- final IPropertyChangeListener fontListener = new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- if (JFaceResources.HEADER_FONT.equals(event.getProperty())) {
- titleLabel.setFont(TITLE_FONT);
- }
- }
- };
- titleLabel.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent event) {
- JFaceResources.getFontRegistry().removeListener(fontListener);
- }
- });
- JFaceResources.getFontRegistry().addListener(fontListener);
- GridData gd = new GridData(GridData.FILL_BOTH);
- titleLabel.setLayoutData(gd);
-
- // Title image
- Label titleImage = new Label(titleArea, SWT.LEFT);
- titleImage.setBackground(background);
- titleImage.setImage(
- WorkbenchImages.getImage(
- IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER));
- gd = new GridData();
- gd.horizontalAlignment = GridData.END;
- titleImage.setLayoutData(gd);
- return titleArea;
- }
-
- /**
- * Creates the part of the editor that contains the information about the
- * the bug.
- *
- * @param parent
- * The composite to put the info area into.
- * @return The info area composite.
- */
- protected Composite createInfoArea(Composite parent) {
-
- createContextMenu();
-
- scrolledComposite =
- new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
- scrolledComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
- infoArea = new Composite(this.scrolledComposite, SWT.NONE);
- scrolledComposite.setMinSize(
- infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- GridLayout infoLayout = new GridLayout();
- infoLayout.numColumns = 1;
- infoLayout.verticalSpacing = 0;
- infoLayout.horizontalSpacing = 0;
- infoLayout.marginWidth = 0;
- infoArea.setLayout(infoLayout);
- infoArea.setBackground(background);
- if (getBug() == null) {
- close();
- MessageDialog.openError(infoArea.getShell(), "No such bug",
- "No bug exists with this id");
- return null;
- }
- createLayouts();
-
- this.scrolledComposite.setContent(infoArea);
- Point p = infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
- this.scrolledComposite.setMinHeight(p.y);
- this.scrolledComposite.setMinWidth(p.x);
- this.scrolledComposite.setExpandHorizontal(true);
- this.scrolledComposite.setExpandVertical(true);
-
- // make the editor scroll properly with a scroll editor
- scrolledComposite.addControlListener(new ControlListener() {
- public void controlMoved(ControlEvent e) {
- // don't care when the control moved
- }
-
- public void controlResized(ControlEvent e) {
- scrolledComposite.getVerticalBar()
- .setIncrement(scrollIncrement);
- scrolledComposite.getHorizontalBar().setIncrement(
- scrollIncrement);
- scrollVertPageIncrement = scrolledComposite.getClientArea().height;
- scrollHorzPageIncrement = scrolledComposite.getClientArea().width;
- scrolledComposite.getVerticalBar().setPageIncrement(
- scrollVertPageIncrement);
- scrolledComposite.getHorizontalBar().setPageIncrement(
- scrollHorzPageIncrement);
- }
- });
-
- return infoArea;
- }
-
- /**
- * Create a context menu for this editor.
- */
- protected void createContextMenu() {
- contextMenuManager = new MenuManager("#BugEditor");
- contextMenuManager.setRemoveAllWhenShown(true);
- contextMenuManager.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- manager.add(cutAction);
- manager.add(copyAction);
- manager.add(pasteAction);
- manager.add(new Separator());
- manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
- if (currentSelectedText == null ||
- currentSelectedText.getSelectionText().length() == 0) {
-
- copyAction.setEnabled(false);
- }
- else {
- copyAction.setEnabled(true);
- }
- }
- });
- getSite().registerContextMenu("#BugEditor", contextMenuManager,
- getSite().getSelectionProvider());
- }
-
- /**
- * Creates all of the layouts that display the information on
- * the bug.
- */
- protected void createLayouts() {
- createAttributeLayout();
- createDescriptionLayout();
- createCommentLayout();
- createButtonLayouts();
- }
-
- /**
- * Creates the attribute layout, which contains most of the basic attributes
- * of the bug (some of which are editable).
- */
- protected void createAttributeLayout() {
-
- String title = getTitleString();
- String keywords = "";
- String url = "";
-
- // Attributes Composite- this holds all the combo fiels and text
- // fields
- Composite attributesComposite = new Composite(infoArea, SWT.NONE);
- GridLayout attributesLayout = new GridLayout();
- attributesLayout.numColumns = 4;
- attributesLayout.horizontalSpacing = 14;
- attributesLayout.verticalSpacing = 6;
- attributesComposite.setLayout(attributesLayout);
- GridData attributesData = new GridData(GridData.FILL_BOTH);
- attributesData.horizontalSpan = 1;
- attributesData.grabExcessVerticalSpace = false;
- attributesComposite.setLayoutData(attributesData);
- attributesComposite.setBackground(background);
- // End Attributes Composite
-
- // Attributes Title Area
- Composite attributesTitleComposite =
- new Composite(attributesComposite, SWT.NONE);
- GridLayout attributesTitleLayout = new GridLayout();
- attributesTitleLayout.horizontalSpacing = 0;
- attributesTitleLayout.marginWidth = 0;
- attributesTitleComposite.setLayout(attributesTitleLayout);
- attributesTitleComposite.setBackground(background);
- GridData attributesTitleData =
- new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- attributesTitleData.horizontalSpan = 4;
- attributesTitleData.grabExcessVerticalSpace = false;
- attributesTitleComposite.setLayoutData(attributesTitleData);
- // End Attributes Title
-
- // Set the Attributes Title
- newAttributesLayout(attributesTitleComposite);
- titleLabel.setText(title);
- bugzillaInput.setToolTipText(title);
- int currentCol = 1;
-
- String ccValue = null;
-
- // Populate Attributes
- for (Iterator<Attribute> it = getBug().getAttributes().iterator(); it.hasNext();) {
- Attribute attribute = it.next();
- String key = attribute.getParameterName();
- String name = attribute.getName();
- String value = checkText(attribute.getValue());
- Map<String, String> values = attribute.getOptionValues();
-
- // make sure we don't try to display a hidden field
- if (attribute.isHidden() || (key != null && key.equals("status_whiteboard")))
- continue;
-
- if (values == null)
- values = new HashMap<String, String>();
-
- if (key == null)
- key = "";
-
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- data.horizontalSpan = 1;
- data.horizontalIndent = HORZ_INDENT;
-
- if (key.equals("short_desc") || key.equals("keywords")) {
- keywords = value;
- }
- else if (key.equals("newcc")) {
- ccValue = value;
- if(value == null)
- ccValue = "";
- }
- else if (key.equals("bug_file_loc")) {
- url = value;
- }
- else if (key.equals("op_sys")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- oSCombo = new Combo(attributesComposite, SWT.NO_BACKGROUND
- | SWT.MULTI | SWT.V_SCROLL | SWT.READ_ONLY);
- oSCombo.setFont(TEXT_FONT);
- oSCombo.setLayoutData(data);
- oSCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- oSCombo.add(a[i]);
- }
- oSCombo.select(oSCombo.indexOf(value));
- oSCombo.addListener(SWT.Modify, this);
- comboListenerMap.put(oSCombo, name);
- oSCombo.addListener(SWT.FocusIn, new GenericListener());
- currentCol += 2;
- }
- else if (key.equals("version")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
-
- versionCombo = new Combo(attributesComposite, SWT.NO_BACKGROUND
- | SWT.MULTI | SWT.V_SCROLL | SWT.READ_ONLY);
- versionCombo.setFont(TEXT_FONT);
- versionCombo.setLayoutData(data);
- versionCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- versionCombo.add(a[i]);
- }
- versionCombo.select(versionCombo.indexOf(value));
- versionCombo.addListener(SWT.Modify, this);
- versionCombo.addListener(SWT.FocusIn, new GenericListener());
- comboListenerMap.put(versionCombo, name);
- currentCol += 2;
- }
- else if (key.equals("priority")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
-
- priorityCombo = new Combo(attributesComposite,
- SWT.NO_BACKGROUND | SWT.MULTI | SWT.V_SCROLL
- | SWT.READ_ONLY);
- priorityCombo.setFont(TEXT_FONT);
- priorityCombo.setLayoutData(data);
- priorityCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- priorityCombo.add(a[i]);
- }
- priorityCombo.select(priorityCombo.indexOf(value));
- priorityCombo.addListener(SWT.Modify, this);
- priorityCombo.addListener(SWT.FocusIn, new GenericListener());
- comboListenerMap.put(priorityCombo, name);
- currentCol += 2;
- }
- else if (key.equals("bug_severity")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- severityCombo =
- new Combo(
- attributesComposite,
- SWT.NO_BACKGROUND
- | SWT.MULTI
- | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- severityCombo.setFont(TEXT_FONT);
- severityCombo.setLayoutData(data);
- severityCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- severityCombo.add(a[i]);
- }
- severityCombo.select(severityCombo.indexOf(value));
- severityCombo.addListener(SWT.Modify, this);
- severityCombo.addListener(SWT.FocusIn, new GenericListener());
- comboListenerMap.put(severityCombo, name);
- currentCol += 2;
- }
- else if (key.equals("target_milestone")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- milestoneCombo =
- new Combo(
- attributesComposite,
- SWT.NO_BACKGROUND
- | SWT.MULTI
- | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- milestoneCombo.setFont(TEXT_FONT);
- milestoneCombo.setLayoutData(data);
- milestoneCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- milestoneCombo.add(a[i]);
- }
- milestoneCombo.select(milestoneCombo.indexOf(value));
- milestoneCombo.addListener(SWT.Modify, this);
- milestoneCombo.addListener(SWT.FocusIn, new GenericListener());
- comboListenerMap.put(milestoneCombo, name);
- currentCol += 2;
- }
- else if (key.equals("rep_platform")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- platformCombo =
- new Combo(
- attributesComposite,
- SWT.NO_BACKGROUND
- | SWT.MULTI
- | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- platformCombo.setFont(TEXT_FONT);
- platformCombo.setLayoutData(data);
- platformCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- platformCombo.add(a[i]);
- }
- platformCombo.select(platformCombo.indexOf(value));
- platformCombo.addListener(SWT.Modify, this);
- platformCombo.addListener(SWT.FocusIn, new GenericListener());
- comboListenerMap.put(platformCombo, name);
- currentCol += 2;
- }
- else if (key.equals("product")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- newLayout(attributesComposite, 1, value, VALUE).addListener(SWT.FocusIn, new GenericListener());
- currentCol += 2;
- } else if(key.equals("assigned_to")){
- newLayout(attributesComposite, 1, name, PROPERTY);
- assignedTo = new Text(attributesComposite, SWT.BORDER | SWT.SINGLE | SWT.WRAP);
- assignedTo.setFont(TEXT_FONT);
- assignedTo.setText(value);
- data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- data.horizontalSpan = 1;
- assignedTo.setLayoutData(data);
-
- assignedTo.addListener(SWT.KeyUp, new Listener() {
- public void handleEvent(Event event) {
- String sel = assignedTo.getText();
- Attribute a = getBug().getAttribute("Assign To");
- if (!(a.getNewValue().equals(sel))) {
- a.setNewValue(sel);
- changeDirtyStatus(true);
- }
- }
- });
- assignedTo.addListener(SWT.FocusIn, new GenericListener());
-
- currentCol += 2;
- }
- else if (key.equals("component")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- componentCombo =
- new Combo(
- attributesComposite,
- SWT.NO_BACKGROUND
- | SWT.MULTI
- | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- componentCombo.setFont(TEXT_FONT);
- componentCombo.setLayoutData(data);
- componentCombo.setBackground(background);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- Arrays.sort(a);
- for (int i = 0; i < a.length; i++) {
- componentCombo.add(a[i]);
- }
- componentCombo.select(componentCombo.indexOf(value));
- componentCombo.addListener(SWT.Modify, this);
- componentCombo.addListener(SWT.FocusIn, new GenericListener());
- comboListenerMap.put(componentCombo, name);
- currentCol += 2;
- }
- else if (name.equals("Summary")) {
- // Don't show the summary here.
- continue;
- }
- else if (values.isEmpty()) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- newLayout(attributesComposite, 1, value, VALUE).addListener(SWT.FocusIn, new GenericListener());
- currentCol += 2;
- }
- if (currentCol > attributesLayout.numColumns) {
- currentCol -= attributesLayout.numColumns;
- }
- }
- // End Populate Attributes
-
- // make sure that we are in the first column
- if (currentCol > 1) {
- while (currentCol <= attributesLayout.numColumns) {
- newLayout(attributesComposite, 1, "", PROPERTY);
- currentCol++;
- }
- }
-
- // URL, Keywords, Summary Text Fields
- addUrlText(url, attributesComposite);
-
- // keywords text field (not editable)
- addKeywordsList(keywords, attributesComposite);
- if(ccValue != null){
- addCCList(ccValue, attributesComposite);
- }
- addSummaryText(attributesComposite);
- // End URL, Keywords, Summary Text Fields
- }
-
- /**
- * Adds a text field to display and edit the bug's URL attribute.
- *
- * @param url
- * The URL attribute of the bug.
- * @param attributesComposite
- * The composite to add the text field to.
- */
- protected void addUrlText(String url, Composite attributesComposite) {
- newLayout(attributesComposite, 1, "URL:", PROPERTY);
- urlText =
- new Text(attributesComposite, SWT.BORDER | SWT.SINGLE | SWT.WRAP);
- urlText.setFont(TEXT_FONT);
- GridData urlTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- urlTextData.horizontalSpan = 3;
- urlTextData.widthHint = 200;
- urlText.setLayoutData(urlTextData);
- urlText.setText(url);
- urlText.addListener(SWT.KeyUp, new Listener() {
- public void handleEvent(Event event) {
- String sel = urlText.getText();
- Attribute a = getBug().getAttribute("URL");
- if (!(a.getNewValue().equals(sel))) {
- a.setNewValue(sel);
- changeDirtyStatus(true);
- }
- }
- });
- urlText.addListener(SWT.FocusIn, new GenericListener());
- }
-
- /**
- * Adds a text field and selection list to display and edit the bug's
- * keywords.
- *
- * @param keywords
- * The current list of keywords for this bug.
- * @param attributesComposite
- * The composite to add the widgets to.
- */
- protected abstract void addKeywordsList(String keywords, Composite attributesComposite);
-
- protected abstract void addCCList(String value, Composite attributesComposite);
-
- /**
- * Adds a text field to display and edit the bug's summary.
- *
- * @param attributesComposite
- * The composite to add the text field to.
- */
- protected void addSummaryText(Composite attributesComposite) {
- newLayout(attributesComposite, 1, "Summary:", PROPERTY);
- summaryText =
- new Text(attributesComposite, SWT.BORDER | SWT.SINGLE | SWT.WRAP);
- summaryText.setFont(TEXT_FONT);
- GridData summaryTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- summaryTextData.horizontalSpan = 3;
- summaryTextData.widthHint = 200;
- summaryText.setLayoutData(summaryTextData);
- summaryText.setText(getBug().getSummary());
- summaryText.addListener(SWT.KeyUp, new SummaryListener());
- summaryText.addListener(SWT.FocusIn, new GenericListener());
- }
-
- /**
- * Creates the description layout, which displays and possibly edits the
- * bug's description.
- */
- protected abstract void createDescriptionLayout();
-
- /**
- * Creates the comment layout, which displays the bug's comments and
- * possibly lets the user enter a new one.
- */
- protected abstract void createCommentLayout();
-
- /**
- * Creates the button layout. This displays options and buttons at the
- * bottom of the editor to allow actions to be performed on the bug.
- */
- protected void createButtonLayouts() {
-
- Composite buttonComposite = new Composite(infoArea, SWT.NONE);
- GridLayout buttonLayout = new GridLayout();
- buttonLayout.numColumns = 4;
- buttonComposite.setLayout(buttonLayout);
- buttonComposite.setBackground(background);
- GridData buttonData = new GridData(GridData.FILL_BOTH);
- buttonData.horizontalSpan = 1;
- buttonData.grabExcessVerticalSpace = false;
- buttonComposite.setLayoutData(buttonData);
-
- addRadioButtons(buttonComposite);
- addActionButtons(buttonComposite);
- }
-
- /**
- * Adds radio buttons to this composite.
- * @param buttonComposite Composite to add the radio buttons to.
- */
- abstract protected void addRadioButtons(Composite buttonComposite);
-
- /**
- * Adds buttons to this composite.
- * Subclasses can override this method to provide different/additional buttons.
- * @param buttonComposite Composite to add the buttons to.
- */
- protected void addActionButtons(Composite buttonComposite) {
- submitButton = new Button(buttonComposite, SWT.NONE);
- submitButton.setFont(TEXT_FONT);
- GridData submitButtonData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- submitButtonData.widthHint = AbstractBugEditor.WRAP_LENGTH;
- submitButtonData.heightHint = 20;
- submitButton.setText("Submit");
- submitButton.setLayoutData(submitButtonData);
- submitButton.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event e) {
- submitBug();
- }
- });
- submitButton.addListener(SWT.FocusIn, new GenericListener());
-
-// This is not needed anymore since we have the save working properly with ctrl-s and file->save
-// saveButton = new Button(buttonComposite, SWT.NONE);
-// saveButton.setFont(TEXT_FONT);
-// GridData saveButtonData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-// saveButtonData.widthHint = 100;
-// saveButtonData.heightHint = 20;
-// saveButton.setText("Save Offline");
-// saveButton.setLayoutData(saveButtonData);
-// saveButton.addListener(SWT.Selection, new Listener() {
-// public void handleEvent(Event e) {
-// saveBug();
-// updateEditor();
-// }
-// });
-// saveButton.addListener(SWT.FocusIn, new GenericListener());
- }
-
- /**
- * Make sure that a String that is <code>null</code> is changed to a null
- * string
- *
- * @param text
- * The text to check if it is null or not
- * @return If the text is <code>null</code>, then return the null string (<code>""</code>).
- * Otherwise, return the text.
- */
- public String checkText(String text) {
- if (text == null)
- return "";
- else
- return text;
- }
-
- /**
- * @return A string to use as a title for this editor.
- */
- protected abstract String getTitleString();
-
- /**
- * Creates an uneditable text field for displaying data.
- *
- * @param composite
- * The composite to put this text field into. Its layout style
- * should be a grid with columns.
- * @param colSpan
- * The number of columns that this text field should span.
- * @param text
- * The text that for this text field.
- * @param style
- * The style for this text field. See below for valid values
- * (default is HEADER).
- * @return The new styled text.
- * @see VALUE
- * @see PROPERTY
- * @see HEADER
- */
- protected StyledText newLayout(Composite composite, int colSpan, String text,
- String style) {
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- data.horizontalSpan = colSpan;
-
- StyledText stext;
- if (style.equalsIgnoreCase(VALUE)) {
- StyledText styledText =
- new StyledText(composite, SWT.MULTI | SWT.READ_ONLY);
- styledText.setFont(TEXT_FONT);
- styledText.setText(checkText(text));
- styledText.setBackground(background);
- data.horizontalIndent = HORZ_INDENT;
- styledText.setLayoutData(data);
- styledText.setEditable(false);
- styledText.getCaret().setVisible(false);
-
- styledText.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- StyledText c = (StyledText) e.widget;
- if (c != null && c.getSelectionCount() > 0) {
- if (currentSelectedText != null) {
- if (!c.equals(currentSelectedText)) {
- currentSelectedText.setSelectionRange(0, 0);
- }
- }
- }
- currentSelectedText = c;
- }
- });
-
- styledText.setMenu(
- contextMenuManager.createContextMenu(styledText));
- stext = styledText;
- }
- else if (style.equalsIgnoreCase(PROPERTY)) {
- StyledText styledText =
- new StyledText(composite, SWT.MULTI | SWT.READ_ONLY);
- styledText.setFont(TEXT_FONT);
- styledText.setText(checkText(text));
- styledText.setBackground(background);
- data.horizontalIndent = HORZ_INDENT;
- styledText.setLayoutData(data);
- StyleRange sr =
- new StyleRange(
- styledText.getOffsetAtLine(0),
- text.length(),
- foreground,
- background,
- SWT.BOLD);
- styledText.setStyleRange(sr);
- styledText.getCaret().setVisible(false);
- styledText.setEnabled(false);
-
-
- styledText.setMenu(contextMenuManager.createContextMenu(styledText));
- stext = styledText;
- }
- else {
- Composite generalTitleGroup = new Composite(composite, SWT.NONE);
- generalTitleGroup.setLayoutData(
- new GridData(GridData.FILL_HORIZONTAL));
- generalTitleGroup.setLayoutData(data);
- GridLayout generalTitleLayout = new GridLayout();
- generalTitleLayout.numColumns = 2;
- generalTitleLayout.marginWidth = 0;
- generalTitleLayout.marginHeight = 9;
- generalTitleGroup.setLayout(generalTitleLayout);
- generalTitleGroup.setBackground(background);
-
- Label image = new Label(generalTitleGroup, SWT.NONE);
- image.setBackground(background);
- image.setImage(
- WorkbenchImages.getImage(
- IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM));
-
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
- image.setLayoutData(gd);
- StyledText titleText =
- new StyledText(generalTitleGroup, SWT.MULTI | SWT.READ_ONLY);
- titleText.setText(checkText(text));
- titleText.setFont(HEADER_FONT);
- titleText.setBackground(background);
- StyleRange sr = new StyleRange(
- titleText.getOffsetAtLine(0),
- text.length(),
- foreground,
- background,
- SWT.BOLD);
- titleText.setStyleRange(sr);
- titleText.getCaret().setVisible(false);
- titleText.setEditable(false);
- titleText.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- StyledText c = (StyledText) e.widget;
- if (c != null && c.getSelectionCount() > 0) {
- if (currentSelectedText != null) {
- if (!c.equals(currentSelectedText)) {
- currentSelectedText.setSelectionRange(0, 0);
- }
- }
- }
- currentSelectedText = c;
- }
- });
- // create context menu
- generalTitleGroup.setMenu(
- contextMenuManager.createContextMenu(generalTitleGroup));
- titleText.setMenu(
- contextMenuManager.createContextMenu(titleText));
- image.setMenu(
- contextMenuManager.createContextMenu(image));
- stext = titleText;
- }
- composite.setMenu(contextMenuManager.createContextMenu(composite));
- return stext;
- }
-
- /**
- * This creates the title header for the info area. Its style is similar to
- * one from calling the function <code>newLayout</code> with the style
- * <code>HEADER</code>.
- *
- * @param composite
- * The composite to put this text field into. Its layout style
- * should be a grid with columns.
- */
- protected void newAttributesLayout(Composite composite) {
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- data.horizontalSpan = 4;
- Composite generalTitleGroup = new Composite(composite, SWT.NONE);
- generalTitleGroup.setLayoutData(
- new GridData(GridData.FILL_HORIZONTAL));
- generalTitleGroup.setLayoutData(data);
- GridLayout generalTitleLayout = new GridLayout();
- generalTitleLayout.numColumns = 3;
- generalTitleLayout.marginWidth = 0;
- generalTitleLayout.marginHeight = 9;
- generalTitleGroup.setLayout(generalTitleLayout);
- generalTitleGroup.setBackground(background);
-
- Label image = new Label(generalTitleGroup, SWT.NONE);
- image.setBackground(background);
- image.setImage(
- WorkbenchImages.getImage(
- IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM));
-
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
- image.setLayoutData(gd);
-
- generalTitleText =
- new StyledText(generalTitleGroup, SWT.MULTI | SWT.READ_ONLY);
- generalTitleText.setBackground(background);
- generalTitleText.getCaret().setVisible(false);
- generalTitleText.setEditable(false);
- generalTitleText.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- StyledText c = (StyledText) e.widget;
- if (c != null && c.getSelectionCount() > 0) {
- if (currentSelectedText != null) {
- if (!c.equals(currentSelectedText)) {
- currentSelectedText.setSelectionRange(0, 0);
- }
- }
- }
- currentSelectedText = c;
- }
- });
- // create context menu
- generalTitleGroup.setMenu(
- contextMenuManager.createContextMenu(generalTitleGroup));
- generalTitleText.setMenu(
- contextMenuManager.createContextMenu(generalTitleText));
-
- linkToBug =
- new Hyperlink(generalTitleGroup, SWT.MULTI | SWT.READ_ONLY);
- linkToBug.setBackground(background);
-
- setGeneralTitleText();
-
- image.setMenu(
- contextMenuManager.createContextMenu(image));
- composite.setMenu(contextMenuManager.createContextMenu(composite));
- }
-
- /**
- * This refreshes the text in the title label of the info area (it contains
- * elements which can change).
- */
- protected void setGeneralTitleText() {
- String text = "[Open in Browser]";
- linkToBug.setText(text);
- linkToBug.setFont(TEXT_FONT);
- if(this instanceof ExistingBugEditor){
- linkToBug.setUnderlined(true);
- linkToBug.setForeground(JFaceColors.getHyperlinkText(Display.getCurrent()));
- linkToBug.addMouseListener(new MouseListener(){
-
- public void mouseDoubleClick(MouseEvent e) {}
- public void mouseUp(MouseEvent e) {}
-
- public void mouseDown(MouseEvent e) {
- BugzillaUITools.openUrl(getTitle(), getTitleToolTip(), BugzillaRepository.getBugUrlWithoutLogin(bugzillaInput.getBug().getId()));
- if(e.stateMask == SWT.MOD3){
- // XXX come back to look at this ui
- close();
- }
-
- }
- });
- } else{
- linkToBug.setEnabled(false);
- }
- linkToBug.addListener(SWT.FocusIn, new GenericListener());
-
- // Resize the composite, in case the new summary is longer than the
- // previous one.
- // Then redraw it to show the changes.
- linkToBug.getParent().pack(true);
- linkToBug.redraw();
-
- text = getTitleString();
- generalTitleText.setText(text);
- StyleRange sr = new StyleRange(
- generalTitleText.getOffsetAtLine(0),
- text.length(),
- foreground,
- background,
- SWT.BOLD);
- generalTitleText.setStyleRange(sr);
- generalTitleText.addListener(SWT.FocusIn, new GenericListener());
-
- // Resize the composite, in case the new summary is longer than the
- // previous one.
- // Then redraw it to show the changes.
- generalTitleText.getParent().pack(true);
- generalTitleText.redraw();
- }
-
- /**
- * Creates some blank space underneath the supplied composite.
- *
- * @param parent
- * The composite to add the blank space to.
- */
- protected void createSeparatorSpace(Composite parent) {
- GridData separatorData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- separatorData.verticalSpan = 1;
- separatorData.grabExcessVerticalSpace = false;
-
- Composite separatorComposite = new Composite(parent, SWT.NONE);
- GridLayout separatorLayout = new GridLayout();
- separatorLayout.marginHeight = 0;
- separatorLayout.verticalSpacing = 0;
- separatorComposite.setLayout(separatorLayout);
- separatorComposite.setBackground(background);
- separatorComposite.setLayoutData(separatorData);
- newLayout(separatorComposite, 1, "", VALUE);
- }
-
- /**
- * Submit the changes to the bug to the bugzilla server.
- */
- protected abstract void submitBug();
-
- /**
- * If there is no locally saved copy of the current bug, then it saved
- * offline. Otherwise, any changes are updated in the file.
- */
- public void saveBug() {
- updateBug();
-
- IBugzillaBug bug = getBug();
-
- if(bug.hasChanges()){
- BugzillaPlugin.getDefault().fireOfflineStatusChanged(bug, BugzillaOfflineStaus.SAVED_WITH_OUTGOING_CHANGES);
- } else {
- BugzillaPlugin.getDefault().fireOfflineStatusChanged(bug, BugzillaOfflineStaus.SAVED);
- }
-
- changeDirtyStatus(false);
- OfflineView.saveOffline(getBug(), true);
- OfflineView.checkWindow();
- OfflineView.refreshView();
- }
-
- /**
- * Updates the <code>IBugzillaBug</code> object to contain the latest data
- * entered in the data fields.
- */
- protected abstract void updateBug();
-
- /**
- * Resets the data fields to contain the data currently in the
- * <code>IBugzillaBug</code> object.
- */
- protected abstract void restoreBug();
-
- /**
- * Refreshes any text labels in the editor that contain information that
- * might change.
- */
- protected void updateEditor() {
- // Reset all summary occurrences, since it might have
- // been edited.
- String title = getTitleString();
- titleLabel.setText(title);
- setGeneralTitleText();
- }
-
- /**
- * Break text up into lines of about 80 characters so that it
- * is displayed properly in bugzilla
- * @param origText The string to be formatted
- * @return The formatted text
- */
- protected String formatText(String origText)
- {
- String [] textArray = new String[(origText.length()/WRAP_LENGTH + 1) *2];
- for(int i = 0; i < textArray.length; i++)
- textArray[i] = null;
- int j = 0;
- while(true) {
- int spaceIndex = origText.indexOf(" ", WRAP_LENGTH-5);
- if (spaceIndex == origText.length() || spaceIndex == -1) {
- textArray[j] = origText;
- break;
- }
- textArray[j] = origText.substring(0, spaceIndex);
- origText = origText.substring(spaceIndex + 1, origText.length());
- j++;
- }
-
- String newText = "";
-
- for (int i = 0; i < textArray.length; i++) {
- if(textArray[i] == null)
- break;
- newText += textArray[i] + "\n";
- }
- return newText;
- }
-
- /**
- * function to set the url to post the bug to
- * @param form A reference to a BugPost that the bug is going to be posted to
- * @param formName The form that we wish to use to submit the bug
- */
- protected void setURL(BugPost form, String formName) {
- String baseURL = BugzillaPlugin.getDefault().getServerName();
- if (!baseURL.endsWith("/"))
- baseURL += "/";
- try {
- form.setURL(baseURL + formName);
- }
- catch (MalformedURLException e){
- // we should be ok here
- }
-
- // add the login information to the bug post
- form.add("Bugzilla_login", BugzillaPreferences.getUserName());
- form.add("Bugzilla_password", BugzillaPreferences.getPassword());
- }
-
- @Override
- public void setFocus() {
- scrolledComposite.setFocus();
- }
-
- @Override
- public boolean isDirty() {
- return isDirty;
- }
-
- /**
- * Updates the dirty status of this editor page. The dirty status is true if
- * the bug report has been modified but not saved. The title of the editor
- * is also updated to reflect the status.
- *
- * @param newDirtyStatus
- * is true when the bug report has been modified but not saved
- */
- public void changeDirtyStatus(boolean newDirtyStatus) {
- isDirty = newDirtyStatus;
- if (parentEditor == null) {
- firePropertyChange(PROP_DIRTY);
- } else {
- parentEditor.updatePartName();
- }
-
- }
-
-
- /**
- * Updates the title of the editor to reflect dirty status.
- * If the bug report has been modified but not saved, then
- * an indicator will appear in the title.
- */
- protected void updateEditorTitle() {
- setPartName(bugzillaInput.getName());
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- saveBug();
- updateEditor();
-
- // XXX notify that saved ofline?
- }
-
- @Override
- public void doSaveAs() {
- // we don't save, so no need to implement
- }
-
- /**
- * @return The composite for the whole editor.
- */
- public Composite getEditorComposite() {
- return editorComposite;
- }
-
- @Override
- public void dispose() {
- super.dispose();
- isDisposed = true;
- getSite().getPage().removeSelectionListener(selectionListener);
- }
-
- public void handleEvent(Event event) {
- if (event.widget instanceof Combo) {
- Combo combo = (Combo)event.widget;
- if (comboListenerMap.containsKey(combo)) {
- String sel = combo.getItem(combo.getSelectionIndex());
- Attribute a = getBug().getAttribute(comboListenerMap.get(combo));
- if (!(a.getNewValue().equals(sel))) {
- a.setNewValue(sel);
- for(IBugzillaAttributeListener client : attributesListeners) {
- client.attributeChanged(a.getName(), sel);
- }
- changeDirtyStatus(true);
- }
- }
- }
- }
-
- /**
- * Fires a <code>SelectionChangedEvent</code> to all listeners registered
- * under <code>selectionChangedListeners</code>.
- *
- * @param event
- * The selection event.
- */
- protected void fireSelectionChanged(final SelectionChangedEvent event) {
- Object[] listeners = selectionChangedListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
- SafeRunnable.run(new SafeRunnable() {
- public void run() {
- l.selectionChanged(event);
- }
- });
- }
- }
-
- /**
- * A generic listener for selection of unimportant items. The default
- * selection item sent out is the entire bug object.
- */
- protected class GenericListener implements Listener {
- public void handleEvent(Event event) {
- IBugzillaBug bug = getBug();
- fireSelectionChanged(new SelectionChangedEvent(selectionProvider, new StructuredSelection(new BugzillaReportSelection(bug.getId(), bug.getServer(), bug.getLabel(), false, bug.getSummary()))));
- }
- }
-
- /**
- * A listener to check if the summary field was modified.
- */
- protected class SummaryListener implements Listener {
- public void handleEvent(Event event) {
- handleSummaryEvent();
- }
- }
-
- /**
- * Check if the summary field was modified, and update it if necessary.
- */
- public abstract void handleSummaryEvent();
-
- /*----------------------------------------------------------*
- * CODE TO SCROLL TO A COMMENT OR OTHER PIECE OF TEXT
- *----------------------------------------------------------*/
-
- /** List of the StyledText's so that we can get the previous and the next */
- protected ArrayList<StyledText> texts = new ArrayList<StyledText>();
-
- protected HashMap<Object, StyledText> textHash = new HashMap<Object, StyledText>();
-
- /** Index into the styled texts*/
- protected int textsindex = 0;
-
- protected Text addCommentsTextBox = null;
-
- protected Text descriptionTextBox = null;
-
- private StyledText previousText = null;
-
- /**
- * Selects the given object in the editor.
- *
- * @param commentNumber
- * The comment number to be selected
- */
- public void select(int commentNumber){
- if(commentNumber == -1)
- return;
-
- for(Object o: textHash.keySet()){
- if(o instanceof Comment){
- if(((Comment)o).getNumber() == commentNumber){
- select(o, true);
- }
- }
- }
- }
-
- /**
- * Selects the given object in the editor.
- *
- * @param o
- * The object to be selected.
- * @param highlight
- * Whether or not the object should be highlighted.
- */
- public void select(Object o, boolean highlight){
- if(textHash.containsKey(o)){
- StyledText t = textHash.get(o);
- if(t != null){
- focusOn(t, highlight);
- }
- } else if(o instanceof IBugzillaBug){
- focusOn(null, highlight);
- }
- }
-
- public void selectDescription(){
- for(Object o: textHash.keySet()){
- if(o.equals(bugzillaInput.getBug().getDescription())){
- select(o, true);
- }
- }
- }
-
-
- public void selectNewComment(){
- focusOn(addCommentsTextBox, false);
- }
-
- public void selectNewDescription(){
- focusOn(descriptionTextBox, false);
- }
-
- /**
- * Scroll to a specified piece of text
- * @param selectionComposite The StyledText to scroll to
- */
- private void focusOn(Control selectionComposite, boolean highlight) {
-
- int pos = 0;
- if(previousText != null && !previousText.isDisposed()) {
- previousText.setSelection(0);
- }
-
- if(selectionComposite instanceof StyledText)
- previousText = (StyledText) selectionComposite;
-
- if (selectionComposite != null) {
-
- if(highlight && selectionComposite instanceof StyledText && !selectionComposite.isDisposed())
- ((StyledText)selectionComposite).setSelection(0, ((StyledText)selectionComposite).getText().length());
-
- // get the position of the text in the composite
- pos = 0;
- Control s = selectionComposite;
- if(s.isDisposed())
- return;
- s.setEnabled(true);
- s.setFocus();
- s.forceFocus();
- while(s != null && s != getEditorComposite()) {
- if(!s.isDisposed()){
- pos += s.getLocation().y;
- s = s.getParent();
- }
- }
-
- pos = scrolledComposite.getOrigin().y + pos - 60;
- }
- if(!scrolledComposite.isDisposed())
- scrolledComposite.setOrigin(0, pos);
- }
-
- private BugzillaOutlinePage outlinePage = null;
-
- @Override
- public Object getAdapter(Class adapter) {
- if (IContentOutlinePage.class.equals(adapter)) {
- if (outlinePage == null && bugzillaInput != null) {
- outlinePage = new BugzillaOutlinePage(model);
- }
- return outlinePage;
- }
- return super.getAdapter(adapter);
- }
-
- protected BugzillaOutlineNode model = null;
-
- public BugzillaOutlineNode getModel(){
- return model;
- }
-
- public BugzillaOutlinePage getOutline(){
- return outlinePage;
- }
-
- private boolean isDisposed = false;
-
- public boolean isDisposed(){
- return isDisposed;
- }
-
- public void close() {
- Display activeDisplay= getSite().getShell().getDisplay();
- activeDisplay.asyncExec(new Runnable() {
- public void run() {
- if(getSite() != null && getSite().getPage() != null && !AbstractBugEditor.this.isDisposed())
- getSite().getPage().closeEditor(AbstractBugEditor.this, false);
- }
- });
- }
-
- public void addAttributeListener(IBugzillaAttributeListener listener) {
- attributesListeners.add(listener);
- }
-
- public void removeAttributeListener(IBugzillaAttributeListener listener) {
- attributesListeners.remove(listener);
- }
-
- public void setParentEditor(BugzillaTaskEditor editor) {
- parentEditor = editor;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditorInput.java
deleted file mode 100644
index 1cef2a0d0..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/AbstractBugEditorInput.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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/bugzilla/ui/editor/BugzillaEditorCopyAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/BugzillaEditorCopyAction.java
deleted file mode 100644
index 38df0c8da..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/BugzillaEditorCopyAction.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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/bugzilla/ui/editor/ExistingBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java
deleted file mode 100644
index b732d55a5..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java
+++ /dev/null
@@ -1,1018 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.editor;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.CompareUI;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.BugPost;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaException;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.Operation;
-import org.eclipse.mylar.bugzilla.core.PossibleBugzillaFailureException;
-import org.eclipse.mylar.bugzilla.core.compare.BugzillaCompareInput;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-import org.eclipse.mylar.bugzilla.ui.WebBrowserDialog;
-import org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaReportsAction;
-import org.eclipse.mylar.bugzilla.ui.favorites.actions.AddToFavoritesAction;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaOutlineNode;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaReportSelection;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.Workbench;
-
-
-/**
- * An editor used to view a bug report that exists on a server. It uses a
- * <code>BugReport</code> object to store the data.
- */
-public class ExistingBugEditor extends AbstractBugEditor
-{
-
- protected Set<String> removeCC = new HashSet<String>();
- protected BugzillaCompareInput compareInput;
- protected Button compareButton;
-
- protected Button[] radios;
- protected Control[] radioOptions;
- protected List keyWordsList;
- protected Text keywordsText;
- protected List ccList;
- protected Text ccText;
- protected Text addCommentsText;
- protected BugReport bug;
-
- public String getNewCommentText(){
- return addCommentsTextBox.getText();
- }
-
- /**
- * Creates a new <code>ExistingBugEditor</code>.
- */
- public ExistingBugEditor() {
- super();
-
- // Set up the input for comparing the bug report to the server
- CompareConfiguration config = new CompareConfiguration();
- config.setLeftEditable(false);
- config.setRightEditable(false);
- config.setLeftLabel("Local Bug Report");
- config.setRightLabel("Remote Bug Report");
- config.setLeftImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT));
- config.setRightImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT));
- compareInput = new BugzillaCompareInput(config);
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- if (!(input instanceof ExistingBugEditorInput))
- throw new PartInitException("Invalid Input: Must be ExistingBugEditorInput");
- ExistingBugEditorInput ei = (ExistingBugEditorInput) input;
- setSite(site);
- setInput(input);
- bugzillaInput = ei;
- model = BugzillaOutlineNode.parseBugReport(bugzillaInput.getBug());
- bug = ei.getBug();
- restoreBug();
- isDirty = false;
- updateEditorTitle();
- }
-
- /**
- * This overrides the existing implementation in order to add
- * an "add to favorites" option to the context menu.
- *
- * @see org.eclipse.mylar.bugzilla.ui.AbstractBugEditor#createContextMenu()
- */
- @Override
- protected void createContextMenu() {
- contextMenuManager = new MenuManager("#BugEditor");
- contextMenuManager.setRemoveAllWhenShown(true);
- contextMenuManager.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- manager.add(new AddToFavoritesAction(ExistingBugEditor.this));
- manager.add(new Separator());
- manager.add(cutAction);
- manager.add(copyAction);
- manager.add(pasteAction);
- manager.add(new Separator());
- manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
- if (currentSelectedText == null ||
- currentSelectedText.getSelectionText().length() == 0) {
-
- copyAction.setEnabled(false);
- }
- else {
- copyAction.setEnabled(true);
- }
- }
- });
- getSite().registerContextMenu("#BugEditor", contextMenuManager,
- getSite().getSelectionProvider());
- }
-
- @Override
- protected void addRadioButtons(Composite buttonComposite) {
- int i = 0;
- Button selected = null;
- radios = new Button[bug.getOperations().size()];
- radioOptions = new Control[bug.getOperations().size()];
- for (Iterator<Operation> it = bug.getOperations().iterator(); it.hasNext(); ) {
- Operation o = it.next();
- radios[i] = new Button(buttonComposite, SWT.RADIO);
- radios[i].setFont(TEXT_FONT);
- GridData radioData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- if (!o.hasOptions() && !o.isInput())
- radioData.horizontalSpan = 4;
- else
- radioData.horizontalSpan = 3;
- radioData.heightHint = 20;
- String opName = o.getOperationName();
- opName = opName.replaceAll("</.*>", "");
- opName = opName.replaceAll("<.*>", "");
- radios[i].setText(opName);
- radios[i].setLayoutData(radioData);
- radios[i].setBackground(background);
- radios[i].addSelectionListener(new RadioButtonListener());
- radios[i].addListener(SWT.FocusIn, new GenericListener());
-
- if (o.hasOptions()) {
- radioData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- radioData.horizontalSpan = 1;
- radioData.heightHint = 20;
- radioData.widthHint = AbstractBugEditor.WRAP_LENGTH;
- radioOptions[i] = new Combo(
- buttonComposite,
- SWT.NO_BACKGROUND
- | SWT.MULTI
- | SWT.V_SCROLL
- | SWT.READ_ONLY);
- radioOptions[i].setFont(TEXT_FONT);
- radioOptions[i].setLayoutData(radioData);
- radioOptions[i].setBackground(background);
-
- Object [] a = o.getOptionNames().toArray();
- Arrays.sort(a);
- for (int j = 0; j < a.length; j++) {
- ((Combo)radioOptions[i]).add((String) a[j]);
- }
- ((Combo)radioOptions[i]).select(0);
- ((Combo)radioOptions[i]).addSelectionListener(new RadioButtonListener());
- } else if(o.isInput()){
- radioData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- radioData.horizontalSpan = 1;
- radioData.widthHint = 120;
- radioOptions[i] = new Text(
- buttonComposite,
- SWT.BORDER | SWT.SINGLE);
- radioOptions[i].setFont(TEXT_FONT);
- radioOptions[i].setLayoutData(radioData);
- radioOptions[i].setBackground(background);
- ((Text)radioOptions[i]).setText(o.getInputValue());
- ((Text)radioOptions[i]).addModifyListener(new RadioButtonListener());
- }
-
- if (i == 0 || o.isChecked()) {
- if(selected != null)
- selected.setSelection(false);
- selected = radios[i];
- radios[i].setSelection(true);
- if(o.hasOptions() && o.getOptionSelection() != null){
- int j = 0;
- for(String s: ((Combo)radioOptions[i]).getItems()){
- if(s.compareTo(o.getOptionSelection()) == 0){
- ((Combo)radioOptions[i]).select(j);
- }
- j++;
- }
- }
- bug.setSelectedOperation(o);
- }
-
- i++;
- }
- }
-
- @Override
- protected void addActionButtons(Composite buttonComposite) {
- super.addActionButtons(buttonComposite);
-
- compareButton = new Button(buttonComposite, SWT.NONE);
- compareButton.setFont(TEXT_FONT);
- GridData compareButtonData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- compareButtonData.widthHint = 100;
- compareButtonData.heightHint = 20;
- compareButton.setText("Compare");
- compareButton.setLayoutData(compareButtonData);
- compareButton.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event e) {
- OpenCompareEditorJob compareJob = new OpenCompareEditorJob("Comparing bug with remote server...");
- compareJob.schedule();
- }
- });
- compareButton.addListener(SWT.FocusIn, new GenericListener());
-
-// TODO used for spell checking. Add back when we want to support this
-// checkSpellingButton = new Button(buttonComposite, SWT.NONE);
-// checkSpellingButton.setFont(TEXT_FONT);
-// compareButtonData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-// compareButtonData.widthHint = 100;
-// compareButtonData.heightHint = 20;
-// checkSpellingButton.setText("CheckSpelling");
-// checkSpellingButton.setLayoutData(compareButtonData);
-// checkSpellingButton.addListener(SWT.Selection, new Listener() {
-// public void handleEvent(Event e) {
-// checkSpelling();
-// }
-// });
-// checkSpellingButton.addListener(SWT.FocusIn, new GenericListener());
- }
-
- /**
- * @return Returns the compareInput.
- */
- public BugzillaCompareInput getCompareInput() {
- return compareInput;
- }
-
- @Override
- public IBugzillaBug getBug() {
- return bug;
- }
-
- @Override
- protected String getTitleString() {
- return bug.getLabel() + ": " + checkText(bug.getAttribute("Summary").getNewValue());
- }
-
- private String toCommaSeparatedList(String[] strings) {
- StringBuffer buffer = new StringBuffer();
- for(int i = 0; i < strings.length; i++) {
- buffer.append(strings[i]);
- if (i != strings.length - 1) {
- buffer.append(",");
- }
- }
- return buffer.toString();
- }
-
- @Override
- protected void submitBug() {
- submitButton.setEnabled(false);
- ExistingBugEditor.this.showBusy(true);
- final BugPost form = new BugPost();
-
- // set the url for the bug to be submitted to
- setURL(form, "process_bug.cgi");
-
- // go through all of the attributes and add them to the bug post
- for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext(); ) {
- Attribute a = it.next();
- if (a != null && a.getParameterName() != null && a.getParameterName().compareTo("") != 0 && !a.isHidden()) {
- String value = a.getNewValue();
-
- // add the attribute to the bug post
- form.add(a.getParameterName(), checkText(value));
- }
- else if(a != null && a.getParameterName() != null && a.getParameterName().compareTo("") != 0 && a.isHidden()) {
- // we have a hidden attribute and we should send it back.
- form.add(a.getParameterName(), a.getValue());
- }
- }
-
- // make sure that the comment is broken up into 80 character lines
- bug.setNewNewComment(formatText(bug.getNewNewComment()));
-
- // add the summary to the bug post
- form.add("short_desc", bug.getAttribute("Summary").getNewValue());
-
- if(removeCC != null && removeCC.size() > 0){
- String[] s = new String[removeCC.size()];
- form.add("cc", toCommaSeparatedList(removeCC.toArray(s)));
- form.add("removecc", "true");
- }
-
- // add the operation to the bug post
- Operation o = bug.getSelectedOperation();
- if (o == null)
- form.add("knob", "none");
- else {
- form.add("knob", o.getKnobName());
- if(o.hasOptions()) {
- String sel = o.getOptionValue(o.getOptionSelection());
- form.add(o.getOptionName(), sel);
- } else if (o.isInput()){
- String sel = o.getInputValue();
- form.add(o.getInputName(), sel);
- }
- }
- form.add("form_name", "process_bug");
-
-
- // add the new comment to the bug post if there is some text in it
- if(bug.getNewNewComment().length() != 0) {
- form.add("comment", bug.getNewNewComment());
- }
-
- final WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
- protected void execute(final IProgressMonitor monitor)
- throws CoreException {
- try {
- form.post();
-
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){
- public void run() {
- // TODO what do we do if the editor is closed
- if (ExistingBugEditor.this != null
- && !ExistingBugEditor.this.isDisposed()) {
- changeDirtyStatus(false);
- BugzillaPlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage()
- .closeEditor(ExistingBugEditor.this, true);
- }
- OfflineView.removeReport(bug);
- }
- });
- } catch (final BugzillaException e) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(
- e,
- "occurred while posting the bug.",
- "I/O Error");
- }
- });
- submitButton.setEnabled(true);
- ExistingBugEditor.this.showBusy(false);
- } catch (final PossibleBugzillaFailureException e) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- WebBrowserDialog.openAcceptAgreement(null,
- "Possible Bugzilla Failure",
- "Bugzilla may not have posted your bug.\n" + e.getMessage(),
- form.getError());
- BugzillaPlugin.log(e);
- }
- });
- submitButton.setEnabled(true);
- ExistingBugEditor.this.showBusy(false);
- } catch (final LoginException e) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- MessageDialog.openError(null,
- "Login Error",
- "Bugzilla could not post your bug since your login name or password is incorrect.\nPlease check your settings in the bugzilla preferences. ");
- }
- });
- submitButton.setEnabled(true);
- ExistingBugEditor.this.showBusy(false);
- }
-
- }
- };
-
- Job job = new Job("Submitting Bug"){
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try{
- op.run(monitor);
- } catch (Exception e){
- MylarPlugin.log(e, "Failed to submit bug");
- return new Status(Status.ERROR, "org.eclipse.mylar.bugzilla.ui", Status.ERROR, "Failed to submit bug", e);
- }
-
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null &&
- TaskListView.getDefault().getViewer() != null) {
-
- // TODO: left off here
-
- // find the bug task
- // tell it to refresh, not in a job
- // call update on the task
- new RefreshBugzillaReportsAction().run();
- }
- }
- });
- return Status.OK_STATUS;
- }
-
- };
-
- job.schedule();
- }
-
- @Override
- protected void createDescriptionLayout() {
- // Description Area
- Composite descriptionComposite = new Composite(infoArea, SWT.NONE);
- GridLayout descriptionLayout = new GridLayout();
- descriptionLayout.numColumns = 4;
- descriptionComposite.setLayout(descriptionLayout);
- descriptionComposite.setBackground(background);
- GridData descriptionData = new GridData(GridData.FILL_BOTH);
- descriptionData.horizontalSpan = 1;
- descriptionData.grabExcessVerticalSpace = false;
- descriptionComposite.setLayoutData(descriptionData);
- // End Description Area
-
- StyledText t = newLayout(descriptionComposite, 4, "Description:", HEADER);
- t.addListener(SWT.FocusIn, new DescriptionListener());
- t = newLayout(descriptionComposite, 4, bug.getDescription(), VALUE);
- t.setFont(COMMENT_FONT);
- t.addListener(SWT.FocusIn, new DescriptionListener());
-
- texts.add(textsindex, t);
- textHash.put(bug.getDescription(), t);
- textsindex++;
-
- }
-
- @Override
- protected void createCommentLayout() {
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-
- // Additional (read-only) Comments Area
- Composite addCommentsComposite = new Composite(infoArea, SWT.NONE);
- GridLayout addCommentsLayout = new GridLayout();
- addCommentsLayout.numColumns = 4;
- addCommentsComposite.setLayout(addCommentsLayout);
- addCommentsComposite.setBackground(background);
- GridData addCommentsData = new GridData(GridData.FILL_BOTH);
- addCommentsData.horizontalSpan = 1;
- addCommentsData.grabExcessVerticalSpace = false;
- addCommentsComposite.setLayoutData(addCommentsData);
- // End Additional (read-only) Comments Area
-
- StyledText t = null;
- for (Iterator<Comment> it = bug.getComments().iterator(); it.hasNext(); ) {
- Comment comment = it.next();
- String commentHeader = "Additional comment #" + comment.getNumber() + " from "
- + comment.getAuthorName() + " on "
- + df.format(comment.getCreated());
- t = newLayout(addCommentsComposite, 4, commentHeader, HEADER);
- t.addListener(SWT.FocusIn, new CommentListener(comment));
- t = newLayout(addCommentsComposite, 4, comment.getText(), VALUE);
- t.setFont(COMMENT_FONT);
- t.addListener(SWT.FocusIn, new CommentListener(comment));
-
- //code for outline
- texts.add(textsindex, t);
- textHash.put(comment, t);
- textsindex++;
- }
-
- // Additional Comments Text
- Composite addCommentsTitleComposite =
- new Composite(addCommentsComposite, SWT.NONE);
- GridLayout addCommentsTitleLayout = new GridLayout();
- addCommentsTitleLayout.horizontalSpacing = 0;
- addCommentsTitleLayout.marginWidth = 0;
- addCommentsTitleComposite.setLayout(addCommentsTitleLayout);
- addCommentsTitleComposite.setBackground(background);
- GridData addCommentsTitleData =
- new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- addCommentsTitleData.horizontalSpan = 4;
- addCommentsTitleData.grabExcessVerticalSpace = false;
- addCommentsTitleComposite.setLayoutData(addCommentsTitleData);
- newLayout(
- addCommentsTitleComposite,
- 4,
- "Additional Comments:",
- HEADER).addListener(SWT.FocusIn, new NewCommentListener());
- addCommentsText =
- new Text(
- addCommentsComposite,
- SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.WRAP);
- addCommentsText.setFont(COMMENT_FONT);
- GridData addCommentsTextData =
- new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- addCommentsTextData.horizontalSpan = 4;
- addCommentsTextData.widthHint = DESCRIPTION_WIDTH;
- addCommentsTextData.heightHint = DESCRIPTION_HEIGHT;
-
- addCommentsText.setLayoutData(addCommentsTextData);
- addCommentsText.setText(bug.getNewComment());
- addCommentsText.addListener(SWT.KeyUp, new Listener() {
-
- public void handleEvent(Event event) {
- String sel = addCommentsText.getText();
- if (!(bug.getNewNewComment().equals(sel))) {
- bug.setNewNewComment(sel);
- changeDirtyStatus(true);
- }
- validateInput();
- }
- });
- addCommentsText.addListener(SWT.FocusIn, new NewCommentListener());
- // End Additional Comments Text
-
- addCommentsTextBox = addCommentsText;
-
- this.createSeparatorSpace(addCommentsComposite);
- }
-
- @Override
- protected void addKeywordsList(String keywords, Composite attributesComposite) {
- newLayout(attributesComposite, 1, "Keywords:", PROPERTY);
- keywordsText = new Text(attributesComposite, SWT.BORDER);
- keywordsText.setFont(TEXT_FONT);
- keywordsText.setEditable(false);
- keywordsText.setForeground(foreground);
- keywordsText.setBackground(JFaceColors.getErrorBackground(display));
- GridData keywordsData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- keywordsData.horizontalSpan = 2;
- keywordsData.widthHint = 200;
- keywordsText.setLayoutData(keywordsData);
- keywordsText.setText(keywords);
- keywordsText.addListener(SWT.FocusIn, new GenericListener());
- keyWordsList = new List(attributesComposite, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- keyWordsList.setFont(TEXT_FONT);
- GridData keyWordsTextData =
- new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- keyWordsTextData.horizontalSpan = 1;
- keyWordsTextData.widthHint = 125;
- keyWordsTextData.heightHint = 40;
- keyWordsList.setLayoutData(keyWordsTextData);
-
- // initialize the keywords list with valid values
- java.util.List<String> keywordList = bug.getKeywords();
- if (keywordList != null) {
- for (Iterator<String> it = keywordList.iterator(); it.hasNext(); ) {
- String keyword = it.next();
- keyWordsList.add(keyword);
- }
-
- // get the selected keywords for the bug
- StringTokenizer st = new StringTokenizer(keywords, ",", false);
- ArrayList<Integer> indicies = new ArrayList<Integer>();
- while (st.hasMoreTokens()) {
- String s = st.nextToken().trim();
- int index = keyWordsList.indexOf(s);
- if (index != -1)
- indicies.add(new Integer(index));
- }
-
- // select the keywords that were selected for the bug
- int length = indicies.size();
- int[] sel = new int[length];
- for (int i = 0; i < length; i++) {
- sel[i] = indicies.get(i).intValue();
- }
- keyWordsList.select(sel);
- }
-
- keyWordsList.addSelectionListener(new KeywordListener());
- keyWordsList.addListener(SWT.FocusIn, new GenericListener());
- }
-
- @Override
- protected void addCCList(String ccValue, Composite attributesComposite) {
- newLayout(attributesComposite, 1, "Add CC:", PROPERTY);
- ccText = new Text(attributesComposite, SWT.BORDER);
- ccText.setFont(TEXT_FONT);
- ccText.setEditable(true);
- ccText.setForeground(foreground);
- ccText.setBackground(background);
- GridData ccData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- ccData.horizontalSpan = 1;
- ccData.widthHint = 200;
- ccText.setLayoutData(ccData);
- ccText.setText(ccValue);
- ccText.addListener(SWT.FocusIn, new GenericListener());
- ccText.addModifyListener(new ModifyListener(){
-
- public void modifyText(ModifyEvent e) {
- changeDirtyStatus(true);
- Attribute a = bug.getAttributeForKnobName("newcc");
- if(a != null){
- a.setNewValue(ccText.getText());
- }
- }
-
- });
-
- newLayout(attributesComposite, 1, "CC: (Select to remove)", PROPERTY);
-
- ccList = new List(attributesComposite, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- ccList.setFont(TEXT_FONT);
- GridData ccListData =
- new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- ccListData.horizontalSpan = 1;
- ccListData.widthHint = 125;
- ccListData.heightHint = 40;
- ccList.setLayoutData(ccListData);
-
- // initialize the keywords list with valid values
- Set<String> ccs = bug.getCC();
- if (ccs != null) {
- for (Iterator<String> it = ccs.iterator(); it.hasNext(); ) {
- String cc = it.next();
- ccList.add(HtmlStreamTokenizer.unescape(cc));
- }
- }
-
- ccList.addSelectionListener(new SelectionListener(){
-
- public void widgetSelected(SelectionEvent e) {
- changeDirtyStatus(true);
-
- for(String cc: ccList.getItems()){
- int index = ccList.indexOf(cc);
- if(ccList.isSelected(index)){
- removeCC.add(cc);
- } else {
- removeCC.remove(cc);
- }
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- ccList.addListener(SWT.FocusIn, new GenericListener());
- }
-
- @Override
- protected void updateBug() {
-
- // go through all of the attributes and update the main values to the new ones
- for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext(); ) {
- Attribute a = it.next();
- if(a.getNewValue().compareTo(a.getValue()) != 0){
- bug.setHasChanged(true);
- }
- a.setValue(a.getNewValue());
-
- }
- if(bug.getNewComment().compareTo(bug.getNewNewComment()) != 0){
- bug.setHasChanged(true);
- }
-
- // Update some other fields as well.
- bug.setNewComment(bug.getNewNewComment());
-
-
- }
-
- @Override
- protected void restoreBug() {
-
- if(bug == null)
- return;
-
- // go through all of the attributes and restore the new values to the main ones
- for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext(); ) {
- Attribute a = it.next();
- a.setNewValue(a.getValue());
- }
-
- // Restore some other fields as well.
- bug.setNewNewComment(bug.getNewComment());
- }
-
- /**
- * This job opens a compare editor to compare the current state of the bug
- * in the editor with the bug on the server.
- */
- protected class OpenCompareEditorJob extends Job {
-
- public OpenCompareEditorJob(String name) {
- super(name);
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- final BugReport serverBug;
- try {
- serverBug = BugzillaRepository.getInstance().getBug(bug.getId());
- // If no bug was found on the server, throw an exception so that the
- // user gets the same message that appears when there is a problem reading the server.
- if (serverBug == null)
- throw new Exception();
- } catch (Exception e) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- MessageDialog.openInformation(Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Could not open bug.", "Bug #" + bug.getId() + " could not be read from the server.");
- }
- });
- return new Status(IStatus.OK, IBugzillaConstants.PLUGIN_ID, IStatus.OK, "Could not get the bug report from the server.", null);
- }
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- compareInput.setTitle("Bug #" + bug.getId());
- compareInput.setLeft(bug);
- compareInput.setRight(serverBug);
- CompareUI.openCompareEditor(compareInput);
- }
- });
- return new Status(IStatus.OK, IBugzillaConstants.PLUGIN_ID, IStatus.OK, "", null);
- }
-
- }
-
- /**
- * Class to handle the selection change of the keywords.
- */
- protected class KeywordListener implements SelectionListener {
-
- /*
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent arg0) {
- changeDirtyStatus(true);
-
- // get the selected keywords and create a string to submit
- StringBuffer keywords = new StringBuffer();
- String [] sel = keyWordsList.getSelection();
-
- // allow unselecting 1 keyword when it is the only one selected
- if(keyWordsList.getSelectionCount() == 1) {
- int index = keyWordsList.getSelectionIndex();
- String keyword = keyWordsList.getItem(index);
- if (bug.getAttribute("Keywords").getNewValue().equals(keyword))
- keyWordsList.deselectAll();
- }
-
- for(int i = 0; i < keyWordsList.getSelectionCount(); i++) {
- keywords.append(sel[i]);
- if (i != keyWordsList.getSelectionCount()-1) {
- keywords.append(",");
- }
- }
- bug.getAttribute("Keywords").setNewValue(keywords.toString());
-
- // update the keywords text field
- keywordsText.setText(keywords.toString());
- }
-
- /*
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent arg0) {
- // no need to listen to this
- }
-
- }
-
- /**
- * A listener for selection of the description field.
- */
- protected class DescriptionListener implements Listener {
- public void handleEvent(Event event) {
- fireSelectionChanged(new SelectionChangedEvent(selectionProvider, new StructuredSelection(new BugzillaReportSelection(bug.getId(), bug.getServer(), "Description", true, bug.getSummary()))));
- }
- }
-
- /**
- * A listener for selection of a comment.
- */
- protected class CommentListener implements Listener {
-
- /** The comment that this listener is for. */
- private Comment comment;
-
- /**
- * Creates a new <code>CommentListener</code>.
- * @param comment The comment that this listener is for.
- */
- public CommentListener(Comment comment) {
- this.comment = comment;
- }
-
- public void handleEvent(Event event) {
- fireSelectionChanged(new SelectionChangedEvent(selectionProvider, new StructuredSelection(new BugzillaReportSelection(bug.getId(), bug.getServer(), comment.getCreated().toString(), comment, bug.getSummary()))));
- }
- }
-
- /**
- * A listener for selection of the textbox where a new comment is entered
- * in.
- */
- protected class NewCommentListener implements Listener {
- public void handleEvent(Event event) {
- fireSelectionChanged(new SelectionChangedEvent(selectionProvider, new StructuredSelection(new BugzillaReportSelection(bug.getId(), bug.getServer(), "New Comment", false, bug.getSummary()))));
- }
- }
-
- /**
- * Class to handle the selection change of the radio buttons.
- */
- protected class RadioButtonListener implements SelectionListener, ModifyListener {
-
- public void widgetDefaultSelected(SelectionEvent e) {
- widgetSelected(e);
- }
-
- public void widgetSelected(SelectionEvent e) {
- Button selected = null;
- for (int i = 0; i < radios.length; i++) {
- if (radios[i].getSelection())
- selected = radios[i];
- }
- // determine the operation to do to the bug
- for (int i = 0; i < radios.length; i++) {
- if (radios[i] != e.widget && radios[i] != selected){
- radios[i].setSelection(false);
- }
-
- if (e.widget == radios[i]) {
- Operation o = bug.getOperation(radios[i].getText());
- bug.setSelectedOperation(o);
- ExistingBugEditor.this.changeDirtyStatus(true);
- }
- else if(e.widget == radioOptions[i]) {
- Operation o = bug.getOperation(radios[i].getText());
- o.setOptionSelection(((Combo)radioOptions[i]).getItem(((Combo)radioOptions[i]).getSelectionIndex()));
-
- if(bug.getSelectedOperation() != null)
- bug.getSelectedOperation().setChecked(false);
- o.setChecked(true);
-
- bug.setSelectedOperation(o);
- radios[i].setSelection(true);
- if(selected != null && selected != radios[i]){
- selected.setSelection(false);
- }
- ExistingBugEditor.this.changeDirtyStatus(true);
- }
- }
- validateInput();
- }
-
- public void modifyText(ModifyEvent e) {
- Button selected = null;
- for (int i = 0; i < radios.length; i++) {
- if (radios[i].getSelection())
- selected = radios[i];
- }
- // determine the operation to do to the bug
- for (int i = 0; i < radios.length; i++) {
- if (radios[i] != e.widget && radios[i] != selected){
- radios[i].setSelection(false);
- }
-
- if (e.widget == radios[i]) {
- Operation o = bug.getOperation(radios[i].getText());
- bug.setSelectedOperation(o);
- ExistingBugEditor.this.changeDirtyStatus(true);
- }
- else if(e.widget == radioOptions[i]) {
- Operation o = bug.getOperation(radios[i].getText());
- o.setInputValue(((Text)radioOptions[i]).getText());
-
- if(bug.getSelectedOperation() != null)
- bug.getSelectedOperation().setChecked(false);
- o.setChecked(true);
-
- bug.setSelectedOperation(o);
- radios[i].setSelection(true);
- if(selected != null && selected != radios[i]){
- selected.setSelection(false);
- }
- ExistingBugEditor.this.changeDirtyStatus(true);
- }
- }
- validateInput();
- }
- }
-
- private void validateInput() {
- Operation o = bug.getSelectedOperation();
- if(o != null && o.getKnobName().compareTo("resolve") == 0 && (addCommentsText.getText() == null || addCommentsText.getText().equals(""))){
- submitButton.setEnabled(false);
- } else{
- submitButton.setEnabled(true);
- }
- }
-
- @Override
- public void handleSummaryEvent() {
- String sel = summaryText.getText();
- Attribute a = getBug().getAttribute("Summary");
- if (!(a.getNewValue().equals(sel))) {
- a.setNewValue(sel);
- changeDirtyStatus(true);
- }
- }
-
-// TODO used for spell checking. Add back when we want to support this
-// protected Button checkSpellingButton;
-//
-// private void checkSpelling() {
-// SpellingContext context= new SpellingContext();
-// context.setContentType(Platform.getContentTypeManager().getContentType(IContentTypeManager.CT_TEXT));
-// IDocument document = new Document(addCommentsTextBox.getText());
-// ISpellingProblemCollector collector= new SpellingProblemCollector(document);
-// EditorsUI.getSpellingService().check(document, context, collector, new NullProgressMonitor());
-// }
-//
-// private class SpellingProblemCollector implements ISpellingProblemCollector {
-//
-// private IDocument document;
-//
-// private SpellingDialog spellingDialog;
-//
-// public SpellingProblemCollector(IDocument document){
-// this.document = document;
-// spellingDialog = new SpellingDialog(Display.getCurrent().getActiveShell(), "Spell Checking", document);
-// }
-//
-// /*
-// * @see org.eclipse.ui.texteditor.spelling.ISpellingProblemCollector#accept(org.eclipse.ui.texteditor.spelling.SpellingProblem)
-// */
-// public void accept(SpellingProblem problem) {
-// try {
-// int line= document.getLineOfOffset(problem.getOffset()) + 1;
-// String word= document.get(problem.getOffset(), problem.getLength());
-// System.out.println(word);
-// for(ICompletionProposal proposal : problem.getProposals()){
-// System.out.println(">>>" + proposal.getDisplayString());
-// }
-//
-// spellingDialog.open(word, problem.getProposals());
-//
-// } catch (BadLocationException x) {
-// // drop this SpellingProblem
-// }
-// }
-//
-// /*
-// * @see org.eclipse.ui.texteditor.spelling.ISpellingProblemCollector#beginCollecting()
-// */
-// public void beginCollecting() {
-//
-// }
-//
-// /*
-// * @see org.eclipse.ui.texteditor.spelling.ISpellingProblemCollector#endCollecting()
-// */
-// public void endCollecting() {
-// MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Spell Checking Finished", "The spell check has finished");
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditorInput.java
deleted file mode 100644
index 4373b47d2..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditorInput.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.editor;
-
-import java.io.IOException;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-
-
-/**
- * The <code>IEditorInput</code> implementation for <code>ExistingBugEditor</code>.
- */
-public class ExistingBugEditorInput extends AbstractBugEditorInput
-{
- 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();
- }
-
- /**
- * 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(int bugId) throws LoginException, IOException {
- this.bugId = bugId;
-
- // get the bug from the server if it exists
- bug = BugzillaRepository.getInstance().getBug(bugId);
- }
-
- public ExistingBugEditorInput(int bugId, boolean offline) throws LoginException, IOException {
- this.bugId = bugId;
-
- if(!offline){
- bug = BugzillaRepository.getInstance().getBug(bugId);
- } else {
- bug = BugzillaRepository.getInstance().getCurrentBug(bugId);
- }
- }
-
- /*
- * @see IEditorInput#getName()
- */
- 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;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java
deleted file mode 100644
index d2c29e7d8..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.editor;
-
-import java.util.Iterator;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.BugPost;
-import org.eclipse.mylar.bugzilla.core.BugzillaException;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.PossibleBugzillaFailureException;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-import org.eclipse.mylar.bugzilla.ui.WebBrowserDialog;
-import org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaReportsAction;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaOutlineNode;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaReportSelection;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-
-/**
- * An editor used to view a locally created bug that does not yet exist on a
- * server. It uses a <code>NewBugModel</code> object to store the data.
- */
-public class NewBugEditor extends AbstractBugEditor {
-
- protected NewBugModel bug;
- protected Text descriptionText;
- protected String newSummary = "";
- protected String newDescription = "";
-
- /**
- * Creates a new <code>NewBugEditor</code>.
- */
- public NewBugEditor() {
- super();
- }
-
- @Override
- public IBugzillaBug getBug() {
- return bug;
- }
-
- @Override
- protected void addKeywordsList(String keywords, Composite attributesComposite) {
- // Since NewBugModels have no keywords, there is no
- // GUI for them.
- }
-
- @Override
- protected void createDescriptionLayout() {
-
- // Description Area
- Composite descriptionComposite = new Composite(infoArea, SWT.NONE);
- GridLayout descriptionLayout = new GridLayout();
- descriptionLayout.numColumns = 4;
- descriptionComposite.setLayout(descriptionLayout);
- descriptionComposite.setBackground(background);
- GridData descriptionData = new GridData(GridData.FILL_BOTH);
- descriptionData.horizontalSpan = 1;
- descriptionData.grabExcessVerticalSpace = false;
- descriptionComposite.setLayoutData(descriptionData);
- // End Description Area
-
- Composite descriptionTitleComposite =
- new Composite(descriptionComposite, SWT.NONE);
- GridLayout descriptionTitleLayout = new GridLayout();
- descriptionTitleLayout.horizontalSpacing = 0;
- descriptionTitleLayout.marginWidth = 0;
- descriptionTitleComposite.setLayout(descriptionTitleLayout);
- descriptionTitleComposite.setBackground(background);
- GridData descriptionTitleData =
- new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- descriptionTitleData.horizontalSpan = 4;
- descriptionTitleData.grabExcessVerticalSpace = false;
- descriptionTitleComposite.setLayoutData(descriptionTitleData);
- newLayout(descriptionTitleComposite, 4, "Description:", HEADER).addListener(SWT.FocusIn, new DescriptionListener());
-
- descriptionText =
- new Text(descriptionComposite,
- SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.WRAP);
- descriptionText.setFont(COMMENT_FONT);
- GridData descriptionTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- descriptionTextData.horizontalSpan = 4;
- descriptionTextData.widthHint = DESCRIPTION_WIDTH;
- descriptionTextData.heightHint = DESCRIPTION_HEIGHT;
- descriptionText.setLayoutData(descriptionTextData);
- descriptionText.setText(bug.getDescription());
- descriptionText.addListener(SWT.KeyUp, new Listener() {
- public void handleEvent(Event event) {
- String sel = descriptionText.getText() + event.character;
- if (!(newDescription.equals(sel))) {
- newDescription = sel;
- changeDirtyStatus(true);
- }
- }
- });
- descriptionText.addListener(SWT.FocusIn, new DescriptionListener());
-
- super.descriptionTextBox = descriptionText;
-
- this.createSeparatorSpace(descriptionComposite);
-}
-
- @Override
- protected void createCommentLayout() {
- // Since NewBugModels have no comments, there is no
- // GUI for them.
- }
-
- @Override
- protected void addRadioButtons(Composite buttonComposite) {
- // Since NewBugModels have no special submitting actions,
- // no radio buttons are required.
- }
-
- @Override
- protected String getTitleString() {
- return bug.getLabel();
- }
-
- @Override
- protected void submitBug() {
- final BugPost form = new BugPost();
- form.setPrefix("Bug ");
- form.setPostfix1(" posted");
- form.setPostfix2(" Submitted");
- updateBug();
-
- setURL(form, "post_bug.cgi");
- // go through all of the attributes and add them to the bug post
- Iterator<Attribute> itr = bug.getAttributes().iterator();
- while (itr.hasNext()) {
- Attribute a = itr.next();
- if (a != null && a.getParameterName() != null
- && a.getParameterName().compareTo("") != 0
- && !a.isHidden()) {
- String key = a.getName();
- String value = null;
-
- // get the values from the attribute
- if (key.equalsIgnoreCase("OS")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Version")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Severity")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Platform")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Component")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Priority")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("URL")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Assign To") || key.equalsIgnoreCase("Assigned To")) {
- value = a.getValue();
- }
-
- // add the attribute to the bug post
- if (value == null)
- value = "";
-
- form.add(a.getParameterName(), value);
- } else if (a != null && a.getParameterName() != null
- && a.getParameterName().compareTo("") != 0
- && a.isHidden()) {
- // we have a hidden attribute, add it to the posting
- form.add(a.getParameterName(), a.getValue());
-
- }
-
- }
-
- // set the summary, and description
-
- // add the summary to the bug post
- form.add("short_desc", bug.getSummary());
-
- // format the description of the bug so that it is roughly in 80
- // character lines
- bug.setDescription(formatText(bug.getDescription()));
-
- if (bug.getDescription().length() != 0) {
- // add the new comment to the bug post if there is some text in
- // it
- form.add("comment", bug.getDescription());
- }
-
-
- final WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
- protected void execute(final IProgressMonitor monitor) throws CoreException {
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable(){
- public void run() {
-// update the bug on the server
- try {
- String id = form.post();
-
- // If the bug was successfully sent...
- if (id != null && NewBugEditor.this != null && !NewBugEditor.this.isDisposed()) {
- changeDirtyStatus(false);
- BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().closeEditor(NewBugEditor.this, false);
- }
- OfflineView.removeReport(bug);
- } catch (BugzillaException e) {
- MessageDialog
- .openError(
- null,
- "I/O Error",
- "Bugzilla could not post your bug.");
- BugzillaPlugin.log(e);
- } catch (PossibleBugzillaFailureException e) {
- WebBrowserDialog
- .openAcceptAgreement(
- null,
- "Possible Bugzilla Failure",
- "Bugzilla may not have posted your bug.\n" + e.getMessage(), form.getError());
- BugzillaPlugin.log(e);
- }catch (LoginException e) {
- // if we had an error with logging in, display an error
- MessageDialog
- .openError(
- null,
- "Posting Error",
- "Bugzilla could not post your bug since your login name or password is incorrect."
- + "\nPlease check your settings in the bugzilla preferences. ");
- }
- }
- });
- }
- };
-
- Job job = new Job("Submitting New Bug"){
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try{
- op.run(monitor);
- } catch (Exception e){
- MylarPlugin.log(e, "Failed to submit bug");
- return new Status(Status.ERROR, "org.eclipse.mylar.bugzilla.ui", Status.ERROR, "Failed to submit bug", e);
- }
-
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null &&
- TaskListView.getDefault().getViewer() != null){
- new RefreshBugzillaReportsAction().run();
- }
- }
- });
- return Status.OK_STATUS;
- }
-
- };
-
- job.schedule();
- }
-
- @Override
- protected void updateBug() {
- // go through all of the attributes and update the main values to the new ones
- for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext(); ) {
- Attribute a = it.next();
- a.setValue(a.getNewValue());
- }
-
- // Update some other fields as well.
- bug.setSummary(newSummary);
- bug.setDescription(newDescription);
- }
-
- @Override
- protected void restoreBug() {
- // go through all of the attributes and restore the new values to the main ones
- for (Iterator<Attribute> it = bug.getAttributes().iterator(); it.hasNext(); ) {
- Attribute a = it.next();
- a.setNewValue(a.getValue());
- }
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- if (!(input instanceof NewBugEditorInput))
- throw new PartInitException("Invalid Input: Must be NewBugEditorInput");
- NewBugEditorInput ei = (NewBugEditorInput) input;
- setSite(site);
- setInput(input);
- bugzillaInput = ei;
- model = BugzillaOutlineNode.parseBugReport(bugzillaInput.getBug());
- bug = ei.getBug();
- newSummary = bug.getSummary();
- newDescription = bug.getDescription();
- restoreBug();
- isDirty = false;
- updateEditorTitle();
- }
-
- /**
- * A listener for selection of the description textbox.
- */
- protected class DescriptionListener implements Listener {
- public void handleEvent(Event event) {
- fireSelectionChanged(new SelectionChangedEvent(selectionProvider, new StructuredSelection(new BugzillaReportSelection(bug.getId(), bug.getServer(), "New Description", false, bug.getSummary()))));
- }
- }
-
- @Override
- public void handleSummaryEvent() {
- String sel = summaryText.getText();
- if (!(newSummary.equals(sel))) {
- newSummary = sel;
- changeDirtyStatus(true);
- }
- }
-
- @Override
- protected void addCCList(String value, Composite attributesComposite) {
- // do nothing here right now
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditorInput.java
deleted file mode 100644
index 92fd3dc92..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditorInput.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.editor;
-
-import org.eclipse.mylar.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/bugzilla/ui/editor/SpellingDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/SpellingDialog.java
deleted file mode 100644
index 6a1c518c9..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/SpellingDialog.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.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/bugzilla/ui/favorites/actions/AbstractFavoritesAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AbstractFavoritesAction.java
deleted file mode 100644
index 2caf881be..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AbstractFavoritesAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.favorites.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.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/bugzilla/ui/favorites/actions/AddFavoriteAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddFavoriteAction.java
deleted file mode 100644
index d857f433b..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddFavoriteAction.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.favorites.actions;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.favorites.Favorite;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.FavoritesView;
-import org.eclipse.mylar.bugzilla.ui.search.BugzillaSearchResultView;
-
-
-/**
- * Bookmark a returned Bugzilla Search result.
- */
-public class AddFavoriteAction extends AbstractFavoritesAction {
-
- /** Selected objects */
- private List<Favorite> selected;
-
- /** The view where the Bugzilla search results are displayed */
- private BugzillaSearchResultView resultView;
-
- /**
- * Constructor
- * @param text The label for the context menu item
- * @param resultView The view where the Bugzilla search results are displayed
- */
- public AddFavoriteAction(String text, BugzillaSearchResultView resultView) {
- setText(text);
- setImageDescriptor(BugzillaImages.IMG_TOOL_ADD_TO_FAVORITES);
- this.resultView = resultView;
- selected = null;
- }
-
- /**
- * Bookmark the selected items
- * @see org.eclipse.ui.actions.ActionDelegate#run(IAction)
- */
- @Override
- public void run()
- {
- FavoritesView.checkWindow();
-
- selected = new ArrayList<Favorite>();
- buildSelection();
-
- // go through each of the selected items and add its data to the favorites file
- for (int i = 0; i < selected.size(); i++)
- {
- BugzillaPlugin.getDefault().getFavorites().add(selected.get(i));
- }
- FavoritesView.add();
- FavoritesView.updateActionEnablement();
- }
-
- /**
- * Gets the entire selection and puts each bug report into a list. Only the
- * relevent parts of each bug report are put into the list.
- */
- @SuppressWarnings("unchecked")
- private void buildSelection() {
- ISelection s = resultView.getViewer().getSelection();
- if (s instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) s;
- for (Iterator<IMarker> it = selection.iterator(); it.hasNext();) {
- IMarker marker = it.next();
-
- try
- {
- // try to get the attribute for the marker
- Integer attributeId = (Integer) marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID);
- // add the selected item to the list of items that are selected
- String description = (String) marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_DESC);
- String query = (String) marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_QUERY);
-
- // create a map to add attributes to so that the favorites file can sort
- HashMap<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(IBugzillaConstants.HIT_MARKER_ATTR_ID, attributeId);
- attributes.put(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY, marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_PRIORITY));
- attributes.put(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY, marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_SEVERITY));
- attributes.put(IBugzillaConstants.HIT_MARKER_ATTR_STATE, marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_STATE));
- attributes.put(IBugzillaConstants.HIT_MARKER_ATTR_RESULT, marker.getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_RESULT));
-
- Favorite favorite = new Favorite(BugzillaPlugin.getDefault().getServerName(), attributeId.intValue(), description, query, attributes);
- selected.add(favorite);
- }
- catch (CoreException ignored)
- {
- // do nothing
- }
- }
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddToFavoritesAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddToFavoritesAction.java
deleted file mode 100644
index 0e8a634a3..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/AddToFavoritesAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.favorites.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.favorites.Favorite;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.FavoritesView;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditorInput;
-import org.eclipse.ui.part.EditorPart;
-
-
-/**
- * Action used to add the supplied editor's bug to the favorites list.
- */
-public class AddToFavoritesAction extends Action {
- private EditorPart editorPart;
-
- /**
- * Creates a new <code>AddToFavoritesAction</code>.
- *
- * @param editor
- * The editor for the bug that is being added to the favorites
- * list.
- */
- public AddToFavoritesAction(EditorPart editor) {
- editorPart = editor;
- setText("&Add to favorites");
- setImageDescriptor(BugzillaImages.IMG_TOOL_ADD_TO_FAVORITES);
- }
-
- @Override
- public void run() {
- ExistingBugEditorInput input = (ExistingBugEditorInput) editorPart.getEditorInput();
- Favorite entry = new Favorite(input.getBug());
- FavoritesView.checkWindow();
- BugzillaPlugin.getDefault().getFavorites().add(entry);
- FavoritesView.add();
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/DeleteFavoriteAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/DeleteFavoriteAction.java
deleted file mode 100644
index 1d34aff93..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/DeleteFavoriteAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.favorites.actions;
-
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.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/bugzilla/ui/favorites/actions/ViewFavoriteAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/ViewFavoriteAction.java
deleted file mode 100644
index 059c906f0..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/favorites/actions/ViewFavoriteAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.favorites.actions;
-
-import java.util.List;
-
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaOpenStructure;
-import org.eclipse.mylar.bugzilla.ui.FavoritesView;
-import org.eclipse.mylar.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/bugzilla/ui/outline/BugzillaOutlineComparer.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineComparer.java
deleted file mode 100644
index 80884eb7b..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineComparer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.outline;
-
-import org.eclipse.jface.viewers.IElementComparer;
-import org.eclipse.mylar.bugzilla.core.BugzillaTools;
-import org.eclipse.mylar.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/bugzilla/ui/outline/BugzillaOutlineNode.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineNode.java
deleted file mode 100644
index a84479854..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlineNode.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.outline;
-
-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.bugzilla.core.IBugzillaReportSelection;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * A node for the tree in the <code>BugzillaOutlinePage</code>.
- */
-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;
- }
-
- /**
- * @return The decorator image for this node.
- */
- 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.getServer();
- Image bugImage = BugzillaImages.getImage(BugzillaImages.BUG);
- Image defaultImage = BugzillaImages.getImage(BugzillaImages.IMG_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.getServer();
- Image bugImage = BugzillaImages.getImage(BugzillaImages.BUG);
- Image defaultImage = BugzillaImages.getImage(BugzillaImages.IMG_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/bugzilla/ui/outline/BugzillaOutlinePage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlinePage.java
deleted file mode 100644
index 4a8048eef..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaOutlinePage.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.outline;
-
-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.bugzilla.core.BugzillaTools;
-import org.eclipse.mylar.bugzilla.core.IBugzillaReportSelection;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-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) {
- return ((BugzillaOutlineNode)element).getImage();
- }
- else {
- return super.getImage(element);
- }
- }
-
- @Override
- public String getText(Object element) {
- if (element instanceof BugzillaOutlineNode) {
- return ((BugzillaOutlineNode)element).getName();
- }
- else {
- return super.getText(element);
- }
- }
- });
- viewer.setInput(topTreeNode);
- viewer.setComparer(new BugzillaOutlineComparer());
- viewer.expandAll();
- 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/bugzilla/ui/outline/BugzillaReportSelection.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaReportSelection.java
deleted file mode 100644
index fe18a93f4..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/outline/BugzillaReportSelection.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.outline;
-
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.mylar.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/bugzilla/ui/query/GetQueryDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/GetQueryDialog.java
deleted file mode 100644
index 70a2feac4..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/GetQueryDialog.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.query;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.mylar.bugzilla.ui.search.BugzillaSearchPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * Dialog to display, manage and run stored queries.
- */
-public class GetQueryDialog extends Dialog
-{
-
- /** The Ok button. */
- private Button okButton;
-
- /** The title of the dialog. */
- private String title;
-
- private SavedQueryFile input;
-
- public GetQueryDialog(Shell parentShell, String dialogTitle, SavedQueryFile in) {
- super(parentShell);
- this.title = dialogTitle;
- input = in;
- setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
- }
-
- @Override
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText(title);
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- // create OK and Details buttons
- okButton = createButton(parent, IDialogConstants.OK_ID, "Run", true);
- okButton.setEnabled(false);
- createButton(parent, IDialogConstants.CANCEL_ID, "Close", false);
- }
-
- /**
- * Creates the list widget to display stored queries.
- */
- @Override
- final protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite)super.createDialogArea(parent);
-
- createMainDialogArea(composite);
-
- return composite;
- }
-
- protected void createMainDialogArea(Composite parent) {
- Label label = new Label(parent, SWT.LEFT);
- label.setText("Select a saved query:");
- rememberPattern = new List(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
- ArrayList<String> names = input.getNames();
- int pos = 0;
-
- for (Iterator<String> it = names.iterator(); it.hasNext(); ) {
- rememberPattern.add(it.next(), pos);
- pos++;
- }
-
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 5;
- gd.heightHint = 60;
-
- rememberPattern.setLayoutData(gd);
- rememberPattern.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- selIndex = rememberPattern.getSelectionIndex();
- okButton.setEnabled(selIndex >= 0);
- }
- });
- rememberPattern.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- okPressed();
- }
- });
-
- // Configure the context menu
- MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
- menuMgr.add(new RunQueryAction("&Run query"));
- menuMgr.add(new Separator());
- menuMgr.add(new RemoveAction("Remo&ve"));
- menuMgr.add(new RemoveAllAction("Remove &all"));
- Menu menu = menuMgr.createContextMenu(rememberPattern);
- rememberPattern.setMenu(menu);
-
- }
-
- final protected void setPageComplete(boolean complete) {
- if (okButton != null) {
- okButton.setEnabled(complete);
- }
- }
-
- private String queryNameText;
-
- private List rememberPattern;
-
- public String getText() {
- return queryNameText;
- }
-
- /**
- * Deletes a selected named query.
- */
- private void remove() {
- int index = rememberPattern.getSelectionIndex();
- if(index != -1)
- BugzillaSearchPage.getInput().remove(new int []{index});
- rememberPattern.remove(index);
- rememberPattern.setSelection(-1);
- selIndex = -1;
- okButton.setEnabled(false);
- }
-
- private void removeAll() {
- BugzillaSearchPage.getInput().removeAll();
- rememberPattern.removeAll();
- rememberPattern.setSelection(-1);
- selIndex = -1;
- okButton.setEnabled(false);
- }
-
- /** Index of the selected query, or -1 if none. */
- int selIndex = -1;
-
- /**
- * Returns index of the selected query or -1 if none are selected.
- */
- public int getSelected() {
- return selIndex;
- }
-
- private class RunQueryAction extends Action {
- RunQueryAction(String text) {
- super(text);
- }
-
- @Override
- public void run() {
- GetQueryDialog.this.okPressed();
- }
- }
-
- private class RemoveAction extends Action {
- RemoveAction(String text) {
- super(text);
- }
-
- @Override
- public void run() {
- GetQueryDialog.this.remove();
- }
- }
-
- private class RemoveAllAction extends Action {
- RemoveAllAction(String text) {
- super(text);
- }
-
- @Override
- public void run() {
- GetQueryDialog.this.removeAll();
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SaveQueryDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SaveQueryDialog.java
deleted file mode 100644
index e8788c59c..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SaveQueryDialog.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.query;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Dialog for naming a saved query.
- */
-public class SaveQueryDialog extends Dialog
-{
- private Text queryName;
-
- /**
- * The Ok button.
- */
- private Button okButton;
-
- /**
- * The title of the dialog.
- */
- private String title;
-
- public SaveQueryDialog(Shell parentShell, String dialogTitle) {
- super(parentShell);
- this.title = dialogTitle;
- setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
- }
-
- @Override
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText(title);
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- // create OK and cancel buttons
- okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
- okButton.setEnabled(false);
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- // create composite
- Composite composite = (Composite)super.createDialogArea(parent);
-
- createMainDialogArea(composite);
- return composite;
- }
-
- protected void createMainDialogArea(Composite parent) {
- queryName = new Text(parent, SWT.SINGLE | SWT.BORDER);
- queryName.setLayoutData(new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
- queryName.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- if (queryName.getText().compareTo("") != 0 && queryName.getText() != null)
- okButton.setEnabled(true);
- else
- okButton.setEnabled(false);
- queryNameText = queryName.getText();
- }
- });
- }
-
- String queryNameText;
-
- public String getText() {
- return queryNameText;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SavedQueryFile.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SavedQueryFile.java
deleted file mode 100644
index 11da9d2df..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/query/SavedQueryFile.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.query;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-
-
-/**
- * This class manages accessing and persisting named Bugzilla queries.
- */
-public class SavedQueryFile
-{
- /** The file that the queries are written to */
- private File file;
-
- /** The directory to where the file is located */
- private File directory;
-
- /** A list of remembered queries */
- private ArrayList<String> list = new ArrayList<String>();
- private ArrayList<String> nameList = new ArrayList<String>();
- private ArrayList<String> sumList = new ArrayList<String>();
-
- /**
- * Constructor
- * @param dirPath The path to the directory where the favorites file should be written to
- * @param fileName The file that the favorites should be written to
- */
- public SavedQueryFile(String dirPath, String fileName)
- {
- // create a new file and if it exists, read the data from the file
- // else create the file and directories if they dont exist
- file = new File(dirPath + fileName);
- if (file.exists()) {
- readFile();
- }
- else {
- directory = new File(dirPath);
- if (!directory.exists())
- directory.mkdirs();
- writeFile();
- }
- }
-
- /**
- * Add a query to the list
- * @param entry The query to add
- */
- public int add(String entry, String name, String sum)
- {
- // add the entry to the list and write the file to disk
- int index = find(name);
- if (index == -1) {
- list.add(entry);
- nameList.add(name);
- sumList.add(sum);
- writeFile();
- }
- else {
- boolean isDuplicate = MessageDialog.openConfirm(BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(),
- "Save Bugzilla Query",
- name + " already exists. Do you want to replace it?");
- if (isDuplicate) {
- list.add(index, entry);
- nameList.add(index,name);
- sumList.add(index,sum);
- list.remove(index+1);
- nameList.remove(index+1);
- sumList.remove(index+1);
- writeFile();
- }
- }
-
- index = find(entry);
- return index;
- }
-
-
- /**
- * Find a bug in the query list
- * @param name The name of the query that we are looking for
- * @return The index of the query in the array if it exists, else -1
- */
- public int find(String name)
- {
- for (int i = 0; i < list.size(); i++) {
- String str = nameList.get(i);
- if (name.compareTo(str) == 0)
- return i;
- }
- return -1;
- }
-
- /**
- * Get the list of queries
- * @return The list of queries
- */
- public ArrayList<String> elements()
- {
- return list;
- }
-
- /**
- * Write the queries to disk
- */
- private void writeFile()
- {
- try {
- OutputStream os = new FileOutputStream(file);
- DataOutputStream data = new DataOutputStream(os);
-
- // Write the size of the list so that we can read it back in easier
- data.writeInt(list.size());
-
- // write each element in the array list
- for (int i = 0; i < list.size(); i++) {
- String item = list.get(i);
- String itemName = nameList.get(i);
- String summary = sumList.get(i);
-
- // write the string in a machine independant manner
- data.writeUTF(item);
- data.writeUTF(itemName);
- data.writeUTF(summary);
- }
-
- // close the file
- data.close();
- }
- catch (IOException e) {
- // put up a message and log the error if there is a problem writing to the file
- BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(e, "occurred while saving your Bugzilla queries", "I/O Error");
- }
- }
-
- /**
- * Read the queries in from the file on disk
- */
- private void readFile()
- {
- try {
- InputStream is = new FileInputStream(file);
- DataInputStream data = new DataInputStream(is);
-
- // get the number of favorites in the file
- int size = data.readInt();
-
- // read in each of the favorites in the file
- for (int nX = 0; nX < size; nX++) {
- String item, name, summary;
-
- // get the data from disk in a machine independant way
- item = data.readUTF();
- name = data.readUTF();
- summary = data.readUTF();
-
- // add the favorite to the favorites list
- list.add(item);
- nameList.add(name);
- sumList.add(summary);
- }
-
- // close the input stream
- data.close();
- }
- catch (IOException e) {
- // put up a message and log the error if there is a problem reading from the file
- BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(e, "occurred while restoring saved Bugzilla queries.", "I/O Error");
- }
- }
-
- /**
- * Remove some queries from the list
- * @param indicesToRemove An array of the indicies of the queries to be removed
- */
- public void remove(int[] indicesToRemove)
- {
- int timesShifted = 0;
-
- // remove each of the indicated items from the array
- for (int i = 0; i < indicesToRemove.length; i++) {
- list.remove(indicesToRemove[i] - timesShifted);
- nameList.remove(indicesToRemove[i] - timesShifted);
- sumList.remove(indicesToRemove[i] - timesShifted);
- timesShifted++;
- }
-
- // rewrite the file so that the data is persistant
- writeFile();
-
- // remove the items from the combo box
- timesShifted = 0;
- }
-
- /**
- * Remove all of the items in the favortes menu
- */
- public void removeAll() {
- // remove every element from the favorites list
- while (list.size() > 0) {
- list.remove(0);
- nameList.remove(0);
- sumList.remove(0);
- }
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-
- /**
- * Get the query parameters of the currently selected remembered query
- * @return The query url
- */
- public String getQueryParameters(int index) {
- return list.get(index);
- }
-
- /**
- * Get the summary text of the currently selected remembered query
- * @return The summary text
- */
- public String getSummaryText(int index) {
- return sumList.get(index);
-
- }
-
- public ArrayList<String> getNames() {
- return nameList;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaResultCollector.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaResultCollector.java
deleted file mode 100644
index aadf97d64..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaResultCollector.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Oct 4, 2004
- */
-package org.eclipse.mylar.bugzilla.ui.search;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector;
-
-
-/**
- * Collector for the bugzilla search results
- *
- * @author Shawn Minto
- */
-public class BugzillaResultCollector implements IBugzillaSearchResultCollector {
- /** A list of all of the search results found */
- private List<BugzillaSearchHit> results = new ArrayList<BugzillaSearchHit>();
-
- /** The progress monitor for the search operation */
- private IProgressMonitor monitor;
-
- /** The number of matches found */
- private int matchCount;
-
- /** The bugzilla search operation */
- private IBugzillaSearchOperation operation;
-
- /** The string to display to the user while querying */
- private static final String STARTING = "querying the server";
-
- /** The string to display to the user when the query is done */
- private static final String DONE = "done";
-
- /** The string to display when there is one match from the search */
- private static final String MATCH = "Bugzilla Mylar search - 1 match";
-
- /** The string to display when there is more than one match from the search */
- private static final String MATCHES = "Bugzilla Mylar search - {0} matches";
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#aboutToStart()
- */
- public void aboutToStart(int startMatchCount) throws CoreException {
- // initiailize the number of matches
- matchCount = startMatchCount;
-
- // set the progress monitor to say that we are querying the server
- monitor.setTaskName(STARTING);
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#accept(org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit)
- */
- public void accept(BugzillaSearchHit hit) throws CoreException {
- // add the result to the list of results
- results.add(hit);
-
- // increment the match count
- matchCount++;
-
- if (getProgressMonitor() != null) {
- if (!getProgressMonitor().isCanceled()) {
- // if the operation is cancelled finish with whatever data was
- // already found
- getProgressMonitor().subTask(
- getFormattedMatchesString(matchCount));
- getProgressMonitor().worked(1);
- }
- }
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#done()
- */
- public void done() {
- if (getProgressMonitor() != null) {
- if (!monitor.isCanceled()) {
- // if the operation is cancelled, finish with the data that we
- // already have
- String matchesString = getFormattedMatchesString(matchCount);
- monitor.setTaskName(MessageFormat.format(DONE,
- new Object[] { matchesString }));
- }
- }
-
- monitor = null;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#getProgressMonitor()
- */
- public IProgressMonitor getProgressMonitor() {
- return monitor;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
- */
- public void setProgressMonitor(IProgressMonitor monitor) {
- this.monitor = monitor;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#setOperation(org.eclipse.mylar.bugzilla.core.search.BugzillaSearchOperation)
- */
- public void setOperation(IBugzillaSearchOperation operation) {
- this.operation = operation;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector#getOperation()
- */
- public IBugzillaSearchOperation getOperation() {
- return operation;
- }
-
- /**
- * Get the string specifying the number of matches found
- *
- * @param count
- * The number of matches found
- * @return The <code>String</code> specifying the number of matches found
- */
- private String getFormattedMatchesString(int count) {
- // if only 1 match, return the singular match string
- String name = "";
- if(operation.getName() != null)
- name = " - " + operation.getName();
- if (count == 1)
- return MATCH + name;
-
- // format the matches string and return it
- Object[] messageFormatArgs = { new Integer(count) };
- return MessageFormat.format(MATCHES + name,
- messageFormatArgs);
- }
-
- /**
- * Get the list of results
- *
- * @return A List of BugzillaSearchHit
- */
- public List<BugzillaSearchHit> getResults() {
- return results;
- }
-
- /**
- * Get the number of matches from the operation
- *
- * @return Returns the matchCount.
- */
- public int getMatchCount() {
- return matchCount;
- }
-
- /**
- * Set the starting number of matches for the search operation
- *
- * @param matchCount
- * The matchCount to set.
- */
- public void setMatchCount(int matchCount) {
- this.matchCount = matchCount;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchPage.java
deleted file mode 100644
index f603434e9..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchPage.java
+++ /dev/null
@@ -1,1050 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.search;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchOperation;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchQuery;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchResultCollector;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchResultCollector;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUITools;
-import org.eclipse.mylar.bugzilla.ui.query.GetQueryDialog;
-import org.eclipse.mylar.bugzilla.ui.query.SaveQueryDialog;
-import org.eclipse.mylar.bugzilla.ui.query.SavedQueryFile;
-import org.eclipse.search.ui.ISearchPage;
-import org.eclipse.search.ui.ISearchPageContainer;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.help.WorkbenchHelpSystem;
-
-
-/**
- * Bugzilla search page
- */
-public class BugzillaSearchPage extends DialogPage implements ISearchPage {
- protected Combo summaryPattern = null;
- private static ArrayList<BugzillaSearchData> previousSummaryPatterns = new ArrayList<BugzillaSearchData>(20);
- private static ArrayList<BugzillaSearchData> previousEmailPatterns = new ArrayList<BugzillaSearchData>(20);
- private static ArrayList<BugzillaSearchData> previousCommentPatterns = new ArrayList<BugzillaSearchData>(20);
- protected ISearchPageContainer scontainer = null;
- private boolean firstTime = true;
-
- private IDialogSettings fDialogSettings;
-
- private static final String [] patternOperationText = {"all words", "any word", "regexp"};
- private static final String [] patternOperationValues = {"allwordssubstr", "anywordssubstr", "regexp"};
- private static final String [] emailOperationText = {"substring", "exact", "regexp"};
- private static final String [] emailOperationValues = {"substring", "exact", "regexp"};
- private static final String [] emailRoleValues = {"emailassigned_to1", "emailreporter1", "emailcc1", "emaillongdesc1"};
-
- protected IPreferenceStore prefs = BugzillaPlugin.getDefault().getPreferenceStore();
- private String [] statusValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.STATUS_VALUES));
- protected String [] preselectedStatusValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRESELECTED_STATUS_VALUES));
- private String [] resolutionValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.RESOLUTION_VALUES));
- private String [] severityValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.SEVERITY_VALUES));
- private String [] priorityValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRIORITY_VALUES));
- private String [] hardwareValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.HARDWARE_VALUES));
- private String [] osValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.OS_VALUES));
-
- private String [] productValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRODUCT_VALUES));
- private String [] componentValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.COMPONENT_VALUES));
- private String [] versionValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.VERSION_VALUES));
- private String [] targetValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.TARGET_VALUES));
-
- private static class BugzillaSearchData {
- /** Pattern to match on */
- String pattern;
- /** Pattern matching criterion */
- int operation;
-
- BugzillaSearchData(String pattern, int operation) {
- this.pattern = pattern;
- this.operation = operation;
- }
- }
-
- /**
- * The constructor.
- */
- public BugzillaSearchPage() {
- super();
- }
-
- /**
- * Insert the method's description here.
- * @see DialogPage#createControl
- */
- public void createControl(Composite parent) {
- readConfiguration();
-
- Composite control = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout(2, false);
- control.setLayout(layout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- control.setLayoutData(gd);
-
- createTextSearchComposite(control);
- createComment(control);
- createProductAttributes(control);
- createLists(control);
- createLastDays(control);
- createEmail(control);
- createSaveQuery(control);
- createMaxHits(control);
- input = new SavedQueryFile(BugzillaPlugin.getDefault().getStateLocation().toString(), "/queries");
- createUpdate(control);
-
-
- setControl(control);
- WorkbenchHelpSystem.getInstance().setHelp(control, IBugzillaConstants.SEARCH_PAGE_CONTEXT);
- }
-
- protected Control createTextSearchComposite(Composite control) {
- GridData gd;
- Label label;
-
- Composite group = new Composite(control, SWT.NONE);
- GridLayout layout = new GridLayout(2, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- // Info text
- label = new Label(group, SWT.LEFT);
- label.setText("Bug id or summary search terms");
- gd = new GridData(GridData.BEGINNING);
- gd.horizontalSpan = 2;
- label.setLayoutData(gd);
-
- // Pattern combo
- summaryPattern = new Combo(group, SWT.SINGLE | SWT.BORDER);
- summaryPattern.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- scontainer.setPerformActionEnabled(canQuery());
- }
- });
- summaryPattern.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleWidgetSelected(summaryPattern, summaryOperation, previousSummaryPatterns);
- }
- });
- gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- summaryPattern.setLayoutData(gd);
-
- summaryOperation = new Combo(group, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
- summaryOperation.setItems(patternOperationText);
- summaryOperation.setText(patternOperationText[0]);
- summaryOperation.select(0);
-
- return group;
- }
-
-
- private Control createComment(Composite control) {
- GridData gd;
- Label label;
-
- Composite group = new Composite(control, SWT.NONE);
- GridLayout layout = new GridLayout(3, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- // Info text
- label = new Label(group, SWT.LEFT);
- label.setText("Comment contains: ");
- gd = new GridData(GridData.BEGINNING);
- label.setLayoutData(gd);
-
- commentOperation = new Combo(group, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
- commentOperation.setItems(patternOperationText);
- commentOperation.setText(patternOperationText[0]);
- commentOperation.select(0);
-
- // Comment pattern combo
- commentPattern = new Combo(group, SWT.SINGLE | SWT.BORDER);
- commentPattern.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- scontainer.setPerformActionEnabled(canQuery());
- }
- });
- commentPattern.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleWidgetSelected(commentPattern, commentOperation, previousCommentPatterns);
- }
- });
- gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- commentPattern.setLayoutData(gd);
-
- return group;
- }
-
- /**
- * Creates the area for selection on product/component/version.
- */
- protected Control createProductAttributes(Composite control) {
- GridData gd;
- GridLayout layout;
-
- // Search expression
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout();
- layout.numColumns = 4;
- group.setLayout(layout);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 5;
- group.setLayoutData(gd);
-
- // Labels
- Label label = new Label(group, SWT.LEFT);
- label.setText("Product");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Component");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Version");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Milestone");
-
- // Lists
- product = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- product.setLayoutData(gd);
-
- component = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- component.setLayoutData(gd);
-
- version = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- version.setLayoutData(gd);
-
- target = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- target.setLayoutData(gd);
-
- return group;
- }
-
- /**
- * Creates the area for selection of bug attributes (status, etc.)
- */
- protected Control createLists(Composite control) {
- GridData gd;
- GridLayout layout;
-
- // Search expression
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout();
- layout.numColumns = 6;
- group.setLayout(layout);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 5;
- group.setLayoutData(gd);
-
- // Labels
- Label label = new Label(group, SWT.LEFT);
- label.setText("Status");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Resolution");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Severity");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Priority");
-
- label = new Label(group, SWT.LEFT);
- label.setText("Hardware");
-
- label = new Label(group, SWT.LEFT);
- label.setText("OS");
-
- // Lists
- status = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- status.setLayoutData(gd);
-
- resolution = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- resolution.setLayoutData(gd);
-
- severity = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- severity.setLayoutData(gd);
-
- priority = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- priority.setLayoutData(gd);
-
- hardware = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- hardware.setLayoutData(gd);
-
- os = new List(group, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 40;
- os.setLayoutData(gd);
-
- return group;
- }
-
- protected Text daysText;
-
- protected Control createLastDays(Composite control)
- {
- GridLayout layout;
- GridData gd;
-
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout(3, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- Label label = new Label(group, SWT.LEFT);
- label.setText("Only bugs changed in the last ");
-
- // operation combo
- daysText = new Text(group, SWT.BORDER);
- daysText.setTextLimit(5);
- daysText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String days = daysText.getText();
- if (days.length() == 0)
- return;
- for (int i = days.length() - 1; i >= 0; i--) {
- try {
- if (days.equals("") || Integer.parseInt(days) > -1) {
- if (i == days.length() - 1)
- return;
- else
- break;
- }
- } catch (NumberFormatException ex) {
- days = days.substring(0, i);
- }
- }
- daysText.setText(days);
- }
- });
- label = new Label(group, SWT.LEFT);
- label.setText(" Days.");
-
-
- return group;
- }
-
- protected Text maxHitsText;
-
- protected Control createMaxHits(Composite control)
- {
- GridLayout layout;
- GridData gd;
-
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout(3, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- Label label = new Label(group, SWT.LEFT);
- label.setText("Show a maximum of ");
-
- // operation combo
- maxHitsText = new Text(group, SWT.BORDER);
- maxHitsText.setTextLimit(5);
- maxHitsText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String maxHitss = maxHitsText.getText();
- if (maxHitss.length() == 0)
- return;
- for (int i = maxHitss.length() - 1; i >= 0; i--) {
- try {
- if (maxHitss.equals("") || Integer.parseInt(maxHitss) > -1) {
- if (i == maxHitss.length() - 1){
- maxHits = maxHitss;
- return;
- } else {
- break;
- }
- }
- } catch (NumberFormatException ex) {
- maxHitss = maxHitss.substring(0, i);
- }
- }
-
- BugzillaSearchPage.this.maxHits = maxHitss;
- }
- });
- gd = new GridData();
- gd.widthHint = 20;
- maxHitsText.setLayoutData(gd);
- label = new Label(group, SWT.LEFT);
- label.setText(" Hits. (-1 means all hits are returned)");
-
- maxHits = "100";
- maxHitsText.setText(maxHits);
-
- return group;
- }
-
- protected String maxHits;
-
- public String getMaxHits(){
- return maxHits;
- }
-
- private static final String [] emailText = {"bug owner", "reporter", "CC list", "commenter"};
- protected Control createEmail(Composite control) {
- GridLayout layout;
- GridData gd;
-
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout(3, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- Composite buttons = new Composite(group, SWT.NONE);
- layout = new GridLayout(4, false);
- buttons.setLayout(layout);
- buttons.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- gd = new GridData(GridData.BEGINNING);
- gd.horizontalSpan = 3;
- buttons.setLayoutData(gd);
-
- emailButton = new Button[emailText.length];
- for (int i = 0; i < emailButton.length; i++) {
- Button button = new Button(buttons, SWT.CHECK);
- button.setText(emailText[i]);
- emailButton[i] = button;
- }
-
- Label label = new Label(group, SWT.LEFT);
- label.setText("Email contains: ");
-
- // operation combo
- emailOperation = new Combo(group, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
- emailOperation.setItems(emailOperationText);
- emailOperation.setText(emailOperationText[0]);
- emailOperation.select(0);
-
- // pattern combo
- emailPattern = new Combo(group, SWT.SINGLE | SWT.BORDER);
- emailPattern.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- scontainer.setPerformActionEnabled(canQuery());
- }
- });
- emailPattern.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleWidgetSelected(emailPattern, emailOperation, previousEmailPatterns);
- }
- });
- gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- emailPattern.setLayoutData(gd);
-
- return group;
- }
-
- /**
- * Creates the buttons for remembering a query and accessing previously
- * saved queries.
- */
- protected Control createSaveQuery(Composite control) {
- GridLayout layout;
- GridData gd;
-
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout(3, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- loadButton = new Button(group, SWT.PUSH | SWT.LEFT);
- loadButton.setText("Saved Queries...");
- final BugzillaSearchPage bsp = this;
- loadButton.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent event) {
- GetQueryDialog qd = new GetQueryDialog(getShell(),
- "Saved Queries", input);
- if (qd.open() == InputDialog.OK) {
- selIndex = qd.getSelected();
- if (selIndex != -1) {
- rememberedQuery = true;
- performAction();
- bsp.getShell().close();
- }
- }
- }
- });
- loadButton.setEnabled(true);
- loadButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- saveButton = new Button(group, SWT.PUSH | SWT.LEFT);
- saveButton.setText("Remember...");
- saveButton.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent event) {
- SaveQueryDialog qd = new SaveQueryDialog(getShell(),
- "Remember Query");
- if (qd.open() == InputDialog.OK) {
- String qName = qd.getText();
- if (qName != null && qName.compareTo("") != 0) {
- try {
- input.add(getQueryParameters().toString(), qName, summaryPattern.getText());
- }
- catch (UnsupportedEncodingException e) {
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- }
- }
- }
- });
- saveButton.setEnabled(true);
- saveButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- return group;
- }
-
- public static SavedQueryFile getInput() {
- return input;
- }
-
- protected Control createUpdate(final Composite control) {
- GridData gd;
- Label label;
-
- Composite group = new Composite(control, SWT.NONE);
- GridLayout layout = new GridLayout(2, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- gd = new GridData(GridData.BEGINNING);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- // Info text
- label = new Label(group, SWT.LEFT);
- label.setText("Update search options from server (may take several seconds):");
- gd = new GridData(GridData.BEGINNING);
- label.setLayoutData(gd);
-
- updateButton = new Button(group, SWT.LEFT | SWT.PUSH);
- updateButton.setText("Update");
-
- updateButton.setLayoutData(new GridData());
-
- updateButton.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseUp(MouseEvent e) {
-
- monitorDialog.open();
- IProgressMonitor monitor = monitorDialog.getProgressMonitor();
- monitor.beginTask("Updating search options...", 55);
-
- try {
- BugzillaPreferences.updateQueryOptions(monitor);
-
- product.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRODUCT_VALUES)));
- monitor.worked(1);
- component.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.COMPONENT_VALUES)));
- monitor.worked(1);
- version.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.VERSION_VALUES)));
- monitor.worked(1);
- target.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.TARGET_VALUES)));
- monitor.worked(1);
- status.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.STATUS_VALUES)));
- monitor.worked(1);
- status.setSelection(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRESELECTED_STATUS_VALUES)));
- monitor.worked(1);
- resolution.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.RESOLUTION_VALUES)));
- monitor.worked(1);
- severity.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.SEVERITY_VALUES)));
- monitor.worked(1);
- priority.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRIORITY_VALUES)));
- monitor.worked(1);
- hardware.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.HARDWARE_VALUES)));
- monitor.worked(1);
- os.setItems(BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.OS_VALUES)));
- monitor.worked(1);
- }
- catch (LoginException exception) {
- // we had a problem that seems to have been caused from bad login info
- 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(exception);
- }
- finally {
- monitor.done();
- monitorDialog.close();
- }
- }
- });
-
- return group;
- }
-
- private void handleWidgetSelected(Combo widget, Combo operation, ArrayList<BugzillaSearchData> history) {
- if (widget.getSelectionIndex() < 0)
- return;
- int index = history.size() - 1 - widget.getSelectionIndex();
- BugzillaSearchData patternData= history.get(index);
- if (patternData == null || !widget.getText().equals(patternData.pattern))
- return;
- widget.setText(patternData.pattern);
- operation.setText(operation.getItem(patternData.operation));
- }
-
- /**
- * @see ISearchPage#performAction()
- */
- public boolean performAction() {
- getPatternData(summaryPattern, summaryOperation, previousSummaryPatterns);
- getPatternData(commentPattern, commentOperation, previousCommentPatterns);
- getPatternData(this.emailPattern, emailOperation, previousEmailPatterns);
-
- String summaryText;
- String url;
- if (rememberedQuery == true) {
- url = getQueryURL(new StringBuffer(input.getQueryParameters(selIndex)));
- summaryText = input.getSummaryText(selIndex);
- }
- else {
- try {
- StringBuffer params = getQueryParameters();
- url = getQueryURL(params);
- summaryText = summaryPattern.getText();
- }
- catch (UnsupportedEncodingException e) {
- /*
- * These statements should never be executed. Every implementation of
- * the Java platform is required to support the standard charset
- * "UTF-8"
- */
- url = "";
- summaryText = "";
- }
- }
-
- try {
- // if the summary contains a single bug id, open the bug directly
- int id = Integer.parseInt(summaryText);
- return BugzillaUITools.show(id);
- } catch (NumberFormatException ignored) {
- // ignore this since this means that the text is not a bug id
- }
-
- // Don't activate the search result view until it is known that the
- // user is not opening a bug directly -- there is no need to open
- // the view if no searching is going to take place.
- NewSearchUI.activateSearchResultView();
-
- BugzillaPlugin.getDefault().getPreferenceStore().setValue(IBugzillaConstants.MOST_RECENT_QUERY, summaryText);
-
- IBugzillaSearchResultCollector collector= new BugzillaSearchResultCollector();
-
- IBugzillaSearchOperation op= new BugzillaSearchOperation(
- url, collector, maxHits);
-
- BugzillaSearchQuery searchQuery = new BugzillaSearchQuery(op);
- NewSearchUI.runQueryInBackground(searchQuery);
-
- return true;
- }
-
- /**
- * @see ISearchPage#setContainer(ISearchPageContainer)
- */
- public void setContainer(ISearchPageContainer container) {
- scontainer = container;
- }
-
- @Override
- public void setVisible(boolean visible) {
- if (visible && summaryPattern != null) {
- if (firstTime) {
- firstTime = false;
- // Set item and text here to prevent page from resizing
- summaryPattern.setItems(getPreviousPatterns(previousSummaryPatterns));
- commentPattern.setItems(getPreviousPatterns(previousCommentPatterns));
- emailPattern.setItems(getPreviousPatterns(previousEmailPatterns));
-
- product.setItems(productValues);
- component.setItems(componentValues);
- version.setItems(versionValues);
- target.setItems(targetValues);
-
- status.setItems(statusValues);
- status.setSelection(preselectedStatusValues);
- resolution.setItems(resolutionValues);
- severity.setItems(severityValues);
- priority.setItems(priorityValues);
- hardware.setItems(hardwareValues);
- os.setItems(osValues);
- }
- summaryPattern.setFocus();
- scontainer.setPerformActionEnabled(canQuery());
- }
- super.setVisible(visible);
- }
-
- /**
- * Returns <code>true</code> if at least some parameter is given to query on.
- */
- private boolean canQuery() {
- return product.getSelectionCount() > 0 ||
- component.getSelectionCount() > 0 ||
- version.getSelectionCount() > 0 ||
- target.getSelectionCount() > 0 ||
- status.getSelectionCount() > 0 ||
- resolution.getSelectionCount() > 0 ||
- severity.getSelectionCount() > 0 ||
- priority.getSelectionCount() > 0 ||
- hardware.getSelectionCount() > 0 ||
- os.getSelectionCount() > 0 ||
- summaryPattern.getText().length() > 0 ||
- commentPattern.getText().length() > 0 ||
- emailPattern.getText().length() > 0;
- }
-
- /**
- * Return search pattern data and update search history list.
- * An existing entry will be updated or a new one created.
- */
- private BugzillaSearchData getPatternData(Combo widget, Combo operation, ArrayList<BugzillaSearchData> previousSearchQueryData) {
- String pattern = widget.getText();
- if (pattern == null || pattern.trim().equals("")) {
- return null;
- }
- BugzillaSearchData match = null;
- int i = previousSearchQueryData.size() - 1;
- while (i >= 0) {
- match = previousSearchQueryData.get(i);
- if (pattern.equals(match.pattern)) {
- break;
- }
- i--;
- }
- if (i >= 0) {
- match.operation = operation.getSelectionIndex();
- // remove - will be added last (see below)
- previousSearchQueryData.remove(match);
- } else {
- match= new BugzillaSearchData(widget.getText(), operation.getSelectionIndex());
- }
- previousSearchQueryData.add(match);
- return match;
- }
-
- /**
- * Returns an array of previous summary patterns
- */
- private String [] getPreviousPatterns(ArrayList<BugzillaSearchData> patternHistory) {
- int size = patternHistory.size();
- String [] patterns = new String[size];
- for (int i = 0; i < size; i++)
- patterns[i]= (patternHistory.get(size - 1 - i)).pattern;
- return patterns;
- }
-
-
- protected String getQueryURL(StringBuffer params) {
- StringBuffer url = new StringBuffer(getQueryURLStart().toString());
- url.append(params);
-
- // HACK make sure that the searches come back sorted by priority. This should be a search opetion though
- url.append("&order=Importance");
- return url.toString();
- }
-
- /**
- * Creates the bugzilla query URL start.
- *
- * Example: https://bugs.eclipse.org/bugs/buglist.cgi?
- */
- private StringBuffer getQueryURLStart() {
- StringBuffer sb = new StringBuffer(BugzillaPlugin.getDefault().getServerName());
-
- if (sb.charAt(sb.length()-1) != '/') {
- sb.append('/');
- }
- sb.append("buglist.cgi?");
-
- // use the username and password if we have it
- if(BugzillaPreferences.getUserName() != null && !BugzillaPreferences.getUserName().equals("") && BugzillaPreferences.getPassword() != null && !BugzillaPreferences.getPassword().equals(""))
- {
- try {
- sb.append("GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8") + "&");
- } catch (UnsupportedEncodingException e) {
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- }
-
- return sb;
- }
-
- /**
- * Goes through the query form and builds up the query parameters.
- *
- * Example: short_desc_type=substring&amp;short_desc=bla&amp; ...
- * @throws UnsupportedEncodingException
- */
- protected StringBuffer getQueryParameters() throws UnsupportedEncodingException {
- StringBuffer sb = new StringBuffer();
-
- sb.append("short_desc_type=");
- sb.append(patternOperationValues[summaryOperation.getSelectionIndex()]);
-
- sb.append("&short_desc=");
- sb.append(URLEncoder.encode(summaryPattern.getText(), "UTF-8"));
-
- int [] selected = product.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&product=");
- sb.append(URLEncoder.encode(product.getItem(selected[i]), "UTF-8"));
- }
-
- selected = component.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&component=");
- sb.append(URLEncoder.encode(component.getItem(selected[i]), "UTF-8"));
- }
-
- selected = version.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&version=");
- sb.append(URLEncoder.encode(version.getItem(selected[i]), "UTF-8"));
- }
-
- selected = target.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&target_milestone=");
- sb.append(URLEncoder.encode(target.getItem(selected[i]), "UTF-8"));
- }
-
- sb.append("&long_desc_type=");
- sb.append(patternOperationValues[commentOperation.getSelectionIndex()]);
- sb.append("&long_desc=");
- sb.append(URLEncoder.encode(commentPattern.getText(), "UTF-8"));
-
- selected = status.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&bug_status=");
- sb.append(status.getItem(selected[i]));
- }
-
- selected = resolution.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&resolution=");
- sb.append(resolution.getItem(selected[i]));
- }
-
- selected = severity.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&bug_severity=");
- sb.append(severity.getItem(selected[i]));
- }
-
- selected = priority.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&priority=");
- sb.append(priority.getItem(selected[i]));
- }
-
- selected = hardware.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&ref_platform=");
- sb.append(URLEncoder.encode(hardware.getItem(selected[i]), "UTF-8"));
- }
-
- selected = os.getSelectionIndices();
- for (int i = 0; i < selected.length; i++) {
- sb.append("&op_sys=");
- sb.append(URLEncoder.encode(os.getItem(selected[i]), "UTF-8"));
- }
-
- if (emailPattern.getText() != null) {
- for (int i = 0; i < emailButton.length; i++) {
- if (emailButton[i].getSelection()) {
- sb.append("&");
- sb.append(emailRoleValues[i]);
- sb.append("=1");
- }
- }
- sb.append("&emailtype1=");
- sb.append(emailOperationValues[emailOperation.getSelectionIndex()]);
- sb.append("&email1=");
- sb.append(URLEncoder.encode(emailPattern.getText(), "UTF-8"));
- }
-
- if (daysText.getText() != null && !daysText.getText().equals("")) {
- try
- {
- Integer.parseInt(daysText.getText());
- sb.append("&changedin=");
- sb.append(URLEncoder.encode(daysText.getText(), "UTF-8"));
- }
- catch(NumberFormatException ignored) {
- // this means that the days is not a number, so don't worry
- }
- }
-
- return sb;
- }
-
- //--------------- Configuration handling --------------
-
- // Dialog store id constants
- protected final static String PAGE_NAME = "BugzillaSearchPage"; //$NON-NLS-1$
-
- protected Combo summaryOperation;
-
- protected List product;
-
- protected List os;
-
- protected List hardware;
-
- protected List priority;
-
- protected List severity;
-
- protected List resolution;
-
- protected List status;
-
- protected Combo commentOperation;
-
- protected Combo commentPattern;
-
- protected List component;
-
- protected List version;
-
- protected List target;
-
- protected Combo emailOperation;
-
- protected Combo emailPattern;
-
- protected Button [] emailButton;
-
- /** File containing saved queries */
- protected static SavedQueryFile input;
-
- /** "Remember query" button */
- protected Button saveButton;
- /** "Saved queries..." button */
- protected Button loadButton;
- /** Run a remembered query */
- protected boolean rememberedQuery = false;
- /** Index of the saved query to run */
- protected int selIndex;
-
- protected Button updateButton;
-
- protected ProgressMonitorDialog monitorDialog = new ProgressMonitorDialog(BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell());
-
- /**
- * Returns the page settings for this Java search page.
- *
- * @return the page settings to be used
- */
- private IDialogSettings getDialogSettings() {
- IDialogSettings settings = BugzillaPlugin.getDefault().getDialogSettings();
- fDialogSettings = settings.getSection(PAGE_NAME);
- if (fDialogSettings == null)
- fDialogSettings = settings.addNewSection(PAGE_NAME);
- return fDialogSettings;
- }
-
- /**
- * Initializes itself from the stored page settings.
- */
- private void readConfiguration() {
- getDialogSettings();
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchResultView.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchResultView.java
deleted file mode 100644
index 08429d5ca..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/search/BugzillaSearchResultView.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaContentProvider;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaIdSearchSorter;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaLabelProvider;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaPrioritySearchSorter;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSeveritySearchSorter;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaStateSearchSorter;
-import org.eclipse.mylar.bugzilla.ui.BugzillaTableContentProvider;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUITools;
-import org.eclipse.mylar.bugzilla.ui.actions.BugzillaSortAction;
-import org.eclipse.mylar.bugzilla.ui.actions.OpenBugsAction;
-import org.eclipse.mylar.bugzilla.ui.favorites.actions.AddFavoriteAction;
-import org.eclipse.search.internal.ui.SearchMessages;
-import org.eclipse.search.internal.ui.SearchPlugin;
-import org.eclipse.search.internal.ui.SearchPreferencePage;
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.IContextMenuConstants;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.IShowInTargetList;
-
-
-/**
- * Displays the results of a Bugzilla search.
- * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage
- */
-public class BugzillaSearchResultView extends AbstractTextSearchViewPage implements IAdaptable {
-
- // The categories to sort bug results by
- public static final int ORDER_ID = 1;
- public static final int ORDER_SEVERITY = 2;
- public static final int ORDER_PRIORITY = 3;
- public static final int ORDER_STATUS = 4;
- public static final int ORDER_DEFAULT = ORDER_ID;
-
- private static final String KEY_SORTING= IBugzillaConstants.PLUGIN_ID + ".search.resultpage.sorting"; //$NON-NLS-1$
-
- private BugzillaContentProvider bugContentProvider;
- private int bugCurrentSortOrder;
- private BugzillaSortAction bugSortByIDAction;
- private BugzillaSortAction bugSortBySeverityAction;
- private BugzillaSortAction bugSortByPriorityAction;
- private BugzillaSortAction bugSortByStatusAction;
- private AddFavoriteAction addToFavoritesAction;
- private OpenBugsAction openInEditorAction;
-
- private static final String[] SHOW_IN_TARGETS= new String[] { IPageLayout.ID_RES_NAV };
- private static final IShowInTargetList SHOW_IN_TARGET_LIST= new IShowInTargetList() {
- public String[] getShowInTargetIds() {
- return SHOW_IN_TARGETS;
- }
- };
-
- private IPropertyChangeListener bugPropertyChangeListener;
-
- /**
- * Constructor
- */
- public BugzillaSearchResultView() {
- // Only use the table layout.
- super(FLAG_LAYOUT_FLAT);
-
- bugSortByIDAction = new BugzillaSortAction("Bug ID", this, ORDER_ID);
- bugSortBySeverityAction = new BugzillaSortAction("Bug severity", this, ORDER_SEVERITY);
- bugSortByPriorityAction = new BugzillaSortAction("Bug priority", this, ORDER_PRIORITY);
- bugSortByStatusAction = new BugzillaSortAction("Bug status", this, ORDER_STATUS);
- bugCurrentSortOrder = ORDER_DEFAULT;
-
- addToFavoritesAction = new AddFavoriteAction("Mark Result as Favorite", this);
- openInEditorAction = new OpenBugsAction("Open Bug in Editor", this);
-
- bugPropertyChangeListener= new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- if (SearchPreferencePage.LIMIT_TABLE.equals(event.getProperty()) || SearchPreferencePage.LIMIT_TABLE_TO.equals(event.getProperty()))
- if (getViewer() instanceof TableViewer) {
- getViewPart().updateLabel();
- getViewer().refresh();
- }
- }
- };
- SearchPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(bugPropertyChangeListener);
- }
-
- @Override
- protected void elementsChanged(Object[] objects) {
- if (bugContentProvider != null) {
- bugContentProvider.elementsChanged(objects);
- }
- }
-
- @Override
- protected void clear() {
- if (bugContentProvider != null) {
- bugContentProvider.clear();
- }
- }
-
- // Allows the inherited method "getViewer" to be accessed publicly.
- @Override
- public StructuredViewer getViewer() {
- return super.getViewer();
- }
-
- @Override
- protected void configureTreeViewer(TreeViewer viewer) {
- // The tree layout is not used, so this function does not need to do anything.
- }
-
- @Override
- protected void configureTableViewer(TableViewer viewer) {
- viewer.setUseHashlookup(true);
- viewer.setLabelProvider(new DecoratingLabelProvider(new BugzillaLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
- viewer.setContentProvider(new BugzillaTableContentProvider(this));
-
- // Set the order when the search view is loading so that the items are
- // sorted right away
- setSortOrder(bugCurrentSortOrder);
-
- bugContentProvider= (BugzillaContentProvider) viewer.getContentProvider();
- }
-
- /**
- * Sets the new sorting category, and reorders all of the bug reports.
- * @param sortOrder The new category to sort bug reports by
- */
- public void setSortOrder(int sortOrder) {
- bugCurrentSortOrder= sortOrder;
- StructuredViewer viewer= getViewer();
-
- switch (sortOrder) {
- case ORDER_ID:
- viewer.setSorter(new BugzillaIdSearchSorter());
- break;
- case ORDER_PRIORITY:
- viewer.setSorter(new BugzillaPrioritySearchSorter());
- break;
- case ORDER_SEVERITY:
- viewer.setSorter(new BugzillaSeveritySearchSorter());
- break;
- case ORDER_STATUS:
- viewer.setSorter(new BugzillaStateSearchSorter());
- break;
- default:
- // If the setting is not one of the four valid ones,
- // use the default order setting.
- sortOrder = ORDER_DEFAULT;
- viewer.setSorter(new BugzillaIdSearchSorter());
- break;
- }
-
- getSettings().put(KEY_SORTING, bugCurrentSortOrder);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- if (IShowInTargetList.class.equals(adapter)) {
- return SHOW_IN_TARGET_LIST;
- }
- return null;
- }
-
- @Override
- protected void showMatch(Match match, int currentOffset, int currentLength, boolean activate) throws PartInitException {
- try {
- Object element = getCurrentMatch().getElement();
- if (element instanceof IMarker) {
- Integer id = (Integer) ((IMarker)element).getAttribute(IBugzillaConstants.HIT_MARKER_ATTR_ID);
- BugzillaUITools.show(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());
- }
- }
-
- @Override
- protected void fillContextMenu(IMenuManager mgr) {
- super.fillContextMenu(mgr);
-
- // Create the submenu for sorting
- MenuManager sortMenu= new MenuManager(SearchMessages.SortDropDownAction_label); //$NON-NLS-1$
- sortMenu.add(bugSortByIDAction);
- sortMenu.add(bugSortByPriorityAction);
- sortMenu.add(bugSortBySeverityAction);
- sortMenu.add(bugSortByStatusAction);
-
- // Check the right sort option
- bugSortByIDAction.setChecked(bugCurrentSortOrder == bugSortByIDAction.getSortOrder());
- bugSortByPriorityAction.setChecked(bugCurrentSortOrder == bugSortByPriorityAction.getSortOrder());
- bugSortBySeverityAction.setChecked(bugCurrentSortOrder == bugSortBySeverityAction.getSortOrder());
- bugSortByStatusAction.setChecked(bugCurrentSortOrder == bugSortByStatusAction.getSortOrder());
-
- // Add the new context menu items
- mgr.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, sortMenu);
- mgr.appendToGroup(IContextMenuConstants.GROUP_ADDITIONS, addToFavoritesAction);
- mgr.appendToGroup(IContextMenuConstants.GROUP_OPEN, openInEditorAction);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCacheFile.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCacheFile.java
deleted file mode 100644
index ae2811415..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCacheFile.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-
-/**
- * COPIED FROM @see org.eclipse.mylar.bugzilla.offlineReports.OfflineReportsFile
- *
- * @author Shawn Minto
- */
-public class BugzillaCacheFile {
-
- private File file;
-
- private ArrayList<IBugzillaBug> list = new ArrayList<IBugzillaBug>();
-
- protected int latestNewBugId = 0;
-
- public BugzillaCacheFile(File file) throws ClassNotFoundException, IOException {
- this.file = file;
- if (file.exists()) {
- readFile();
- }
- }
-
- public void add(IBugzillaBug entry) {
- // add the entry to the list and write the file to disk
- list.add(entry);
- writeFile();
- }
-
- public void update() {
- writeFile();
- }
-
- public int getNextOfflineBugId() {
- latestNewBugId++;
- return latestNewBugId;
- }
-
- public int find(int id) {
- for (int i = 0; i < list.size(); i++) {
- IBugzillaBug currBug = list.get(i);
- if (currBug != null && (currBug.getId() == id) && !currBug.isLocallyCreated())
- return i;
- }
- return -1;
- }
-
- public ArrayList<IBugzillaBug> elements() {
- return list;
- }
-
- private void writeFile() {
- try {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
-
- // Write the size of the list so that we can read it back in easier
- out.writeInt(list.size());
-
- out.writeInt(latestNewBugId);
-
- // write each element in the array list
- for (int i = 0; i < list.size(); i++) {
- Object item = list.get(i);
- out.writeObject(item);
- }
- out.close();
- }
- catch (IOException e) {
- // put up a message and log the error if there is a problem writing to the file
- MessageDialog.openError(null,
- "I/O Error",
- "Bugzilla could not write to offline reports file.");
- BugzillaPlugin.log(e);
- }
- }
-
- private void readFile() throws ClassNotFoundException, IOException {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
-
- // get the number of offline reports in the file
- int size = in.readInt();
-
- // get the bug id of the most recently created offline report
- latestNewBugId = in.readInt();
-
- // read in each of the offline reports in the file
- for (int nX = 0; nX < size; nX++) {
- IBugzillaBug item = (IBugzillaBug) in.readObject();
- // add the offline report to the offlineReports list
- list.add(item);
- }
- in.close();
- }
-
- public void remove(List<IBugzillaBug> sel) {
- list.removeAll(sel);
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-
- public void removeAll() {
- list.clear();
-
- // rewrite the file so that the data is persistant
- writeFile();
- }
-}
-
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCategorySearchOperation.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCategorySearchOperation.java
deleted file mode 100644
index 8177cf91b..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCategorySearchOperation.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Oct 14, 2004
- */
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-import java.util.ArrayList;
-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.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchEngine;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchQuery;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation;
-import org.eclipse.mylar.bugzilla.ui.search.BugzillaResultCollector;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-
-/**
- * Bugzilla search operation for Mylar
- *
- * @author Shawn Minto
- */
-public class BugzillaCategorySearchOperation extends WorkspaceModifyOperation
- implements IBugzillaSearchOperation {
- /** The IMember we are doing the search for */
-
- public interface ICategorySearchListener {
- public void searchCompleted(BugzillaResultCollector collector);
- }
-
- /** The bugzilla collector for the search */
- private BugzillaResultCollector collector = null;
-
- /** The status of the search operation */
- private IStatus status;
-
- /** The LoginException that was thrown when trying to do the search */
- private LoginException loginException = null;
-
- private String url;
- private int maxHits;
- private boolean isMaxReached;
-
- /**
- * Constructor
- *
- * @param m
- * The member that we are doing the search for
- */
- public BugzillaCategorySearchOperation(String url, int maxHits) {
- this.url = url;
- this.maxHits = maxHits;
- }
-
- @Override
- public void execute(IProgressMonitor monitor) {
- collector = new BugzillaResultCollector();
- collector.setOperation(this);
- collector.setProgressMonitor(monitor);
- search(url, monitor);
- for(ICategorySearchListener listener: listeners)
- listener.searchCompleted(collector);
- }
-
- /**
- * Perform the actual search on the Bugzilla server
- * @param url The url to use for the search
- * @param searchCollector The collector to put the search results into
- * @param monitor The progress monitor to use for the search
- * @return The BugzillaResultCollector with the search results
- */
- private BugzillaResultCollector search(String url, IProgressMonitor monitor){
-
- // set the initial number of matches to 0
- int matches = 0;
- // setup the progress monitor and start the search
- collector.setProgressMonitor(monitor);
- BugzillaSearchEngine engine = new BugzillaSearchEngine(url);
- try {
-
- // perform the search
- status = engine.search(collector, matches, maxHits);
-
- // check the status so that we don't keep searching if there
- // is a problem
- if (status.getCode() == IStatus.CANCEL) {
- MylarPlugin.log("search cancelled", this);
- return null;
- } else if (!status.isOK()) {
- MylarPlugin.log("search error", this);
- MylarPlugin.log(status);
- return null;
- }
- isMaxReached = engine.isMaxReached();
- return collector;
- } catch (LoginException e) {
- //save this exception to throw later
- this.loginException = e;
- }
- return null;
- }
-
- /**
- * @see org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation#getStatus()
- */
- public IStatus getStatus() throws LoginException {
- // if a LoginException was thrown while trying to search, throw this
- if (loginException == null)
- return status;
- else
- throw loginException;
- }
-
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- public BugzillaSearchQuery getQuery() {
- return null;
- }
-
- public void setQuery(BugzillaSearchQuery newQuery) {}
-
- private List<ICategorySearchListener> listeners = new ArrayList<ICategorySearchListener>();
-
- public void addResultsListener(ICategorySearchListener listener){
- listeners.add(listener);
- }
-
- public String getName() {
- return null;
- }
-
- public boolean isMaxReached() {
- return isMaxReached;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQuery.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQuery.java
deleted file mode 100644
index d9dbf9f7c..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQuery.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-
-public class BugzillaCustomQuery extends BugzillaQueryCategory{
-
- public BugzillaCustomQuery(String description, String maxHits, String queryString) {
- super(description, maxHits, queryString);
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java
deleted file mode 100644
index 0999d3314..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaCustomQueryDialog.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-import org.eclipse.jface.dialogs.Dialog;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class BugzillaCustomQueryDialog extends Dialog {
- private String url;
- private String name = "";
- private String startingUrl = null;
- private String maxHits;
- private Text maxHitsText;
- private Text nameText;
- private Text queryText;
-
- public BugzillaCustomQueryDialog(Shell parentShell, String queryString, String description, String maxHits) {
- super(parentShell);
- this.startingUrl = queryString;
- this.maxHits = maxHits;
- this.name = description;
- }
-
- public String getName() {
- return name;
- }
-
- public String getUrl() {
- return url;
- }
-
- public String getMaxHits() {
- return maxHits;
- }
-
- @Override
- protected Control createContents(Composite parent) {
- Composite custom = new Composite(parent, SWT.NONE);
- GridLayout gl = new GridLayout(2, false);
- custom.setLayout(gl);
-
- Label l = new Label(custom, SWT.NONE);
- l.setText("Bugzilla Query Category Name");
-
- nameText = new Text(custom, SWT.BORDER | SWT.SINGLE);
- if(name != null)
- nameText.setText(name);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.widthHint = 300;
- nameText.setLayoutData(gd);
-
- l = new Label(custom, SWT.NONE);
- l.setText("Max Hits Returned (-1 means all)");
-
- maxHitsText = new Text(custom, SWT.BORDER | SWT.SINGLE);
- if(maxHits != null)
- maxHitsText.setText(maxHits);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.widthHint = 300;
- maxHitsText.setLayoutData(gd);
-
- l = new Label(custom, SWT.NONE);
- l.setText("Query URL");
-
- queryText = new Text(custom, SWT.BORDER | SWT.SINGLE);
- if(startingUrl != null)
- queryText.setText(startingUrl);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.widthHint = 300;
- queryText.setLayoutData(gd);
-
-
- Control c = super.createContents(parent);
-
- return c;
- }
-
- @Override
- protected void okPressed(){
- // TODO validate the values
- url = queryText.getText();
- name = nameText.getText();
- maxHits = maxHitsText.getText();
- super.okPressed();
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaHit.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaHit.java
deleted file mode 100644
index 2a0f008c1..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaHit.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author Ken Sueda
- */
-public class BugzillaHit implements IQueryHit {
-
- private String description;
- private String priority;
- private int id;
- private BugzillaTask task;
- private String status;
-
- public BugzillaHit(String description, String priority, int id, BugzillaTask task, String status) {
- this.description = description;
- this.priority = priority;
- this.id = id;
- this.task = task;
- this.status = status;
- }
-
- public BugzillaTask getAssociatedTask(){
- return task;
- }
-
- public void setAssociatedTask(ITask task){
- if(task instanceof BugzillaTask)
- setAssociatedTask((BugzillaTask)task);
- }
-
- private void setAssociatedTask(BugzillaTask task){
- this.task = task;
- }
-
- public Image getIcon() {
- if(hasCorrespondingActivatableTask()){
- return task.getIcon();
- } else {
- return BugzillaImages.getImage(BugzillaImages.BUGZILLA_HIT_INCOMMING);
- }
- }
-
- public Image getStatusIcon() {
- if (hasCorrespondingActivatableTask()) {
- return task.getStatusIcon();
- } else {
- return TaskListImages.getImage(TaskListImages.TASK_INACTIVE);
- }
- }
-
- public String getPriority() {
- if(hasCorrespondingActivatableTask()){
- return task.getPriority();
- } else {
- return priority;
- }
- }
-
- public String getDescription(boolean label) {
- if(label){
- if(hasCorrespondingActivatableTask()){
- return task.getDescription(label);
- } else {
- return HtmlStreamTokenizer.unescape(description);
- }
- } else {
- if(hasCorrespondingActivatableTask()){
- return task.getDescription(label);
- } else {
- return description;
- }
- }
- }
-
- public String getHandle() {
- return getServerName()+"-"+getID();
- }
-
- public String getServerName() {
- // TODO need the right server name - get from the handle
- return "Bugzilla";
- }
-
- public int getID() {
-
- return id;
- }
-
- public String getIDString() {
- Integer bugId = new Integer(this.id);
- return bugId.toString();
- }
-
- public String getBugUrl() {
- return BugzillaRepository.getBugUrlWithoutLogin(id);
- }
-
- public boolean isDirectlyModifiable() {
- return false;
- }
-
- public ITask getOrCreateCorrespondingTask() {
- if(task == null){
- task = new BugzillaTask(this, true);
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry(task);
- }
- return task;
- }
-
- public boolean hasCorrespondingActivatableTask() {
- return task != null;
- }
-
- public boolean isActivatable() {
- return true;
- }
-
- public boolean isDragAndDropEnabled() {
- return true;
- }
-
- public Color getForeground() {
- if ((task != null && task.isCompleted()) || isCompleted()){
- return GRAY_VERY_LIGHT;
- } else {
- return null;
- }
- }
-
- public Font getFont(){
- if(hasCorrespondingActivatableTask()){
- return task.getFont();
- }
- return null;
- }
-
- public boolean isCompleted() {
- if (status.startsWith("RESO") || status.startsWith("CLO") || status.startsWith("VERI")) {
- return true;
- }
- return false;
- }
-
- public String getToolTipText() {
- if(hasCorrespondingActivatableTask()) {
- return task.getToolTipText();
- } else {
- return getDescription(true);
- }
- }
-
- public void setDescription(String description) {
- // can't set the description to anything
- }
-
- public String getStringForSortingDescription() {
- return getID()+"";
- }
-
- public void setHandle(String id) {
- // can't change the handle
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryCategory.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryCategory.java
deleted file mode 100644
index fde4c07be..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryCategory.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.search.BugzillaResultCollector;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaCategorySearchOperation.ICategorySearchListener;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Shawn Minto
- */
-public class BugzillaQueryCategory implements IQuery {
-
- private static final long serialVersionUID = 5517146402031743253L;
- private String queryString;
- private int maxHits;
- private List<IQueryHit> hits = new ArrayList<IQueryHit>();
- private boolean hasBeenRefreshed = false;
-
- protected Date lastRefresh;
-
- protected String description = "";
- private String handle = "";
-
- private ICategorySearchListener listener = new BugzillaQueryCategorySearchListener();
- private boolean isMaxReached = false;
-
- public class BugzillaQueryCategorySearchListener implements ICategorySearchListener {
-
- Map<Integer, BugzillaSearchHit> hits = new HashMap<Integer, BugzillaSearchHit>();
-
- public void searchCompleted(BugzillaResultCollector collector) {
- for(BugzillaSearchHit hit: collector.getResults()){
-
- // HACK need the server name and handle properly
- addHit(new BugzillaHit(hit.getId() + ": " + hit.getDescription(), hit.getPriority(), hit.getId(), null, hit.getState()));
- }
- }
-
- }
-
- public BugzillaQueryCategory(String label, String url, String maxHits) {
- this.description = label;
- this.queryString = url;
- try{
- this.maxHits = Integer.parseInt(maxHits);
- } catch (Exception e){
- this.maxHits = -1;
- }
- }
-
- public String getDescription(boolean label) {
- if (hits.size() > 0 || !label) {
- if(!hasBeenRefreshed && label){
- return description + " <needs refresh>";
- }else if(isMaxReached && label){
- return description + " <first "+ maxHits +" hits>";
- } else {
- return description;
- }
- } else if (!hasBeenRefreshed) {
- return description + " <needs refresh>";
- } else {
- return description + " <no hits>";
- }
- }
-
-
- public Image getIcon() {
- return TaskListImages.getImage(BugzillaImages.CATEGORY_QUERY);
- }
-
- public String getQueryString() {
- return queryString;
- }
-
-
-
- public List<IQueryHit> getChildren() {
- return hits;
- }
-
- public void addHit(IQueryHit hit) {
- BugzillaTask task = BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().getFromBugzillaTaskRegistry(hit.getHandle());
- hit.setAssociatedTask(task);
- hits.add(hit);
- }
-
- public void removeHit(BugzillaHit hit) {
- hits.remove(hit);
- }
-
- public void refreshBugs() {
- hits.clear();
- // refresh the view to show that the results are gone
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null)
- TaskListView.getDefault().getViewer().refresh();
- }
- });
- final BugzillaCategorySearchOperation catSearch = new BugzillaCategorySearchOperation(
- getQueryString(), maxHits);
- catSearch.addResultsListener(listener);
- final IStatus[] status = new IStatus[1];
-
- try {
- // execute the search operation
- catSearch.execute(new NullProgressMonitor());
- isMaxReached = catSearch.isMaxReached();
- hasBeenRefreshed = true;
- lastRefresh = new Date();
-
- // get the status of the search operation
- status[0] = catSearch.getStatus();
-
- // determine if there was an error, if it was cancelled, or if it is
- // ok
- if (status[0].getCode() == IStatus.CANCEL) {
- // it was cancelled, so just return
- status[0] = Status.OK_STATUS;
- // return status[0];
- return;
- } else if (!status[0].isOK()) {
- // there was an error, so display an error message
- PlatformUI.getWorkbench().getDisplay().asyncExec(
- new Runnable() {
- public void run() {
- ErrorDialog.openError(null,
- "Bugzilla Search Error", null,
- status[0]);
- }
- });
- status[0] = Status.OK_STATUS;
- return;
- // return status[0];
- }
- } catch (LoginException e) {
- // we had a problem while searching that seems like a login info
- // problem
- // thrown in BugzillaSearchOperation
- 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(new Status(IStatus.ERROR,
- IBugzillaConstants.PLUGIN_ID, IStatus.OK, "", e));
- }
- return;
- }
-
- public void setQueryString(String url) {
- this.queryString = url;
- }
-
- public String getPriority() {
- String highestPriority = "P5";
- if (hits.isEmpty()) {
- return "P1";
- }
- for (IQueryHit hit : hits) {
- if (highestPriority.compareTo(hit.getPriority()) > 0) {
- highestPriority = hit.getPriority();
- }
- }
- return highestPriority;
- }
-
- public boolean isDirectlyModifiable() {
- return true;
- }
-
- public boolean isActivatable() {
- return false;
- }
-
- public boolean isDragAndDropEnabled() {
- return false;
- }
-
- public Color getForeground() {
- return null;
- }
-
- public Font getFont() {
- for (ITaskListElement child : getChildren()) {
- if (child instanceof BugzillaHit){
- BugzillaHit hit = (BugzillaHit) child;
- BugzillaTask task = hit.getAssociatedTask();
- if(task != null && task.isActive()){
- return BOLD;
- }
- }
- }
- return null;
- }
-
- public boolean isCompleted() {
- return false;
- }
-
- public String getToolTipText() {
- String tooltip = "";
- if (hits.size() == 1) {
- tooltip += "1 hit";
- } else {
- tooltip += hits.size() + " hits";
- }
- tooltip += BugzillaTask.getLastRefreshTime(lastRefresh);
- return tooltip;
- }
-
- public int getMaxHits() {
- return maxHits;
- }
-
- public void setMaxHits(int maxHits) {
- this.maxHits = maxHits;
- }
-
- public Image getStatusIcon() {
- return null;
- }
-
- public String getHandle() {
- return handle;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getStringForSortingDescription() {
- return getDescription(true);
- }
-
- public void setHandle(String id) {
- this.handle = id;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryDialog.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryDialog.java
deleted file mode 100644
index 0a11d0364..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaQueryDialog.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.mylar.bugzilla.ui.query.GetQueryDialog;
-import org.eclipse.mylar.bugzilla.ui.query.SaveQueryDialog;
-import org.eclipse.mylar.bugzilla.ui.search.BugzillaSearchPage;
-import org.eclipse.search.ui.ISearchPageContainer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * @author Shawn Minto
- */
-public class BugzillaQueryDialog extends Dialog {
-
- private String url;
- private String name = "";
- private BugzillaSearchOptionPage searchOptionPage;
- private String startingUrl = null;
- private String maxHits;
-
- private Text queryText;
- private Button customButton;
- private boolean isCustom = false;
-
- private boolean isNew = false;
-
- private boolean enabled = true;
-
- private String title;
-
- public BugzillaQueryDialog(Shell parentShell) {
- super(parentShell);
- isNew = true;
- isCustom = false;
- searchOptionPage = new BugzillaSearchOptionPage();
- title = "New Bugzilla Query";
- }
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(title);
- }
-
- public BugzillaQueryDialog(Shell parentShell, String startingUrl, String name, String maxHits) {
- super(parentShell);
- searchOptionPage = new BugzillaSearchOptionPage();
- this.startingUrl = startingUrl;
- this.maxHits = maxHits;
- this.name = name;
- isNew = false;
- title = "Edit Bugzilla Query";
- }
-
- public String getName() {
- return name;
- }
-
- public String getUrl() {
- return url;
- }
-
- public String getMaxHits(){
- return maxHits;
- }
-
- public boolean isCustom(){
- return isCustom;
- }
-
- @Override
- protected Control createContents(Composite parent) {
- if(isNew){
- Group custom = new Group(parent, SWT.NONE);
- GridLayout gl = new GridLayout(2, false);
- custom.setLayout(gl);
-
- customButton = new Button(custom, SWT.CHECK);
- customButton.setText("Custom Query");
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- customButton.setLayoutData(gd);
-
- Label l = new Label(custom, SWT.NONE);
-
- l = new Label(custom, SWT.NONE);
- l.setText("Query URL");
-
- queryText = new Text(custom, SWT.BORDER | SWT.SINGLE);
- if(startingUrl != null)
- queryText.setText(startingUrl);
- }
- searchOptionPage.createControl(parent);
-
- if(isNew){
- customButton.addSelectionListener(new SelectionListener(){
-
- public void widgetSelected(SelectionEvent e) {
- enabled = !enabled;
- searchOptionPage.setControlsEnabled(enabled);
- queryText.setEnabled(!enabled);
- isCustom = customButton.getSelection();
- }
-
-
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- searchOptionPage.setVisible(true);
-
- Control c = super.createContents(parent);
- if(startingUrl != null){
- try{
- searchOptionPage.updateDefaults(startingUrl, maxHits);
- } catch (UnsupportedEncodingException e){
- // ignore, should never get this
- }
- }
-
- if(isNew){
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.widthHint = 450;
- queryText.setLayoutData(gd);
-
- customButton.setSelection(!enabled);
- queryText.setEnabled(!enabled);
- searchOptionPage.setControlsEnabled(enabled);
- }
-
- return c;
- }
-
- @Override
- protected void okPressed(){
- if(customButton != null && customButton.getSelection()){
- url = queryText.getText();
- } else {
- url = searchOptionPage.getSearchURL();
- }
- if(url == null || url.equals("")){
- /*
- * Should never get here. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- return;
- }
- maxHits = searchOptionPage.getMaxHits();
- InputDialog getNameDialog = new InputDialog(Display.getCurrent().getActiveShell(), "Bugzilla Query Category Name", "Please enter a name for the bugzilla query category",name, new IInputValidator(){
-
- public String isValid(String newText) {
- if(newText != null && !newText.equals("")){
- return null;
- } else {
- return "You must enter a name for the category";
- }
- }
-
- });
- getNameDialog.setBlockOnOpen(true);
- if(getNameDialog.open() == InputDialog.OK){
- name = getNameDialog.getValue();
-
- super.okPressed();
- } else {
- super.cancelPressed();
- }
- }
-
- private class BugzillaSearchOptionPage extends BugzillaSearchPage{
-
- public BugzillaSearchOptionPage() {
-
- preselectedStatusValues = new String[0];
-
- scontainer = new ISearchPageContainer() {
- public ISelection getSelection() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public IRunnableContext getRunnableContext() {
- return null;
- }
-
- public void setPerformActionEnabled(boolean state) {
- Button ok = BugzillaQueryDialog.this.getButton(Dialog.OK);
- if (ok != null)
- ok.setEnabled(state);
- }
-
- public int getSelectedScope() {
- return 0;
- }
-
- public void setSelectedScope(int scope) {
- }
-
- public boolean hasValidScope() {
- return true;
- }
-
- public IWorkingSet[] getSelectedWorkingSets() {
- return null;
- }
-
- public void setSelectedWorkingSets(IWorkingSet[] workingSets) {
- }
- };
- }
-
- public void updateDefaults(String startingUrl, String maxHits) throws UnsupportedEncodingException{
-// String serverName = startingUrl.substring(0, startingUrl.indexOf("?"));
- startingUrl = startingUrl.substring(startingUrl.indexOf("?") + 1);
- String[] options = startingUrl.split("&");
- for(String option: options){
- String key = option.substring(0, option.indexOf("="));
- String value = URLDecoder.decode(option.substring(option.indexOf("=") + 1), "UTF-8");
- if (key == null)
- continue;
-
- if (key.equals("short_desc")) {
- summaryPattern.setText(value);
- } else if(key.equals("short_desc_type")){
- if(value.equals("allwordssubstr"))
- value = "all words";
- else if(value.equals("anywordssubstr"))
- value = "any word";
- int index = 0;
- for(String item: summaryOperation.getItems()){
- if(item.compareTo(value) == 0)
- break;
- index++;
- }
- if(index < summaryOperation.getItemCount()){
- summaryOperation.select(index);
- }
- } else if(key.equals("product")){
- String [] sel = product.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- product.setSelection(selList.toArray(sel));
- } else if(key.equals("component")){
- String [] sel = component.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- component.setSelection(selList.toArray(sel));
- } else if(key.equals("version")){
- String [] sel = version.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- version.setSelection(selList.toArray(sel));
- } else if(key.equals("target_milestone")){ //XXX
- String [] sel = target.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- target.setSelection(selList.toArray(sel));
- } else if(key.equals("version")){
- String [] sel = version.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- version.setSelection(selList.toArray(sel));
- } else if(key.equals("long_desc_type")){
- if(value.equals("allwordssubstr"))
- value = "all words";
- else if(value.equals("anywordssubstr"))
- value = "any word";
- int index = 0;
- for(String item: commentOperation.getItems()){
- if(item.compareTo(value) == 0)
- break;
- index++;
- }
- if(index < commentOperation.getItemCount()){
- commentOperation.select(index);
- }
- } else if(key.equals("long_desc")){
- commentPattern.setText(value);
- } else if(key.equals("bug_status")){
- String [] sel = status.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- status.setSelection(selList.toArray(sel));
- } else if(key.equals("resolution")){
- String [] sel = resolution.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- resolution.setSelection(selList.toArray(sel));
- } else if(key.equals("bug_severity")){
- String [] sel = severity.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- severity.setSelection(selList.toArray(sel));
- } else if(key.equals("priority")){
- String [] sel = priority.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- priority.setSelection(selList.toArray(sel));
- } else if(key.equals("ref_platform")){
- String [] sel = hardware.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- hardware.setSelection(selList.toArray(sel));
- } else if(key.equals("op_sys")){
- String [] sel = os.getSelection();
- List<String> selList = Arrays.asList(sel);
- selList = new ArrayList<String>(selList);
- selList.add(value);
- sel = new String[selList.size()];
- os.setSelection(selList.toArray(sel));
- } else if(key.equals("emailassigned_to1")){ // HACK: email buttons assumed to be in same position
- if(value.equals("1"))
- emailButton[0].setSelection(true);
- else
- emailButton[0].setSelection(false);
- } else if(key.equals("emailreporter1")){ // HACK: email buttons assumed to be in same position
- if(value.equals("1"))
- emailButton[1].setSelection(true);
- else
- emailButton[1].setSelection(false);
- } else if(key.equals("emailcc1") ){ // HACK: email buttons assumed to be in same position
- if(value.equals("1"))
- emailButton[2].setSelection(true);
- else
- emailButton[2].setSelection(false);
- } else if(key.equals("emaillongdesc1")){ // HACK: email buttons assumed to be in same position
- if(value.equals("1"))
- emailButton[3].setSelection(true);
- else
- emailButton[3].setSelection(false);
- } else if(key.equals("emailtype1")){
- int index = 0;
- for(String item: emailOperation.getItems()){
- if(item.compareTo(value) == 0)
- break;
- index++;
- }
- if(index < emailOperation.getItemCount()){
- emailOperation.select(index);
- }
- } else if(key.equals("email1")){
- emailPattern.setText(value);
- } else if(key.equals("changedin")){
- daysText.setText(value);
- }
- }
- this.maxHits = maxHits;
- maxHitsText.setText(maxHits);
- }
-
- public void setControlsEnabled(boolean enabled){
- summaryOperation.setEnabled(enabled);
- product.setEnabled(enabled);
- os.setEnabled(enabled);
- hardware.setEnabled(enabled);
- priority.setEnabled(enabled);
- severity.setEnabled(enabled);
- resolution.setEnabled(enabled);
- status.setEnabled(enabled);
- commentOperation.setEnabled(enabled);
- commentPattern.setEnabled(enabled);
- component.setEnabled(enabled);
- version.setEnabled(enabled);
- target.setEnabled(enabled);
- emailOperation.setEnabled(enabled);
- emailPattern.setEnabled(enabled);
- for(Button b: emailButton){
- b.setEnabled(enabled);
- }
- saveButton.setEnabled(enabled);
- loadButton.setEnabled(enabled);
- updateButton.setEnabled(enabled);
- summaryPattern.setEnabled(enabled);
- daysText.setEnabled(enabled);
-
- }
-
- public String getSearchURL() {
- try{
- if(rememberedQuery){
- return getQueryURL(new StringBuffer(input.getQueryParameters(selIndex)));
- } else {
- return getQueryURL(getQueryParameters());
- }
- } catch (UnsupportedEncodingException e){
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- return "";
- }
-
- @Override
- protected Control createSaveQuery(Composite control) {
- GridLayout layout;
- GridData gd;
-
- Group group = new Group(control, SWT.NONE);
- layout = new GridLayout(3, false);
- group.setLayout(layout);
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- gd = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
- gd.horizontalSpan = 2;
- group.setLayoutData(gd);
-
- loadButton = new Button(group, SWT.PUSH | SWT.LEFT);
- loadButton.setText("Saved Queries...");
- loadButton.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent event) {
- GetQueryDialog qd = new GetQueryDialog(getShell(),
- "Saved Queries", input){
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- super.createButtonsForButtonBar(parent);
- Button okButton = super.getButton(IDialogConstants.OK_ID);
- if(okButton != null)
- okButton.setText("Select");
- }
- };
-
- if (qd.open() == InputDialog.OK) {
- selIndex = qd.getSelected();
- if (selIndex != -1) {
- rememberedQuery = true;
- }
- } else {
- rememberedQuery = false;
- }
- }
- });
- loadButton.setEnabled(true);
- loadButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- saveButton = new Button(group, SWT.PUSH | SWT.LEFT);
- saveButton.setText("Remember...");
- saveButton.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent event) {
- SaveQueryDialog qd = new SaveQueryDialog(getShell(),
- "Remember Query");
- if (qd.open() == InputDialog.OK) {
- String qName = qd.getText();
- if (qName != null && qName.compareTo("") != 0) {
- try {
- input.add(getQueryParameters().toString(), qName, summaryPattern.getText());
- }
- catch (UnsupportedEncodingException e) {
- /*
- * Do nothing. Every implementation of the Java platform is required
- * to support the standard charset "UTF-8"
- */
- }
- }
- }
- }
- });
- saveButton.setEnabled(true);
- saveButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- return group;
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaRefreshManager.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaRefreshManager.java
deleted file mode 100644
index d2bfb58a0..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaRefreshManager.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.jobs.Job;
-
-public class BugzillaRefreshManager {
-
- private List<BugzillaTask> toBeRefreshed;
-
- private Map<BugzillaTask, Job> currentlyRefreshing;
-
- private static final int MAX_REFRESH_JOBS = 5;
-
- public BugzillaRefreshManager (){
- toBeRefreshed = new LinkedList<BugzillaTask>();
- currentlyRefreshing = new HashMap<BugzillaTask, Job>();
- }
-
- public void addTaskToBeRefreshed(BugzillaTask task){
- if(!currentlyRefreshing.containsKey(task) && !toBeRefreshed.contains(task)){
- toBeRefreshed.add(task);
- }
- updateRefreshState();
- }
-
- public void removeTaskToBeRefreshed(BugzillaTask task){
- toBeRefreshed.remove(task);
- if(currentlyRefreshing.get(task) != null){
- currentlyRefreshing.get(task).cancel();
- currentlyRefreshing.remove(task);
- }
- updateRefreshState();
- }
-
- public void removeRefreshingTask(BugzillaTask task){
- if(currentlyRefreshing.containsKey(task)){
- currentlyRefreshing.remove(task);
- }
- updateRefreshState();
- }
-
- private void updateRefreshState(){
- if(currentlyRefreshing.size() < MAX_REFRESH_JOBS && toBeRefreshed.size() > 0){
- BugzillaTask t = toBeRefreshed.remove(0);
- Job j = t.getRefreshJob();
- if(j != null){
- currentlyRefreshing.put(t, j);
- j.schedule();
- }
- }
- }
-
- public void clearAllRefreshes() {
- toBeRefreshed.clear();
- List<Job> l = new ArrayList<Job>();
- l.addAll(currentlyRefreshing.values());
- for(Job j : l){
- if(j != null)
- j.cancel();
- }
- currentlyRefreshing.clear();
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaReportNode.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaReportNode.java
deleted file mode 100644
index 616460a9b..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaReportNode.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit;
-
-
-/**
- * Class to store the DoiInfo of a BugzillaSearchHit
- *
- * @author Shawn Minto
- */
-public class BugzillaReportNode {
-
- private static final int MAX_LABEL_LENGTH = 150;
-
- private static final long serialVersionUID = 3257004367222419506L;
-
- /** The BugzillaSearchHit associated with this DoiInfo */
- private BugzillaSearchHit hit;
-
- /** Whether this search hit was from an exact search like a stack trace */
- private boolean isExact = false;
-
- /** List of all of the StackTrace's in the given bug */
- private List<StackTrace> stackTraces;
-
- /** The bug report associated with this DoiInfo */
- private BugReport bug;
-
- /**
- * Constructor
- *
- * @param initialValue
- * The initial Doi value
- * @param hit
- * The BugzillaSearchHit associated with this DoiInfo
- * @param isExact
- * Whether the search was exact or not
- */
- public BugzillaReportNode(float initialValue, BugzillaSearchHit hit,
- boolean isExact) {
- this.hit = hit;
- this.isExact = isExact;
- bug = null;
- stackTraces = new ArrayList<StackTrace>();
- }
-
- /**
- * Get the bugzilla search hit relating to this DoiInfo
- *
- * @return The BugzillaSearchHit related to this DoiInfo
- */
- public BugzillaSearchHit getHit() {
- return hit;
- }
-
- @Override
- public String toString() {
- return hit.toString();
- }
-
- /**
- * Determine if the search hit this represents is exact or not
- *
- * @return <code>true</code> if the search was exact otherwise
- * <code>false</code>
- */
- public boolean isExact() {
- return isExact;
- }
-
- /**
- * Set whether this bug has any exact elements in it - the search used was fully qualified
- *
- * @param isExact -
- * Whether there are any exact element matches in it
- */
- public void setExact(boolean isExact) {
- this.isExact = isExact;
- }
-
- /**
- * Get the bug report associated with this DoiInfo<br>
- * The bug is downloaded if it was not previously
- *
- * @return Returns the BugReport
- *
- * @throws IOException
- * @throws LoginException
- * @throws MalformedURLException
- */
- public BugReport getBug() throws MalformedURLException, LoginException, IOException {
- if(bug == null){
-
- // get the bug report
- bug = BugzillaRepository.getInstance().getBug(
- hit.getId());
- }
- return bug;
- }
-
- /**
- * Set the bug report associated with this DoiInfo
- *
- * @param bug -
- * BugReport that this is associated with
- */
- public void setBug(BugReport bug) {
- this.bug = bug;
- }
-
- /**
- * Get all of the stack traces contained in the bug
- *
- * @return Returns a list of StackTrace's
- */
- public List<StackTrace> getStackTraces() {
- return stackTraces;
- }
-
- /**
- * Determine whether the doi info has any stack traces associated with it
- * @return <code>true</code> if there are some stack traces else <code>false</code>
- */
- public boolean hasStackTraces(){
- return !stackTraces.isEmpty();
- }
-
- /**
- * Add a stack trace to this DoiInfo
- *
- * @param stackTrace -
- * The StackTrace to add
- */
- public void addStackTrace(StackTrace stackTrace) {
- this.stackTraces.add(stackTrace);
- }
-
- /**
- * Add an array of stack traces to this DoiInfo
- *
- * @param stackTracesToAdd -
- * The StackTraces to add
- */
- public void addStackTraces(StackTrace[] stackTracesToAdd) {
- for (int i = 0; i < stackTracesToAdd.length; i++)
- this.stackTraces.add(stackTracesToAdd[i]);
- }
-
- /**
- * Get the name of the bug report
- * @return The name of the bug report, max 20 characters
- */
- public String getName() {
- String description = hit.getDescription();
- int length = description.length();
- if (length > MAX_LABEL_LENGTH) description = description.substring(0, MAX_LABEL_LENGTH) + "..";
- return "bug " + hit.getId() + ": " + description;
- }
-
- public String getElementHandle() {
- return hit.getServer() + ";" + hit.getId();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTask.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTask.java
deleted file mode 100644
index 8e2ad8a5d..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTask.java
+++ /dev/null
@@ -1,638 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on 14-Jan-2005
- */
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-import java.io.IOException;
-import java.util.Date;
-
-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.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUITools;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-
-
-/**
- * @author Mik Kersten
- */
-public class BugzillaTask extends Task {
-
- private static final String PROGRESS_LABEL_DOWNLOAD = "Downloading Bugzilla Reports...";
-
- public enum BugReportSyncState {
- OUTGOING, OK, INCOMMING, CONFLICT
-
- }
- /**
- * Comment for <code>serialVersionUID</code>
- */
- private static final long serialVersionUID = 3257007648544469815L;
-
- public static final String FILE_EXTENSION = ".bug_reports";
-
- public enum BugTaskState {FREE, WAITING, DOWNLOADING, COMPARING, OPENING}
- private transient BugTaskState state;
-
- /**
- * The bug report for this BugzillaTask. This is <code>null</code> if the
- * bug report with the specified ID was unable to download.
- */
- protected transient BugReport bugReport = null;
-
- /**
- * Value is <code>true</code> if the bug report has saved changes that
- * need synchronizing with the Bugzilla server.
- */
- private boolean isDirty;
-
- /** The last time this task's bug report was downloaded from the server. */
- protected Date lastRefresh;
-
- /**
- * TODO: Move
- */
- public static String getLastRefreshTime(Date lastRefresh) {
- String toolTip = "\n---------------\n"
- + "Last synchronized: ";
- Date timeNow = new Date();
- if (lastRefresh == null) lastRefresh = new Date();
- long timeDifference = (timeNow.getTime() - lastRefresh.getTime())/60000;
- long minutes = timeDifference % 60;
- timeDifference /= 60;
- long hours = timeDifference % 24;
- timeDifference /= 24;
- if (timeDifference > 0) {
- toolTip += timeDifference + ((timeDifference == 1) ? " day, " : " days, ");
- }
- if (hours > 0 || timeDifference > 0) {
- toolTip += hours + ((hours == 1) ? " hour, " : " hours, ");
- }
- toolTip += minutes + ((minutes == 1) ? " minute " : " minutes ") + "ago";
- return toolTip;
- }
-
- public static final ISchedulingRule rule = new ISchedulingRule() {
- public boolean isConflicting(ISchedulingRule schedulingRule) {
- return schedulingRule == this;
- }
- public boolean contains(ISchedulingRule schedulingRule) {
- return schedulingRule == this;
- }
- };
-
- public BugzillaTask(String id, String label, boolean newTask) {
- super(id, label, newTask);
- isDirty = false;
- scheduleDownloadReport();
- }
-
- public BugzillaTask(String id, String label, boolean noDownload, boolean newTask) {
- super(id, label, newTask);
- isDirty = false;
- if (!noDownload) {
- scheduleDownloadReport();
- }
- }
-
- public BugzillaTask(BugzillaHit hit, boolean newTask) {
- this(hit.getHandle(), hit.getDescription(false), newTask);
- setPriority(hit.getPriority());
- }
-
- @Override
- public String getDescription(boolean isLabel) {
- if (this.isBugDownloaded() || !super.getDescription(isLabel).startsWith("<")) {
- return super.getDescription(isLabel);
- } else {
- if (getState() == BugzillaTask.BugTaskState.FREE) {
- return BugzillaTask.getBugId(getHandle()) + ": <Could not find bug>";
- } else {
- return BugzillaTask.getBugId(getHandle()) + ":";
- }
- }
-
-// return BugzillaTasksTools.getBugzillaDescription(this);
- }
-
- /**
- * @return Returns the bugReport.
- */
- public BugReport getBugReport() {
- return bugReport;
- }
-
- /**
- * @param bugReport The bugReport to set.
- */
- public void setBugReport(BugReport bugReport) {
- this.bugReport = bugReport;
- }
-
- /**
- * @return Returns the serialVersionUID.
- */
- public static long getSerialVersionUID() {
- return serialVersionUID;
- }
- /**
- * @return Returns the lastRefresh.
- */
- public Date getLastRefresh() {
- return lastRefresh;
- }
- /**
- * @param lastRefresh The lastRefresh to set.
- */
- public void setLastRefresh(Date lastRefresh) {
- this.lastRefresh = lastRefresh;
- }
- /**
- * @param state The state to set.
- */
- public void setState(BugTaskState state) {
- this.state = state;
- }
- /**
- * @return Returns <code>true</code> if the bug report has saved changes
- * that need synchronizing with the Bugzilla server.
- */
- public boolean isDirty() {
- return isDirty;
- }
-
- /**
- * @param isDirty The isDirty to set.
- */
- public void setDirty(boolean isDirty) {
- this.isDirty = isDirty;
- notifyTaskDataChange();
- }
-
- /**
- * @return Returns the state of the Bugzilla task.
- */
- public BugTaskState getState() {
- return state;
- }
-
- /**
- * Try to download the bug from the server.
- * @param bugId The ID of the bug report to download.
- *
- * @return The bug report, or <code>null</code> if it was unsuccessfully
- * downloaded.
- */
- public BugReport downloadReport() {
- try {
- // XXX make sure to send in the server name if there are multiple repositories
- if(BugzillaPlugin.getDefault() == null){
- MylarPlugin.log("Bug Beport download failed for: " + getBugId(getHandle()) + " due to bugzilla core not existing", this);
- return null;
- }
- return BugzillaRepository.getInstance().getBug(getBugId(getHandle()));
- } catch (LoginException e) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
-
- public void run() {
- MessageDialog.openError(Display.getDefault().getActiveShell(), "Report Download Failed", "The bugzilla report failed to be downloaded since your username or password is incorrect.");
- }
- });
- } catch (IOException e) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- ((ApplicationWindow)BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()).setStatus("Download of bug "
- + getBugId(getHandle())
- + " failed due to I/O exception");
- }
- });
-// MylarPlugin.log(e, "download failed due to I/O exception");
- }
- return null;
- }
-
- @Override
- public void openTaskInEditor(boolean offline){
- openTask(-1, offline);
- }
-
- /**
- * Opens this task's bug report in an editor revealing the selected comment.
- * @param commentNumber The comment number to reveal
- */
- public void openTask(int commentNumber, boolean offline) {
-// if (state != BugTaskState.FREE) {
-// return;
-// }
-//
-// state = BugTaskState.OPENING;
-// notifyTaskDataChange();
- OpenBugTaskJob job = new OpenBugTaskJob("Opening Bugzilla task in editor...", this, offline);
- job.schedule();
-// job.addJobChangeListener(new IJobChangeListener(){
-//
-// public void aboutToRun(IJobChangeEvent event) {
-// // don't care about this event
-// }
-//
-// public void awake(IJobChangeEvent event) {
-// // don't care about this event
-// }
-// public void done(IJobChangeEvent event) {
-// state = BugTaskState.FREE;
-// notifyTaskDataChange();
-// }
-//
-// public void running(IJobChangeEvent event) {
-// // don't care about this event
-// }
-//
-// public void scheduled(IJobChangeEvent event) {
-// // don't care about this event
-// }
-//
-// public void sleeping(IJobChangeEvent event) {
-// // don't care about this event
-// }
-// });
- }
-
- /**
- * @return <code>true</code> if the bug report for this BugzillaTask was
- * successfully downloaded.
- */
- public boolean isBugDownloaded() {
- return bugReport != null;
- }
-
- @Override
- public String toString() {
- return "bugzilla report id: " + getHandle();
- }
-
- /**
- * We should be able to open the task at any point, meaning that if it isn't downloaded
- * attempt to get it from the server to open it
- */
- protected void openTaskEditor(final BugzillaTaskEditorInput input, final boolean offline) {
-
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
-
- MylarTasklistPlugin.ReportOpenMode mode = MylarTasklistPlugin.getDefault().getReportMode();
- if (mode == MylarTasklistPlugin.ReportOpenMode.EDITOR) {
-
- try{
- // if we can reach the server, get the latest for the bug
- if(!isBugDownloaded() && offline){
- MessageDialog.openInformation(null, "Unable to open bug", "Unable to open the selected bugzilla task since you are currently offline");
- return;
- }else if(!isBugDownloaded() && syncState != BugReportSyncState.OUTGOING && syncState != BugReportSyncState.CONFLICT) {
- input.getBugTask().downloadReport();
- input.setOfflineBug(input.getBugTask().getBugReport());
- } else if(syncState == BugReportSyncState.OUTGOING || syncState == BugReportSyncState.CONFLICT){
- input.setOfflineBug(bugReport);
- }
-
- // get the active workbench page
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- // if we couldn't get the page, get out of here
- if (page == null)
- return;
-
- // try to open an editor on the input bug
- //page.openEditor(input, IBugzillaConstants.EXISTING_BUG_EDITOR_ID);
- page.openEditor(input, "org.eclipse.mylar.bugzilla.ui.tasklist.bugzillaTaskEditor");
-
- }
- catch (Exception ex) {
- MylarPlugin.log(ex, "couldn't open bugzilla task");
- return;
- }
- } else if (mode == MylarTasklistPlugin.ReportOpenMode.INTERNAL_BROWSER) {
- String title = "Bug #" + BugzillaTask.getBugId(getHandle());
- BugzillaUITools.openUrl(title, title, getBugUrl());
- }
- if(syncState == BugReportSyncState.INCOMMING){
- syncState = BugReportSyncState.OK;
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null && TaskListView.getDefault().getViewer() != null && !TaskListView.getDefault().getViewer().getControl().isDisposed()){
- TaskListView.getDefault().getViewer().refresh();
- }
- }
- });
- } else if(syncState == BugReportSyncState.CONFLICT){
- syncState = BugReportSyncState.OUTGOING;
- Display.getDefault().asyncExec(new Runnable(){
- public void run() {
- if(TaskListView.getDefault() != null && TaskListView.getDefault().getViewer() != null && !TaskListView.getDefault().getViewer().getControl().isDisposed()){
- TaskListView.getDefault().getViewer().refresh();
- }
- }
- });
- }
- }
- });
- }
-
- /**
- * @return The number of seconds ago that this task's bug report was
- * downloaded from the server.
- */
- public long getTimeSinceLastRefresh() {
- Date timeNow = new Date();
- return (timeNow.getTime() - lastRefresh.getTime())/1000;
- }
-
- private class GetBugReportJob extends Job {
- public GetBugReportJob(String name) {
- super(name);
- setRule(rule);
- state = BugTaskState.WAITING;
- notifyTaskDataChange();
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try{
- state = BugTaskState.DOWNLOADING;
- notifyTaskDataChange();
- // Update time this bugtask was last downloaded.
- lastRefresh = new Date();
- bugReport = downloadReport();
- state = BugTaskState.FREE;
- updateTaskDetails();
- notifyTaskDataChange();
- saveBugReport(true);
- } catch (Exception e) {
- MylarPlugin.fail(e, "Could not download report", false);
- }
- BugzillaUiPlugin.getDefault().getBugzillaRefreshManager().removeRefreshingTask(BugzillaTask.this);
- return new Status(IStatus.OK, MylarPlugin.IDENTIFIER, IStatus.OK, "", null);
- }
- }
-
- public void updateTaskDetails() {
- try {
- if(bugReport == null)
- bugReport = downloadReport();
- if(bugReport == null)
- return;
- setPriority(bugReport.getAttribute("Priority").getValue());
- String status = bugReport.getAttribute("Status").getValue();
- if (status.equals("RESOLVED") || status.equals("CLOSED") || status.equals("VERIFIED")) {
- setCompleted(true);
- }
- this.setDescription(HtmlStreamTokenizer.unescape(BugzillaTask.getBugId(getHandle()) + ": " + bugReport.getSummary()));
- } catch (NullPointerException npe) {
- MylarPlugin.fail(npe, "Task details update failed", false);
- }
- }
-
- private class OpenBugTaskJob extends Job {
-
- protected BugzillaTask bugTask;
- private boolean offline;
-
- public OpenBugTaskJob(String name, BugzillaTask bugTask, boolean offline) {
- super(name);
- this.bugTask = bugTask;
- this.offline = offline;
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try{
- boolean isLikeOffline = offline || syncState == BugReportSyncState.OUTGOING || syncState == BugReportSyncState.CONFLICT;
- final BugzillaTaskEditorInput input = new BugzillaTaskEditorInput(bugTask, isLikeOffline);
-// state = BugTaskState.OPENING;
-// notifyTaskDataChange();
- openTaskEditor(input, offline);
-
-// state = BugTaskState.FREE;
-// notifyTaskDataChange();
- return new Status(IStatus.OK, MylarPlugin.IDENTIFIER, IStatus.OK, "", null);
- }catch(Exception e){
-// MessageDialog.openError(null, "Error Opening Bug", "Unable to open Bug report: " + BugzillaTask.getBugId(bugTask.getHandle()));
- MylarPlugin.fail(e, "Unable to open Bug report: " + BugzillaTask.getBugId(bugTask.getHandle()), true);
- }
- return Status.CANCEL_STATUS;
- }
- }
-
- @Override
- public String getToolTipText() {
- if(lastRefresh == null) return "";
-
- String toolTip = getDescription(true);
-
-
- toolTip += getLastRefreshTime(lastRefresh);
-
- return toolTip;
- }
-
- public boolean readBugReport() {
- // XXX server name needs to be with the bug report
- IBugzillaBug tempBug = OfflineView.find(getBugId(getHandle()));
- if(tempBug == null){
- bugReport = null;
- return true;
- }
- bugReport = (BugReport)tempBug;
-
- if(bugReport.hasChanges())
- syncState = BugReportSyncState.OUTGOING;
- return true;
- }
-
- public void saveBugReport(boolean refresh) {
- if(bugReport == null)
- return;
-
- // XXX use the server name for multiple repositories
-// OfflineReportsFile offlineReports = BugzillaPlugin.getDefault().getOfflineReports();
-// IBugzillaBug tempBug = OfflineView.find(getBugId(getHandle()));
-// OfflineView.re
-// if(location != -1){
-// IBugzillaBug tmpBugReport = offlineReports.elements().get(location);
-// List<IBugzillaBug> l = new ArrayList<IBugzillaBug>(1);
-// l.add(tmpBugReport);
-// offlineReports.remove(l);
-// }
-// OfflineView.removeReport(tempBug);
- OfflineView.saveOffline(bugReport, false);
-
- final IWorkbench workbench = PlatformUI.getWorkbench();
- if (refresh && !workbench.getDisplay().isDisposed()) {
- workbench.getDisplay().asyncExec(new Runnable() {
- public void run() {
- OfflineView.refresh();
- }
- });
- }
- }
-
- public void removeReport() {
- // XXX do we really want to do this???
- // XXX remove from registry too??
- IBugzillaBug tempBug = OfflineView.find(getBugId(getHandle()));
- OfflineView.removeReport(tempBug);
-// OfflineReportsFile offlineReports = BugzillaPlugin.getDefault().getOfflineReports();
-// int location = offlineReports.find(getBugId(getHandle()));
-// if(location != -1){
-// IBugzillaBug tmpBugReport = offlineReports.elements().get(location);
-// List<IBugzillaBug> l = new ArrayList<IBugzillaBug>(1);
-// l.add(tmpBugReport);
-// offlineReports.remove(l);
-// }
- }
-
- public static String getServerName(String handle) {
- int index = handle.lastIndexOf('-');
- if(index != -1){
- return handle.substring(0, index);
- }
- return null;
- }
-
- public static int getBugId(String handle) {
- int index = handle.lastIndexOf('-');
- if(index != -1){
- String id = handle.substring(index+1);
- return Integer.parseInt(id);
- }
- return -1;
- }
-
- @Override
- public Image getIcon() {
- if(syncState == BugReportSyncState.OK){
- return TaskListImages.getImage(BugzillaImages.TASK_BUGZILLA);
- }else if(syncState == BugReportSyncState.OUTGOING){
- return TaskListImages.getImage(BugzillaImages.TASK_BUGZILLA_OUTGOING);
- } else if(syncState == BugReportSyncState.INCOMMING){
- return TaskListImages.getImage(BugzillaImages.TASK_BUGZILLA_INCOMMING);
- } else if(syncState == BugReportSyncState.CONFLICT){
- return TaskListImages.getImage(BugzillaImages.TASK_BUGZILLA_CONFLICT);
- } else {
- return TaskListImages.getImage(BugzillaImages.TASK_BUGZILLA);
- }
-
- }
-
- public String getBugUrl() {
- // fix for bug 103537 - should login automatically, but dont want to show the login info in the query string
- return BugzillaRepository.getBugUrlWithoutLogin(getBugId(handle));
- }
-
- @Override
- public boolean canEditDescription() {
- return false;
- }
-
- @Override
- public String getDeleteConfirmationMessage() {
- return "Remove this report from the task list, and discard any task context or local notes?";
- }
-
- @Override
- public boolean isDirectlyModifiable() {
- return false;
- }
-
- @Override
- public boolean participatesInTaskHandles() {
- return false;
- }
-
- @Override
- public Font getFont(){
- Font f = super.getFont();
- if(f != null) return f;
-
- if (getState() != BugzillaTask.BugTaskState.FREE || bugReport == null) {
- return ITALIC;
- }
- return null;
- }
-
- public void scheduleDownloadReport() {
- GetBugReportJob job = new GetBugReportJob(PROGRESS_LABEL_DOWNLOAD);
- job.schedule();
- }
-
- public Job getRefreshJob() {
- if (isDirty() || (state != BugTaskState.FREE)) {
- return null;
- }
- GetBugReportJob job = new GetBugReportJob("Refreshing Bugzilla Reports...");
- return job;
- }
-
- public String getStringForSortingDescription() {
- return getBugId(getHandle())+"";
- }
-
- public static long getLastRefreshTimeInMinutes(Date lastRefresh) {
- Date timeNow = new Date();
- if (lastRefresh == null) lastRefresh = new Date();
- long timeDifference = (timeNow.getTime() - lastRefresh.getTime())/60000;
- return timeDifference;
- }
-
- private BugReportSyncState syncState = BugReportSyncState.OK;
-
- public void setSyncState(BugReportSyncState syncState) {
- if((this.syncState == BugReportSyncState.INCOMMING && syncState == BugReportSyncState.OK)){
- // do nothing
- } else {
- this.syncState = syncState;
- }
- }
-
- public static String getHandle(IBugzillaBug bug) {
- return "Bugzilla-"+bug.getId();
- }
-
- public BugReportSyncState getSyncState() {
- return syncState;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditor.java
deleted file mode 100644
index 6febf4a4c..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditor.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on 31-Jan-2005
- */
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.IBugzillaAttributeListener;
-import org.eclipse.mylar.bugzilla.ui.BugzillaImages;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditor;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.TaskEditor;
-import org.eclipse.mylar.tasklist.ui.TaskEditorInput;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * @author Eric Booth
- * @author Mik Kersten
- */
-public class BugzillaTaskEditor extends TaskEditor {
-
- private static final String EDITOR_TAB_ITLE = "Bugzilla Report";
-
- /** The task that created this editor */
- protected BugzillaTask bugTask;
-
- /** This bug report can be modified by the user and saved offline. */
- protected BugReport offlineBug;
-
- private ExistingBugEditor bugzillaEditor;
-
- private BugzillaTaskEditorInput bugzillaEditorInput;
-
-// private TaskSummaryEditor taskSummaryEditor = new TaskSummaryEditor();
-
- protected IContentOutlinePage outlinePage = null;
-
- private IBugzillaAttributeListener ATTRIBUTE_LISTENER = new IBugzillaAttributeListener() {
- public void attributeChanged(String attribute, String value) {
- if (attribute.equals("Priority")) {
- bugTask.setPriority(value);
- if (TaskListView.getDefault() != null) TaskListView.getDefault().notifyTaskDataChanged(bugTask);
- }
- }
- };
-
-
- public BugzillaTaskEditor() {
- super();
-
- // get the workbench page and add a listener so we can detect when it closes
-// IWorkbench wb = MylarTasklistPlugin.getDefault().getWorkbench();
-// IWorkbenchWindow aw = wb.getActiveWorkbenchWindow();
-// IWorkbenchPage ap = aw.getActivePage();
-// BugzillaTaskEditorListener listener = new BugzillaTaskEditorListener();
-// ap.addPartListener(listener);
-
- bugzillaEditor = new ExistingBugEditor();
- bugzillaEditor.setParentEditor(this);
- bugzillaEditor.addAttributeListener(ATTRIBUTE_LISTENER);
-// taskSummaryEditor = new TaskSummaryEditor();
-// taskSummaryEditor.setParentEditor(this);
- }
-
- public AbstractBugEditor getBugzillaEditor(){
- return bugzillaEditor;
- }
-
-// public TaskSummaryEditor getTaskEditor(){
-// return taskSummaryEditor;
-// }
-
-
- public void gotoMarker(IMarker marker) {
- // don't do anything
- }
-
- /**
- * Creates page 1 of the multi-page editor,
- * which allows you to change the font used in page 2.
- */
- private void createBugzillaSubmitPage() {
- bugzillaEditor.createPartControl(getContainer());
- Composite composite = bugzillaEditor.getEditorComposite();
- int index = addPage(composite);
- setPageText(index, EDITOR_TAB_ITLE);
- }
-
-
-// private void createSummaryPage() {
-// try{
-// int index = addPage(taskSummaryEditor, new TaskEditorInput(bugTask));
-// setPageText(index, "Summary");
-// }catch(Exception e){
-// MylarPlugin.log(e, "summary failed");
-// }
-// }
-
- /**
- * Creates the pages of the multi-page editor.
- */
- @Override
- protected void createPages() {
- createBugzillaSubmitPage();
- super.createPages();
-// createSummaryPage();
- }
-
- /**
- * Saves the multi-page editor's document.
- */
- @Override
- public void doSave(IProgressMonitor monitor) {
- super.doSave(monitor);
-// if(taskSummaryEditor.isDirty())
-// taskSummaryEditor.doSave(monitor);
- if(bugzillaEditor.isDirty())
- bugzillaEditor.doSave(monitor);
-
- // TODO save both editors if needed
- }
-
- public boolean isDirty(){
- return bugzillaEditor.isDirty() || super.isDirty();
- }
-
- public void changeDirtyStatus(boolean newDirtyStatus) {
- firePropertyChange(PROP_DIRTY);
- }
-
- @SuppressWarnings({"deprecation","deprecation"})
- @Override
- public void init(IEditorSite site, IEditorInput editorInput) throws PartInitException {
- if (!(editorInput instanceof BugzillaTaskEditorInput))
- throw new PartInitException("Invalid Input: Must be BugzillaTaskEditorInput");
- super.init(site, (IEditorInput)new TaskEditorInput(((BugzillaTaskEditorInput)editorInput).getBugTask()));
- bugzillaEditorInput = (BugzillaTaskEditorInput) editorInput;
- bugTask = bugzillaEditorInput.getBugTask();
-
- offlineBug = bugzillaEditorInput.getOfflineBug();
-
- super.setSite(site);
- super.setInput(editorInput);
-
- try {
- bugzillaEditor.init(this.getEditorSite(), this.getEditorInput());
- }
- catch (Exception e) {
- throw new PartInitException(e.getMessage());
- }
-
- // Set the title on the editor's tab
- this.setPartName("Bug #" + bugzillaEditorInput.getBugId());
- this.setTitleImage(TaskListImages.getImage(BugzillaImages.TASK_BUGZILLA));
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- /**
- * Calculates the contents of page 2 when the it is activated.
- */
- @Override
- protected void pageChange(int newPageIndex) {
- super.pageChange(newPageIndex);
- }
-
- /**
- * Sets the font related data to be applied to the text in page 2.
- */
- @Override
- public void setFocus() {
- // The default focus for this editor is the submit page
- bugzillaEditor.setFocus();
- }
-
- /**
- * @return Returns the bugTask.
- */
- public BugzillaTask getBugTask() {
- return bugTask;
- }
-
- /**
- * @return Returns the offlineBug.
- */
- public BugReport getOfflineBug() {
- return offlineBug;
- }
-
- /**
- * Updates the title of the editor to reflect dirty status.
- * If the bug report has been modified but not saved, then
- * an indicator will appear in the title.
- * @param isDirty
- * is true when the bug report has been modified but not saved
- */
- public void showDirtyStatus(boolean isDirty) {
- String prefix = (isDirty) ? "*" : "" ;
- setPartName(prefix + "Bug #" + bugzillaEditorInput.getBugId());
- }
-
-// /**
-// * Class to listen for editor events
-// */
-// private class BugzillaTaskEditorListener implements IPartListener
-// {
-//
-// public void partActivated(IWorkbenchPart part) {
-// // don't care about this event
-// }
-//
-// public void partBroughtToTop(IWorkbenchPart part) {
-// // don't care about this event
-// }
-//
-// public void partClosed(IWorkbenchPart part) {
-//
-// // if we are closing a bug editor
-// if (part instanceof BugzillaTaskEditor) {
-// BugzillaTaskEditor taskEditor = (BugzillaTaskEditor)part;
-//
-// // check if it needs to be saved
-// if (taskEditor.bugzillaEditor.isDirty) {
-// // ask the user whether they want to save it or not and perform the appropriate action
-// taskEditor.bugzillaEditor.changeDirtyStatus(false);
-// boolean response = MessageDialog.openQuestion(null, "Save Changes",
-// "You have made some changes to the bug, do you want to save them?");
-// if (response) {
-// taskEditor.bugzillaEditor.saveBug();
-// } else {
-// ExistingBugEditorInput input = (ExistingBugEditorInput)taskEditor.bugzillaEditor.getEditorInput();
-// bugTask.setPriority(input.getBug().getAttribute("Priority").getValue());
-// }
-// }
-// }
-// }
-//
-// public void partDeactivated(IWorkbenchPart part) {
-// // don't care about this event
-// }
-//
-// public void partOpened(IWorkbenchPart part) {
-// // don't care about this event
-// }
-// }
-
- public void makeNewPage(BugReport serverBug, String newCommentText) {
- if (serverBug == null) {
- MessageDialog.openInformation(Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Could not open bug.", "Bug #" + offlineBug.getId()
- + " could not be read from the server. Try refreshing the bug task.");
- return;
- }
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- return bugzillaEditor.getAdapter(adapter);
- }
-
- public void close() {
- Display display= getSite().getShell().getDisplay();
- display.asyncExec(new Runnable() {
- public void run() {
- getSite().getPage().closeEditor(BugzillaTaskEditor.this, false);
- }
- });
- }
-
- @Override
- public void doSaveAs() {
- // do nothing here
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java
deleted file mode 100644
index 3c913c206..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on 1-Feb-2005
- */
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-import java.io.IOException;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditorInput;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask.BugReportSyncState;
-import org.eclipse.ui.IPersistableElement;
-
-
-/**
- * @author Eric Booth
- */
-public class BugzillaTaskEditorInput extends ExistingBugEditorInput {
-
-
- private String bugTitle;
-
- private BugReport offlineBug;
-
- private BugzillaTask bugTask;
-
- private boolean offline;
-
- public BugzillaTaskEditorInput(BugzillaTask bugTask, boolean offline) throws LoginException, IOException {
- super(BugzillaTask.getBugId(bugTask.getHandle()), offline);
- this.bugTask = bugTask;
- offlineBug = bugTask.getBugReport();
- bugId = BugzillaTask.getBugId(bugTask.getHandle());
- bugTitle = "";
- this.offline = offline;
- }
-
- protected void setBugTitle(String str) {
- // 03-20-03 Allows editor to store title (once it is known)
- bugTitle = str;
- }
-
- @Override
- public boolean exists() {
- return true;
- }
-
- @Override
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- @Override
- public String getName() {
- return "Bug #" + bugId;
- }
-
- @Override
- public IPersistableElement getPersistable() {
- return null;
- }
-
- @Override
- public String getToolTipText() {
- return bugTitle;
- }
-
- @Override
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- @Override
- public int getBugId() {
- return bugId;
- }
-
- /**
- * Returns the online server bug for this input
- *
- * @see BugzillaRepository
- * @see BugReport
- */
-// public BugReport getServerBug() {
-// return serverBug;
-// }
-
- /**
- * Returns the offline bug for this input's Bugzilla task
- */
- public BugReport getOfflineBug() {
- if(offline || bugTask.getSyncState() == BugReportSyncState.OUTGOING || bugTask.getSyncState() == BugReportSyncState.CONFLICT)
- return offlineBug;
- else
- return super.getBug();
- }
-
- public void setOfflineBug(BugReport offlineBug){
- this.offlineBug = offlineBug;
- }
-
- /**
- * Gets the bug page input stream
- */
-// public InputStream getInputStream() throws IOException {
-// try {
-// return url.openStream();
-// }
-// catch (Exception e) {
-// throw new IOException(e.getMessage());
-// }
-//
-// }
-
- /**
- * Returns true if the argument is a bug report editor input on the same bug id.
- */
- @Override
- public boolean equals(Object o) {
- if (o instanceof BugzillaTaskEditorInput) {
- BugzillaTaskEditorInput input = (BugzillaTaskEditorInput) o;
- return getBugId() == input.getBugId();
- }
- return false;
- }
-
- /**
- * @return Returns the <code>BugzillaTask</code>
- */
- public BugzillaTask getBugTask() {
- return bugTask;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java
deleted file mode 100644
index 460af3829..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.util.Date;
-
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask.BugReportSyncState;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask.BugTaskState;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.DefaultTaskListExternalizer;
-import org.eclipse.mylar.tasklist.internal.MylarExternalizerException;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.internal.TaskList;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The wierd thing here is that the registry gets read in as a normal
- * category, but gets written out by createRegistry
- *
- * @author Mik Kersten and Ken Sueda
- */
-public class BugzillaTaskExternalizer extends DefaultTaskListExternalizer {
-
- public static final String BUGZILLA_ARCHIVE_LABEL = "Archived Reports <automatic>";
- private static final String BUGZILLA = "Bugzilla";
- private static final String LAST_DATE = "LastDate";
- private static final String DIRTY = "Dirty";
- private static final String SYNC_STATE = "offlineSyncState";
- private static final String DESCRIPTION = "Description";
- private static final String URL = "URL";
-
- private static final String BUGZILLA_TASK_REGISTRY = "BugzillaTaskRegistry" + TAG_CATEGORY;
- private static final String TAG_BUGZILLA_CATEGORY = "BugzillaQuery" + TAG_CATEGORY;
-
- private static final String TAG_BUGZILLA_QUERY_HIT = "Bugzilla" + TAG_QUERY_HIT;
- private static final String TAG_BUGZILLA_QUERY = "Bugzilla" + TAG_QUERY;
- private static final String TAG_BUGZILLA_CUSTOM_QUERY = "BugzillaCustom" + TAG_QUERY;
-
- private static final String TAG_TASK = "BugzillaReport";
-
- @Override
- public void createRegistry(Document doc, Node parent) {
- Element node = doc.createElement(BUGZILLA_TASK_REGISTRY);
- for (BugzillaTask task : BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().getBugzillaTaskRegistry().values()) {
- try {
- createTaskElement(task, doc, node);
- } catch (Exception e) {
- MylarPlugin.log(e, e.getMessage());
- }
-
- }
- parent.appendChild(node);
- }
-
- @Override
- public boolean canReadCategory(Node node) {
- return node.getNodeName().equals(getCategoryTagName())
- || node.getNodeName().equals(BUGZILLA_TASK_REGISTRY);
- }
-
- @Override
- public void readCategory(Node node, TaskList taskList) throws MylarExternalizerException {
- Element e = (Element) node;
- if (e.getNodeName().equals(BUGZILLA_TASK_REGISTRY)) {
- readRegistry(node, taskList);
- } else {
- BugzillaQueryCategory cat = new BugzillaQueryCategory(e.getAttribute(DESCRIPTION), e.getAttribute(URL), e.getAttribute(MAX_HITS));
- taskList.internalAddQuery(cat);
- }
- }
-
- public String getQueryTagNameForElement(IQuery query) {
- if(query instanceof BugzillaCustomQuery){
- return TAG_BUGZILLA_CUSTOM_QUERY;
- } else if(query instanceof BugzillaQueryCategory){
- return TAG_BUGZILLA_QUERY;
- }
- return "";
- }
-
- public boolean canReadQuery(Node node) {
- return node.getNodeName().equals(TAG_BUGZILLA_CUSTOM_QUERY) || node.getNodeName().equals(TAG_BUGZILLA_QUERY);
- }
-
- public void readQuery(Node node, TaskList tlist) throws MylarExternalizerException {
- boolean hasCaughtException = false;
- Element element = (Element) node;
- IQuery cat = null;
- if(node.getNodeName().equals(TAG_BUGZILLA_CUSTOM_QUERY)){
- cat = new BugzillaCustomQuery(element.getAttribute(NAME), element.getAttribute(QUERY_STRING), element.getAttribute(MAX_HITS));
- } else if(node.getNodeName().equals(TAG_BUGZILLA_QUERY)){
- cat = new BugzillaQueryCategory(element.getAttribute(NAME), element.getAttribute(QUERY_STRING), element.getAttribute(MAX_HITS));
- }
- if(cat != null){
- tlist.internalAddQuery(cat);
- }
- NodeList list = node.getChildNodes();
- for (int i = 0; i < list.getLength(); i++) {
- Node child = list.item(i);
- try {
- readQueryHit(child, tlist, cat);
- } catch (MylarExternalizerException e) {
- hasCaughtException = true;
- }
- }
- if (hasCaughtException) throw new MylarExternalizerException("Failed to load all tasks");
- }
-
- public void readRegistry(Node node, TaskList taskList) throws MylarExternalizerException {
- boolean hasCaughtException = false;
- NodeList list = node.getChildNodes();
- TaskCategory cat = new TaskCategory(BUGZILLA_ARCHIVE_LABEL);
- cat.setIsArchive(true);
- taskList.internalAddCategory(cat);
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().setTaskRegistyCategory(cat);
- for (int i = 0; i < list.getLength(); i++) {
- try {
- Node child = list.item(i);
- ITask task = readTask(child, taskList, null, null);
- if (task instanceof BugzillaTask) {
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager()
- .addToBugzillaTaskRegistry((BugzillaTask) task);
- }
- } catch (MylarExternalizerException e) {
- hasCaughtException = true;
- }
- }
-
- if (hasCaughtException) throw new MylarExternalizerException("Failed to restore all tasks");
- }
-
- public boolean canCreateElementFor(ITaskListCategory cat) {
- return false;
- }
-
- public boolean canCreateElementFor(ITask task) {
- return task instanceof BugzillaTask;
- }
-
- public Element createTaskElement(ITask task, Document doc, Element parent) {
- Element node = super.createTaskElement(task, doc, parent);
- BugzillaTask bt = (BugzillaTask) task;
- node.setAttribute(BUGZILLA, TRUE);
- if (bt.getLastRefresh() != null) {
- node.setAttribute(LAST_DATE, new Long(bt.getLastRefresh()
- .getTime()).toString());
- } else {
- node.setAttribute(LAST_DATE, new Long(new Date().getTime()).toString());
- }
-
- node.setAttribute(SYNC_STATE, bt.getSyncState().toString());
-
- if (bt.isDirty()) {
- node.setAttribute(DIRTY, TRUE);
- } else {
- node.setAttribute(DIRTY, FALSE);
- }
-// bt.saveBugReport(false); // XXX don't think that this needs to be done, should be handled already
- return node;
- }
-
- @Override
- public boolean canReadTask(Node node) {
- return node.getNodeName().equals(getTaskTagName());
- }
-
- @Override
- public ITask readTask(Node node, TaskList tlist, ITaskListCategory category, ITask parent) throws MylarExternalizerException{
- Element element = (Element) node;
- String handle;
- String label;
- if (element.hasAttribute(HANDLE)) {
- handle = element.getAttribute(HANDLE);
- } else {
- throw new MylarExternalizerException("Handle not stored for bug report");
- }
- if (element.hasAttribute(LABEL)) {
- label = element.getAttribute(LABEL);
- } else {
- throw new MylarExternalizerException("Description not stored for bug report");
- }
- BugzillaTask task = new BugzillaTask(handle, label, true, false);
- readTaskInfo(task, tlist, element, category, parent);
-
- task.setState(BugTaskState.FREE);
- task.setLastRefresh(new Date(new Long(element.getAttribute("LastDate"))
- .longValue()));
-
- if (element.getAttribute("Dirty").compareTo("true") == 0) {
- task.setDirty(true);
- } else {
- task.setDirty(false);
- }
- try {
- if (task.readBugReport() == false) {
- MylarPlugin.log("Failed to read bug report", null);
- }
- } catch(Exception e) {
- MylarPlugin.log(e, "Failed to read bug report");
- }
-
- if (element.hasAttribute(SYNC_STATE)) {
- String syncState = element.getAttribute(SYNC_STATE);
- if(syncState.compareTo(BugReportSyncState.OK.toString()) == 0){
- task.setSyncState(BugReportSyncState.OK);
- } else if(syncState.compareTo(BugReportSyncState.INCOMMING.toString()) == 0){
- task.setSyncState(BugReportSyncState.INCOMMING);
- } else if(syncState.compareTo(BugReportSyncState.OUTGOING.toString()) == 0){
- task.setSyncState(BugReportSyncState.OUTGOING);
- } else if(syncState.compareTo(BugReportSyncState.CONFLICT.toString()) == 0){
- task.setSyncState(BugReportSyncState.CONFLICT);
- }
- }
-
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(task);
- if(taskHandler != null){
- ITask addedTask = taskHandler.taskAdded(task);
- if(addedTask instanceof BugzillaTask) task = (BugzillaTask)addedTask;
- }
- return task;
- }
-
-
-
- public boolean canReadQueryHit(Node node) {
- return node.getNodeName().equals(getQueryHitTagName());
- }
-
- public void readQueryHit(Node node, TaskList tlist, IQuery query) throws MylarExternalizerException {
- Element element = (Element) node;
- String handle;
- String label;
- String priority;
- String status;
- if (element.hasAttribute(HANDLE)) {
- handle = element.getAttribute(HANDLE);
- } else {
- throw new MylarExternalizerException("Handle not stored for bug report");
- }
- if (element.hasAttribute(NAME)) {
- label = element.getAttribute(NAME);
- } else {
- throw new MylarExternalizerException("Description not stored for bug report");
- }
- if (element.hasAttribute(PRIORITY)) {
- priority = element.getAttribute(PRIORITY);
- } else {
- throw new MylarExternalizerException("Description not stored for bug report");
- }
- if (element.hasAttribute(COMPLETE)) {
- status = element.getAttribute(COMPLETE);
- if(status.equals(TRUE))
- status = "RESO";
- else
- status = "NEW";
- } else {
- throw new MylarExternalizerException("Description not stored for bug report");
- }
- BugzillaHit hit = new BugzillaHit(label, priority, BugzillaTask.getBugId(handle), null, status);
- query.addHit(hit);
- }
-
- @Override
- public String getCategoryTagName() {
- return TAG_BUGZILLA_CATEGORY;
- }
-
- @Override
- public String getTaskTagName() {
- return TAG_TASK;
- }
-
- @Override
- public String getQueryHitTagName(){
- return TAG_BUGZILLA_QUERY_HIT;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskHandler.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskHandler.java
deleted file mode 100644
index 76a2cf5a0..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskHandler.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.ui.BugzillaOpenStructure;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUITools;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.ViewBugzillaAction;
-import org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaAction;
-import org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaReportsAction;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.actions.CopyDescriptionAction;
-import org.eclipse.mylar.tasklist.ui.actions.DeleteAction;
-import org.eclipse.mylar.tasklist.ui.actions.GoIntoAction;
-import org.eclipse.mylar.tasklist.ui.actions.OpenTaskEditorAction;
-import org.eclipse.mylar.tasklist.ui.actions.RemoveFromCategoryAction;
-import org.eclipse.mylar.tasklist.ui.actions.RenameAction;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class BugzillaTaskHandler implements ITaskHandler {
-
- public void itemDeleted(ITaskListElement element) {
- if (element instanceof BugzillaQueryCategory) {
- boolean deleteConfirmed = MessageDialog.openQuestion(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Confirm delete",
- "Delete the selected query and all contained tasks?");
- if (!deleteConfirmed)
- return;
- BugzillaQueryCategory query = (BugzillaQueryCategory) element;
- MylarTasklistPlugin.getTaskListManager().deleteQuery(query);
- } else if (element instanceof BugzillaTask) {
- BugzillaTask task = (BugzillaTask) element;
- if (task.isActive()) {
- MessageDialog.openError(Workbench.getInstance()
- .getActiveWorkbenchWindow().getShell(), "Delete failed",
- "Task must be deactivated in order to delete.");
- return;
- }
-
- String message = task.getDeleteConfirmationMessage();
- boolean deleteConfirmed = MessageDialog.openQuestion(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Confirm delete", message);
- if (!deleteConfirmed)
- return;
-
- task.removeReport();
- MylarTasklistPlugin.getTaskListManager().deleteTask(task);
- MylarPlugin.getContextManager().contextDeleted(task.getHandle(), task.getPath());
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- // if we couldn't get the page, get out of here
- if (page == null)
- return;
- try {
- TaskListView.getDefault().closeTaskEditors(task, page);
- } catch (Exception e) {
- MylarPlugin.log(e, " deletion failed");
- }
- }
- }
-
- public void taskCompleted(ITask task) {
- // TODO can't do this
- }
-
- public void itemOpened(ITaskListElement element) {
-
- boolean offline = MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.WORK_OFFLINE);
-
- if (element instanceof BugzillaTask) {
- BugzillaTask t = (BugzillaTask) element;
- MylarTasklistPlugin.ReportOpenMode mode = MylarTasklistPlugin.getDefault().getReportMode();
- if (mode == MylarTasklistPlugin.ReportOpenMode.EDITOR) {
- t.openTaskInEditor(offline);
- } else if (mode == MylarTasklistPlugin.ReportOpenMode.INTERNAL_BROWSER) {
- if(offline){
- MessageDialog.openInformation(null, "Unable to open bug", "Unable to open the selected bugzilla task since you are currently offline");
- return;
- }
- String title = "Bug #" + BugzillaTask.getBugId(t.getHandle());
- BugzillaUITools.openUrl(title, title, t.getBugUrl());
- } else {
- // not supported
- }
- } else if(element instanceof BugzillaCustomQuery){
- BugzillaCustomQuery queryCategory = (BugzillaCustomQuery)element;
- BugzillaCustomQueryDialog sqd = new BugzillaCustomQueryDialog(Display.getCurrent().getActiveShell(), queryCategory.getQueryString(), queryCategory.getDescription(false), queryCategory.getMaxHits()+"");
- if(sqd.open() == Dialog.OK){
- queryCategory.setDescription(sqd.getName());
- queryCategory.setQueryString(sqd.getUrl());
- int maxHits = -1;
- try{
- maxHits = Integer.parseInt(sqd.getMaxHits());
- } catch(Exception e){}
- queryCategory.setMaxHits(maxHits);
-
- new RefreshBugzillaAction(queryCategory).run();
- }
- }else if (element instanceof BugzillaQueryCategory){
- BugzillaQueryCategory queryCategory = (BugzillaQueryCategory)element;
- BugzillaQueryDialog sqd = new BugzillaQueryDialog(Display.getCurrent().getActiveShell(), queryCategory.getQueryString(), queryCategory.getDescription(false), queryCategory.getMaxHits()+"");
- if(sqd.open() == Dialog.OK){
- queryCategory.setDescription(sqd.getName());
- queryCategory.setQueryString(sqd.getUrl());
- int maxHits = -1;
- try{
- maxHits = Integer.parseInt(sqd.getMaxHits());
- } catch(Exception e){}
- queryCategory.setMaxHits(maxHits);
-
- new RefreshBugzillaAction(queryCategory).run();
- }
- } else if(element instanceof BugzillaHit){
- BugzillaHit hit = (BugzillaHit)element;
- MylarTasklistPlugin.ReportOpenMode mode = MylarTasklistPlugin.getDefault().getReportMode();
- if (mode == MylarTasklistPlugin.ReportOpenMode.EDITOR) {
- if(hit.hasCorrespondingActivatableTask()){
- hit.getAssociatedTask().openTaskInEditor(offline);
- } else {
- if(offline){
- MessageDialog.openInformation(null, "Unable to open bug", "Unable to open the selected bugzilla report since you are currently offline");
- return;
- }
- BugzillaOpenStructure open = new BugzillaOpenStructure(((BugzillaHit)element).getServerName(), ((BugzillaHit)element).getID(),-1);
- List<BugzillaOpenStructure> selectedBugs = new ArrayList<BugzillaOpenStructure>();
- selectedBugs.add(open);
- ViewBugzillaAction viewBugs = new ViewBugzillaAction("Display bugs in editor", selectedBugs);
- viewBugs.schedule();
- }
- } else if (mode == MylarTasklistPlugin.ReportOpenMode.INTERNAL_BROWSER) {
- if(offline){
- MessageDialog.openInformation(null, "Unable to open bug", "Unable to open the selected bugzilla report since you are currently offline");
- return;
- }
- String title = "Bug #" + BugzillaTask.getBugId(hit.getHandle());
- BugzillaUITools.openUrl(title, title, hit.getBugUrl());
- } else {
- // not supported
- }
- }
-
- }
-
- public boolean acceptsItem(ITaskListElement element) {
- return element instanceof BugzillaTask || element instanceof BugzillaHit || element instanceof BugzillaQueryCategory;
- }
-
- public void dropItem(ITaskListElement element, TaskCategory cat) {
- if (element instanceof BugzillaHit) {
- BugzillaHit bh = (BugzillaHit) element;
- if (bh.getAssociatedTask() != null) {
- bh.getAssociatedTask().setCategory(cat);
- cat.addTask(bh.getAssociatedTask());
- } else {
- BugzillaTask bt = new BugzillaTask(bh, true);
- bh.setAssociatedTask(bt);
- bt.setCategory(cat);
- cat.addTask(bt);
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry(bt);
- }
- }
- }
-
- public void taskClosed(ITask element, IWorkbenchPage page) {
- try{
- IEditorInput input = null;
- if (element instanceof BugzillaTask) {
- input = new BugzillaTaskEditorInput((BugzillaTask)element, true);
- }
- IEditorPart editor = page.findEditor(input);
-
- if (editor != null) {
- page.closeEditor(editor, false);
- }
- } catch (Exception e){
- MylarPlugin.log(e, "Error while trying to close a bugzilla task");
- }
- }
-
- public ITask taskAdded(ITask newTask) {
- if(newTask instanceof BugzillaTask){
- BugzillaTask bugTask = BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().getFromBugzillaTaskRegistry(newTask.getHandle());
- if(bugTask == null){
- BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry((BugzillaTask)newTask);
- bugTask = (BugzillaTask)newTask;
- }
- return bugTask;
- }
- return null;
- }
-
- public void restoreState(TaskListView taskListView) {
- if (BugzillaPlugin.getDefault().refreshOnStartUpEnabled()) {
- RefreshBugzillaReportsAction refresh = new RefreshBugzillaReportsAction();
- refresh.setShowProgress(false);
- refresh.run();
- refresh.setShowProgress(true);
- }
- }
-
- public boolean enableAction(Action action, ITaskListElement element) {
-
- if(element instanceof BugzillaHit){
- return false;
- } else if(element instanceof BugzillaTask){
- if(action instanceof DeleteAction || action instanceof CopyDescriptionAction || action instanceof OpenTaskEditorAction || action instanceof RemoveFromCategoryAction){
- return true;
- } else {
- return false;
- }
- } else if(element instanceof BugzillaQueryCategory){
- if(action instanceof DeleteAction || action instanceof CopyDescriptionAction || action instanceof OpenTaskEditorAction || action instanceof RenameAction){
- return true;
- } else if(action instanceof GoIntoAction){
- BugzillaQueryCategory cat = (BugzillaQueryCategory) element;
- if(cat.getChildren().size() > 0){
- return true;
- }
- } else {
- return false;
- }
- }
- return false;
- }
-
- public void itemRemoved(ITaskListElement element, ITaskListCategory category) {
- if (element instanceof BugzillaTask){
- BugzillaTask task = (BugzillaTask) element;
- if (category != null) {
- category.removeTask(task);
- } else {
- String message = task.getDeleteConfirmationMessage();
- boolean deleteConfirmed = MessageDialog.openQuestion(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Confirm delete", message);
- if (!deleteConfirmed)
- return;
- MylarTasklistPlugin.getTaskListManager().deleteTask(task);
- }
- }
- }
-
- public ITask dropItemToPlan(ITaskListElement element) {
- if(element instanceof BugzillaHit){
- BugzillaHit hit = (BugzillaHit) element;
- return hit.getOrCreateCorrespondingTask();
- } else if(element instanceof BugzillaTask){
- return (ITask) element;
- } else {
- return null;
- }
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskListManager.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskListManager.java
deleted file mode 100644
index 333a8a33c..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTaskListManager.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.core.IOfflineBugListener;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask.BugReportSyncState;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class BugzillaTaskListManager implements IOfflineBugListener {
-
- private Map<String, BugzillaTask> bugzillaTaskRegistry = new HashMap<String, BugzillaTask>();
-
- private TaskCategory cat = null;
-
- // XXX we never delete anything from this registry
-
- public void addToBugzillaTaskRegistry(BugzillaTask task){
- if(bugzillaTaskRegistry.get(task.getHandle()) == null){
- bugzillaTaskRegistry.put(task.getHandle(), task);
- if(cat != null){
- cat.internalAddTask(task);
- }
- }
- }
-
- public BugzillaTask getFromBugzillaTaskRegistry(String handle){
- return bugzillaTaskRegistry.get(handle);
- }
-
- public Map<String, BugzillaTask> getBugzillaTaskRegistry(){
- return bugzillaTaskRegistry;
- }
-
- public void setTaskRegistyCategory(TaskCategory cat) {
- this.cat = cat;
- }
-
- public void offlineStatusChange(IBugzillaBug bug, BugzillaOfflineStaus status) {
- BugReportSyncState state = null;
- if(status == BugzillaOfflineStaus.SAVED_WITH_OUTGOING_CHANGES){
- state = BugReportSyncState.OUTGOING;
- } else if(status == BugzillaOfflineStaus.SAVED){
- state = BugReportSyncState.OK;
- }else if(status == BugzillaOfflineStaus.SAVED_WITH_INCOMMING_CHANGES){
- state = BugReportSyncState.INCOMMING;
- }else if(status == BugzillaOfflineStaus.CONFLICT){
- state = BugReportSyncState.CONFLICT;
- }
- if(state == null){
- // this means that we got a status that we didn't understand
- return;
- }
-
- String handle = BugzillaTask.getHandle(bug);
- ITask task = MylarTasklistPlugin.getTaskListManager().getTaskForHandle(handle, true);
- if(task != null && task instanceof BugzillaTask){
- BugzillaTask bugTask = (BugzillaTask) task;
- bugTask.setSyncState(state);
- if(TaskListView.getDefault() != null && TaskListView.getDefault().getViewer() != null && !TaskListView.getDefault().getViewer().getControl().isDisposed()){
- TaskListView.getDefault().getViewer().refresh();
- }
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTasksTools.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTasksTools.java
deleted file mode 100644
index 9be7de674..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/BugzillaTasksTools.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Jan 13, 2005
- */
-package org.eclipse.mylar.bugzilla.ui.tasklist;
-
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.internal.HtmlStreamTokenizer;
-
-
-/**
- * @author Mik Kersten
- * @author Eric Booth
- */
-public class BugzillaTasksTools {
-
- /**
- * @return String containing bug priority and label, e.g. "[12345] P2: fix failing test"
- */
- public static String getBugzillaDescription(BugzillaTask bugTask) {
- if (bugTask == null) return "<no info>";
-
- String prefix = //((bugTask.isDirty()) ? ">" : "") +
- BugzillaTask.getBugId(bugTask.getHandle()) + ": ";
-
- if (bugTask.getState() == BugzillaTask.BugTaskState.DOWNLOADING) {
- return prefix + "<Downloading bug report from server...>";
- } else if (bugTask.getState() == BugzillaTask.BugTaskState.OPENING) {
- return prefix + "<Opening bug report in editor...>";
- } else if (bugTask.getState() == BugzillaTask.BugTaskState.COMPARING) {
- return prefix + "<Comparing bug report with server...>";
- } else if (bugTask.getState() == BugzillaTask.BugTaskState.WAITING) {
- return prefix + "<Waiting to check server...>";
- }
-
- // generate the label
- if (bugTask.isBugDownloaded()) {
- BugReport report = bugTask.getBugReport();
- return HtmlStreamTokenizer.unescape(prefix + report.getSummary());
- }
- else {
- return prefix + "<Could not find bug>";
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/StackTrace.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/StackTrace.java
deleted file mode 100644
index 16f5fd872..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasklist/StackTrace.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * 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.bugzilla.ui.tasklist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Class to hold all of the information about a stack trace
- *
- * @author Shawn Minto
- */
-public class StackTrace {
-
- /** The length of the stack trace in the original string */
- private int length;
-
- /** The offset of the stack trace in the orignal string */
- private int offset;
-
- /** The string of the stack trace */
- private String stackTrace;
-
- /** This is the comment that the stack trace appeared in. String if desciption else Comment */
- private Object comment;
-
- /**
- * Constructor
- *
- * @param stackTrace
- * The stack trace string
- * @param offset
- * The offset of the stack trace in the original string
- * @param length
- * The length of the stack trace in the original string
- * @param comment
- * The comment that the stack trace came from
- */
- public StackTrace(String stackTrace, int offset, int length, Object comment) {
- this.stackTrace = stackTrace;
- this.offset = offset;
- this.length = length;
- this.comment = comment;
- }
-
- /**
- * Get the offset for the stack trace
- *
- * @return Returns the offset.
- */
- public int getOffset() {
- return offset;
- }
-
- /**
- * Get the stack trace for the bug
- *
- * @return Returns the stackTrace.
- */
- public String getStackTrace() {
- return stackTrace;
- }
-
- /**
- * Get the length of the bug
- *
- * @return Returns the length.
- */
- public int getLength() {
- return length;
- }
-
- /**
- * Get the Comment that this stack trace came from
- *
- * @return Returns the Comment if it was a comment else a String if it was the description
- */
- public Object getComment() {
- return comment;
- }
-
- /**
- * Find a standard java stack trace in the given string
- *
- *
- * @param s
- * The string to search for stack traces
- * @param comment
- * The comment that the text came from.<br>
- * Comment if a comment else a String
- * @return String[] of stack traces - each element is 1 trace
- */
- public static StackTrace[] getStackTrace(String s, Object comment) {
-
- // setup the regex used to determine if it looks like we are at a
- // stack trace and whether it is something that should be skipped
- String regexExceptionType = "^(.*\\.)+.+(Exception|Error|Throwable).*";
- String regexSkip = ".*\\.\\..*";
-
- // get all of the individual lines for the string
- String[] lines = s.split("\r\n");
-
- // the character start of the current stack trace
- int charStackStart = 0;
-
- // the current character in the string - used for the start and the
- // offset
- int[] charPos = { 0 }; // array so pass by reference
-
- boolean inStackTrace = false;
- List<String> stackTrace = null;
- List<StackTrace> stackTraces = new ArrayList<StackTrace>();
-
- // go through each of the lines of the string
- for (int i = 0; i < lines.length; i++) {
-
- if (lines[i].matches(regexSkip)){
-
- // update the current character position
- charPos[0] += lines[i].length() + 2;
-
- }else if (lines[i].trim().matches(regexExceptionType) && !inStackTrace) {
-
- // we have matched the stack trace and we are not already in one
-
- // add the old stack trace to the list of stack traces
- if (stackTrace != null && stackTrace.size() > 1) {
- stackTraces.add(getStackTrace(stackTrace, charStackStart,
- charPos[0] - charStackStart, comment));
- }
-
- // prepare for a new stack trace
- stackTrace = new ArrayList<String>();
- inStackTrace = true;
-
- // the current line is the start of our stack trace
- stackTrace.add(lines[i]);
- charStackStart = charPos[0];
- charPos[0] += lines[i].length() + 2;
- } else if (inStackTrace) {
- // we are in a stack trace
-
- int[] pos = { i }; // array so pass by reference
-
- // get the next at clause of the stack trace
- String stack = getNextAt(lines, pos, charPos);
-
- // check if there was an at
- if (stack == null) {
-
- // there wasn't so we are done this stack trace
- inStackTrace = false;
- if (stackTrace != null && stackTrace.size() > 1) {
- stackTraces.add(getStackTrace(stackTrace,
- charStackStart, charPos[0] - charStackStart, comment));
- }
- stackTrace = null;
- } else {
-
- // we had one, so add it to this stack trace
- stackTrace.add(stack);
- }
-
- // update the position
- i = pos[0];
- } else {
- // update the current character position
- charPos[0] += lines[i].length() + 2;
- }
- }
-
- // make sure to add the stack trace if it was the last in the string
- if (stackTrace != null && stackTrace.size() > 1) {
- stackTraces.add(getStackTrace(stackTrace, charStackStart,
- charPos[0] - charStackStart, comment));
- }
-
- if (stackTraces.size() == 0)
- return null;
-
- // get the string values of the stack traces and return it
- return getTracesFromList(stackTraces);
- }
-
- /**
- * Get the next at clause from a potential stack trace -- looks ahead 4
- * lines
- *
- * @param lines
- * The array of all of the lines in the bug
- * @param i
- * The current position to start at
- * @param charPos
- * The current character position in the original string
- * @return The next at clause, or <code>null</code><br>
- * If an at line is matched, but the end isn't within the 4 lines,
- * only the first line is returned. Also, charPos is updated as well
- * as i
- */
- private static String getNextAt(String[] lines, int[] i, int[] charPos) {
- String regexAtString = "^at.*";
- String regexEndString = ".*:\\d+\\)$";
- int index = i[0];
- String l1, l2, l3, l4;
- l1 = l2 = l3 = l4 = null;
- String res = null;
-
- // get the first line to look at
- if (lines.length > index) {
- l1 = lines[index];
- } else {
- // if the first line doesn't exist, we are done and should
- // return
- return null;
- }
-
- // get the next 3 lines
- if (lines.length > index + 1) {
- l2 = lines[index + 1];
- }
- if (lines.length > index + 2) {
- l3 = lines[index + 2];
- }
- if (lines.length > index + 3) {
- l4 = lines[index + 3];
- }
-
- // make sure that the first line is the start of an at
- // if not, return null
- if (l1.trim().matches(regexAtString)) {
- charPos[0] += l1.length() + 2;
- res = l1;
- } else
- return null;
-
- // now determine where the end is if it wasn't on 1 line
- if (!res.trim().matches(regexEndString)) {
-
- if (l2 != null && l2.trim().matches(regexEndString)) {
-
- // it was on the second line
- // update the current position and the result string
- i[0] = index + 1;
- charPos[0] += l2.length() + 2;
- res += l2.trim();
- } else if (l3 != null && l3.trim().matches(regexEndString)) {
-
- // it was on the third line
- // update the current position and the result string
- i[0] = index + 2;
- charPos[0] += l2.length() + l3.length() + 4;
- res += l2.trim();
- res += l3.trim();
- } else if (l4 != null && l4.trim().matches(regexEndString)) {
-
- // it was on the fourth line
- // update the current position and the result string
- i[0] = index + 3;
- charPos[0] += l2.length() + l3.length() + l4.length() + 6;
- res += l2.trim();
- res += l3.trim();
- res += l4.trim();
- }
- }
-
- // return the result
- return res;
- }
-
- /**
- * Get the StackTrace
- *
- * @param l
- * the list of lines that contain the trace
- * @param start
- * the start of the stack trace
- * @param offset
- * the offset of the stack trace
- * @param comment
- * The comment that the stack trace came from
- * @return The StackTrace for the given data
- */
- private static StackTrace getStackTrace(List<String> l, int offset, int length, Object comment) {
- String s = "";
- for(String s2 : l) {
- s += s2 + "\r\n";
- }
-
- return new StackTrace(s, offset, length, comment);
- }
-
- /**
- * Convert a List StackTraces to a StackTrace[] <br>
- *
- * @param l
- * The List of StackTraces
- * @return StackTrace[] of the List
- */
- private static StackTrace[] getTracesFromList(List<StackTrace> l) {
-
- // make sure that there is something to convert, else return null
- if (l == null || l.size() == 0)
- return null;
-
- // convert the list of strings to an array of strings
- int i = 0;
- StackTrace[] s = new StackTrace[l.size()];
-
- for(StackTrace st : l) {
- s[i] = st;
- i++;
- }
-
- // return the string array
- return s;
- }
-
- /**
- * Escape all of the special regex characters from the string
- *
- * @param s
- * The string to escape the characters for
- * @return A string with all of the special characters escaped <br>
- * <code>
- * . => \.<br>
- * $ => \$<br>
- * ? => \?<br>
- * { => \{<br>
- * } => \}<br>
- * ( => \(<br>
- * ) => \)<br>
- * [ => \[<br>
- * ] => \]<br>
- * + => \+<br>
- * * => \*<br>
- * | => \|<br>
- * ^ => \^<br>
- * \ => \\<br>
- * / => \/<br>
- * </code>
- */
- public static String escapeForRegex(String s) {
- String sFixed = s;
-
- // replace all special regex characters
- sFixed = sFixed.replaceAll("\\\\", "\\\\\\\\");
- sFixed = sFixed.replaceAll("\\$", "\\\\\\$");
- sFixed = sFixed.replaceAll("\\.", "\\\\.");
- sFixed = sFixed.replaceAll("\\?", "\\\\?");
- sFixed = sFixed.replaceAll("\\{", "\\\\{");
- sFixed = sFixed.replaceAll("\\}", "\\\\}");
- sFixed = sFixed.replaceAll("\\(", "\\\\(");
- sFixed = sFixed.replaceAll("\\)", "\\\\)");
- sFixed = sFixed.replaceAll("\\[", "\\\\[");
- sFixed = sFixed.replaceAll("\\]", "\\\\]");
- sFixed = sFixed.replaceAll("\\+", "\\\\+");
- sFixed = sFixed.replaceAll("\\*", "\\\\*");
- sFixed = sFixed.replaceAll("\\|", "\\\\|");
- sFixed = sFixed.replaceAll("\\^", "\\\\^");
- sFixed = sFixed.replaceAll("\\/", "\\\\/");
-
- return sFixed;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractBugWizard.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractBugWizard.java
deleted file mode 100644
index 80120b30d..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractBugWizard.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.wizard;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.Iterator;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.BugPost;
-import org.eclipse.mylar.bugzilla.core.BugzillaException;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.core.PossibleBugzillaFailureException;
-import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin;
-import org.eclipse.mylar.bugzilla.ui.WebBrowserDialog;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.mylar.bugzilla.ui.editor.ExistingBugEditorInput;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.search.internal.ui.SearchMessages;
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.progress.IProgressService;
-
-
-/**
- * Class that contains shared functions for the wizards that submit bug reports.
- *
- * @author Eric Booth
- */
-public abstract class AbstractBugWizard extends Wizard implements INewWizard {
-
- protected boolean fromDialog = false;
-
- /** The model used to store all of the data for the wizard */
- protected NewBugModel model;
-
- /**
- * Flag to indicate if the wizard can be completed based on the attributes
- * page
- */
- protected boolean attributeCompleted = false;
-
- /** The workbench instance */
- protected IWorkbench workbenchInstance;
-
- /** The ID of the posted bug report. */
- private String id;
-
- /**
- * Constructor for AbstractBugWizard
- */
- public AbstractBugWizard() {
- super();
- model = new NewBugModel();
- id = null; // Since there is no bug posted yet.
- super.setDefaultPageImageDescriptor(BugzillaUiPlugin.imageDescriptorFromPlugin("org.eclipse.mylar.bugzilla.ui", "icons/wizban/bug-wizard.gif"));
- setForcePreviousAndNextButtons(true);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
- * org.eclipse.jface.viewers.IStructuredSelection)
- */
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- this.workbenchInstance = workbench;
- }
-
- @Override
- public void addPages() {
- try {
- // check Bugzilla preferences to see if user has supplied a username
- if (BugzillaPreferences.getUserName().equals(""))
- throw new LoginException(
- "A Bugzilla User Name has not been provided."
- + " Please check your Bugzilla Preferences information.");
- // Each wizard has its own way of creating and adding the page
- addPagesHelper();
- } catch (LoginException e) {
- MessageDialog.openError(Display.getDefault().getActiveShell(), "Posting Error",
- "Cannot proceed because your login name or password is incorrect."
- + "\nPlease check your settings in the Bugzilla preferences. ");
- } catch (Exception e) {
- BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(e, "occurred.", "Bugzilla Error");
- }
- }
-
- /**
- * A helper function for "addPages" that creates and adds the first page to
- * the wizard
- *
- * @throws Exception
- */
- abstract protected void addPagesHelper() throws Exception;
-
- /**
- * A helper function for "canFinish" (implemented in the individual wizard
- * classes)
- *
- * @param dataPage
- * The first page in the wizard, casted as an
- * AbstractWizardListPage.
- * @return true if the wizard could be finished, and false otherwise
- */
- public boolean canFinishHelper(AbstractWizardListPage dataPage) {
- // cannot complete the wizard from the first page
- if (this.getContainer().getCurrentPage() == dataPage)
- return false;
- else
- return attributeCompleted;
- }
-
- @Override
- public boolean performFinish() {
- if (getWizardDataPage().serverSelected()) {
- getWizardDataPage().saveDataToModel();
- // If the bug report is sent successfully,
- // then close the wizard and open the bug in an editor
- if (postBug()) {
- if(!fromDialog) openBugEditor();
- return true;
- }
- // If the report was not sent, keep the wizard open
- else {
- return false;
- }
- }
-
- if (getWizardDataPage().offlineSelected()) {
- saveBugOffline();
- return true;
- }
-
- // If no action was selected, keep the wizard open.
- return false;
- }
-
- // Flag to indicate if the bug was successfully sent
- private boolean sentSuccessfully = false;
-
- /**
- * Attempts to post the bug on the Bugzilla server. If it fails, an error
- * message pops up.
- *
- * @return true if the bug is posted successfully, and false otherwise
- */
- protected boolean postBug() {
- final WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
- protected void execute(final IProgressMonitor monitor) throws CoreException {
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable(){
- public void run() {
- BugPost form = new BugPost();
- form.setPrefix("Bug ");
- form.setPostfix1(" posted");
- form.setPostfix2(" Submitted");
-
- try {
- setURL(form, "post_bug.cgi");
- // go through all of the attributes and add them to the bug post
- Iterator<Attribute> itr = model.getAttributes().iterator();
- while (itr.hasNext()) {
- Attribute a = itr.next();
- if (a != null && a.getParameterName() != null
- && a.getParameterName().compareTo("") != 0
- && !a.isHidden()) {
- String key = a.getName();
- String value = null;
-
- // get the values from the attribute
- if (key.equalsIgnoreCase("OS")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Version")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Severity")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Platform")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Component")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Priority")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("URL")) {
- value = a.getValue();
- } else if (key.equalsIgnoreCase("Assign To") || key.equalsIgnoreCase("Assigned To")) {
- value = a.getValue();
- }
-
- // add the attribute to the bug post
- if (value == null)
- value = "";
-
- form.add(a.getParameterName(), value);
- } else if (a != null && a.getParameterName() != null
- && a.getParameterName().compareTo("") != 0
- && a.isHidden()) {
- // we have a hidden attribute, add it to the posting
- form.add(a.getParameterName(), a.getValue());
-
- }
-
- }
-
- // set the summary, and description
-
- // add the summary to the bug post
- form.add("short_desc", model.getSummary());
-
- // format the description of the bug so that it is roughly in 80
- // character lines
- formatDescription();
-
- if (model.getDescription().length() != 0) {
- // add the new comment to the bug post if there is some text in
- // it
- form.add("comment", model.getDescription());
- }
-
- // update the bug on the server
- try {
- id = form.post();
-
- if (id != null) {
- sentSuccessfully = true;
- }
-
- } catch (BugzillaException e) {
- MessageDialog
- .openError(
- null,
- "I/O Error",
- "Bugzilla could not post your bug.");
- BugzillaPlugin.log(e);
- } catch (PossibleBugzillaFailureException e) {
- WebBrowserDialog
- .openAcceptAgreement(
- null,
- "Possible Bugzilla Failure",
- "Bugzilla may not have posted your bug.\n" + e.getMessage(), form.getError());
- BugzillaPlugin.log(e);
- } catch (LoginException e) {
- // if we had an error with logging in, display an error
- MessageDialog
- .openError(
- null,
- "Posting Error",
- "Bugzilla could not post your bug since your login name or password is incorrect."
- + "\nPlease check your settings in the bugzilla preferences. ");
- sentSuccessfully = false;
- }
- } catch (MalformedURLException e) {
- MessageDialog
- .openError(
- null,
- "Unsupported Protocol",
- "The server that was specified for Bugzilla is not supported by your JVM."
- + "\nPlease make sure that you are using a JDK that supports SSL.");
- BugzillaPlugin.log(e);
- sentSuccessfully = false;
- }
- }
-
- });
- }
- };
-
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- try {
- service.run(false, false, op);
- } catch (Exception e) {
- MylarPlugin.log(e, "Unable to submit bug");
- }
- return sentSuccessfully;
- }
-
- /**
- * Try to open the editor with the newly created bug.
- */
- protected void openBugEditor() {
-
- IEditorInput input = null;
- try {
- input = new ExistingBugEditorInput(Integer.parseInt(id));
- BugzillaPlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().openEditor(
- input, IBugzillaConstants.EXISTING_BUG_EDITOR_ID, false);
- } catch (LoginException e) {
- // if we had an error with logging in, display an error
- MessageDialog.openError(null, "Posting Error",
- "Bugzilla could not access and display your bug in the editor because your login name or password is incorrect."
- + "\nPlease check your settings in the bugzilla preferences. ");
- } catch (PartInitException e) {
- // if there was a problem, handle it and log it, then get out of
- // here
- ExceptionHandler.handle(e, SearchMessages.Search_Error_search_title, SearchMessages.Search_Error_search_message);
- BugzillaPlugin.log(e.getStatus());
- } catch (IOException e) {
- BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(e, "occurred while opening the bug report.", "Bugzilla Error");
- }
- }
-
- /**
- * Saves the bug report offline on the user's hard-drive. All offline bug
- * reports are saved together in a single file in the plug-in's directory.
- */
- abstract protected void saveBugOffline();
-
- /**
- * Function to set the url to post the bug to.
- *
- * @param form
- * A reference to a BugPost that the bug is going to be posted to
- * @param formName
- * The form that we wish to use to submit the bug
- */
- protected void setURL(BugPost form, String formName)
- throws MalformedURLException {
-
- String baseURL = BugzillaPlugin.getDefault().getServerName();
- if (!baseURL.endsWith("/"))
- baseURL += "/";
- form.setURL(baseURL + formName);
-
- // add the login information to the bug post
- form.add("Bugzilla_login", BugzillaPreferences.getUserName());
- form.add("Bugzilla_password", BugzillaPreferences.getPassword());
- }
-
- /**
- * Format the description into lines of about 80 characters so that it is
- * displayed properly in bugzilla
- */
- protected void formatDescription() {
- String origDesc = model.getDescription();
- String[] descArray = new String[(origDesc.length() / AbstractBugEditor.WRAP_LENGTH + 1) * 2];
- for (int i = 0; i < descArray.length; i++)
- descArray[i] = null;
- int j = 0;
- while (true) {
- int spaceIndex = origDesc.indexOf(" ", AbstractBugEditor.WRAP_LENGTH-5);
- if (spaceIndex == origDesc.length() || spaceIndex == -1) {
- descArray[j] = origDesc;
- break;
- }
- descArray[j] = origDesc.substring(0, spaceIndex);
- origDesc = origDesc.substring(spaceIndex + 1, origDesc.length());
- j++;
- }
-
- String newDesc = "";
-
- for (int i = 0; i < descArray.length; i++) {
- if (descArray[i] == null)
- break;
- newDesc += descArray[i] + "\n";
- }
- model.setDescription(newDesc);
-
- }
-
- public String getId() {
- return id;
- }
-
- /**
- * @return the last page of this wizard
- */
- abstract protected AbstractWizardDataPage getWizardDataPage();
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardDataPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardDataPage.java
deleted file mode 100644
index 88ca2d0c1..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardDataPage.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.wizard;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.mylar.bugzilla.core.Attribute;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-
-
-/**
- * Class that contains shared functions for the last page of the wizards that
- * submit bug reports. This page allows the user to set the bug report's
- * attributes before submitting it.
- */
-public abstract class AbstractWizardDataPage extends WizardPage implements
- Listener {
-
- /** The instance of the workbench */
- protected IWorkbench workbench;
-
- /** Text field for the bugs url */
- protected Text urlText;
-
- /** Text field for the description of the bug */
- protected Text descriptionText;
-
- /** Text field for the summary of the bug */
- protected Text summaryText;
-
- /** Text field for the assignedTo of the bug */
- protected Text assignedToText;
-
- /** Radio button to select when sending the new bug report to the server */
- protected Button serverButton;
-
- /** Radio button to select when saving the new bug report offline */
- protected Button offlineButton;
-
- /** Combo box for the component that caused the bug */
- protected Combo componentCombo;
-
- /** Combo box for the priority of the bug */
- protected Combo priorityCombo;
-
- /** Combo box for the platform the bug occurred on */
- protected Combo platformCombo;
-
- /** Combo box for the severity of the bug */
- protected Combo severityCombo;
-
- /** Combo box for the products version */
- protected Combo versionCombo;
-
- /** Combo box for the OS that the bug occurred under */
- protected Combo oSCombo;
-
- /** Enum for value */
- protected final String VALUE = "VALUE";
-
- /** Enum for property */
- protected final String PROPERTY = "PROPERTY";
-
- /** Enum for header */
- protected final String HEADER = "HEADER";
-
- /** The horizontal indentation of the labels */
- protected final int HORZ_INDENT = 0;
-
- /** Status variable for the possible errors on this page */
- protected IStatus attributeStatus;
-
- /**
- * Constructor for AbstractWizardDataPage
- *
- * @param pageName
- * the name of the page
- * @param title
- * the title of the page
- * @param description
- * the description text for the page
- * @param workbench
- * the instance of the workbench
- */
- public AbstractWizardDataPage(String pageName, String title,
- String description, IWorkbench workbench) {
- super(pageName);
- setTitle(title);
- setDescription(description);
- this.workbench = workbench;
-
- // set the status for the page
- attributeStatus = new Status(IStatus.OK, "not_used", 0, "", null);
- }
-
- /**
- * Applies the status to the status line of a dialog page.
- *
- * @param status
- * The status to apply to the status line
- */
- protected void applyToStatusLine(IStatus status) {
- String message = status.getMessage();
- if (message.length() == 0)
- message = null;
- switch (status.getSeverity()) {
- case IStatus.OK:
- setErrorMessage(null);
- setMessage(message);
- break;
- case IStatus.WARNING:
- setErrorMessage(null);
- setMessage(message, WizardPage.WARNING);
- break;
- case IStatus.INFO:
- setErrorMessage(null);
- setMessage(message, WizardPage.INFORMATION);
- break;
- default:
- setErrorMessage(null);
- setMessage(message, WizardPage.ERROR);
- break;
- }
- }
-
- /**
- * Make sure that a String that is <code>null</code> is changed to a null
- * string
- *
- * @param text
- * The text to check if it is null or not
- * @return The string in its proper format
- */
- public String checkText(String text) {
- if (text == null)
- return "";
- else
- return text;
- }
-
- @Override
- public boolean canFlipToNextPage() {
- // no next page for this path through the wizard
- return false;
- }
-
- /**
- * Create a new layout for a component
- *
- * @param composite
- * The parent composite
- * @param colSpan
- * The number of columns that this can span
- * @param text
- * The text to add to the control
- * @param style
- * The style that the control should have
- */
- public void newLayout(Composite composite, int colSpan, String text,
- String style) {
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- data.horizontalSpan = colSpan;
-
- // create the proper layout for the style
- if (style.equalsIgnoreCase(VALUE)) {
- Label l = new Label(composite, SWT.NONE);
- FontData fontData = l.getFont().getFontData()[0];
- fontData.setStyle(SWT.BOLD | fontData.getStyle());
- Font font = new Font(null, fontData);
- l.setFont(font);
- l.setText(checkText(text));
-
- data.horizontalIndent = HORZ_INDENT;
- l.setLayoutData(data);
- } else if (style.equalsIgnoreCase(PROPERTY)) {
- Label l = new Label(composite, SWT.NONE);
- FontData fontData = l.getFont().getFontData()[0];
- fontData.setStyle(SWT.BOLD | fontData.getStyle());
- Font font = new Font(null, fontData);
- l.setFont(font);
- l.setText(checkText(text));
-
- data.horizontalIndent = HORZ_INDENT;
- l.setLayoutData(data);
- } else {
- Composite generalTitleGroup = new Composite(composite, SWT.NONE);
- generalTitleGroup.setLayoutData(new GridData(
- GridData.FILL_HORIZONTAL));
- generalTitleGroup.setLayoutData(data);
- GridLayout generalTitleLayout = new GridLayout();
- generalTitleLayout.numColumns = 2;
- generalTitleLayout.marginWidth = 0;
- generalTitleLayout.marginHeight = 9;
- generalTitleGroup.setLayout(generalTitleLayout);
-
- Label image = new Label(generalTitleGroup, SWT.NONE);
- image.setImage(WorkbenchImages.getImage(
- IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM));
-
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
- image.setLayoutData(gd);
- Label l = new Label(composite, SWT.NONE);
- FontData fontData = l.getFont().getFontData()[0];
- fontData.setStyle(SWT.BOLD | fontData.getStyle());
- Font font = new Font(null, fontData);
- l.setFont(font);
- l.setText(checkText(text));
-
- data.horizontalIndent = HORZ_INDENT;
- l.setLayoutData(data);
- }
- }
-
- /**
- * Determine if the page is complete when the summary is changed
- *
- * @param e
- * The event which occurred
- */
- public void handleEvent(Event e) {
- boolean pageComplete = isPageComplete();
-
- // Initialize a variable with the no error status
- Status status = new Status(IStatus.OK, "not_used", 0, "", null);
-
- setPageComplete(pageComplete);
-
- if (!pageComplete)
- status = new Status(IStatus.ERROR, "not_used", 0,
- "You must enter a summary and a description", null);
-
- attributeStatus = status;
-
- // Show the most serious error
- applyToStatusLine(attributeStatus);
-
- setPageComplete(pageComplete);
- getWizard().getContainer().updateButtons();
- }
-
- @Override
- public IWizardPage getNextPage() {
- saveDataToModel();
- return null;
- }
-
- /**
- * Sets the completed field on the wizard class when all the needed
- * information is entered and the wizard can be completed
- *
- * @return true if the wizard can be completed, false otherwise
- */
- @Override
- public boolean isPageComplete() {
- AbstractBugWizard wizard = (AbstractBugWizard) getWizard();
- if (summaryText.getText() == null || summaryText.getText().equals("")
- || descriptionText.getText() == null
- || descriptionText.getText().equals("")) {
- wizard.attributeCompleted = false;
- return false;
- }
- saveDataToModel();
- return true;
- }
-
- /**
- * Save the data obtained from this point in the wizard to the model.
- */
- public void saveDataToModel() {
- // get the model that we are using
- AbstractBugWizard wizard = (AbstractBugWizard) getWizard();
- NewBugModel nbm = wizard.model;
-
- nbm.setDescription(descriptionText.getText());
- nbm.setSummary(summaryText.getText());
-
- // go through each of the attributes and sync their values with the
- // combo boxes
- for (Iterator<Attribute> it = nbm.getAttributes().iterator(); it.hasNext();) {
- Attribute attribute = it.next();
- String key = attribute.getName();
- Map<String, String> values = attribute.getOptionValues();
-
- if (values == null)
- values = new HashMap<String, String>();
-
- if (key.equals("OS")) {
- String os = oSCombo.getItem(oSCombo.getSelectionIndex());
- attribute.setValue(os);
- } else if (key.equals("Version")) {
- String version = versionCombo.getItem(versionCombo
- .getSelectionIndex());
- attribute.setValue(version);
- } else if (key.equals("Severity")) {
- String severity = severityCombo.getItem(severityCombo
- .getSelectionIndex());
- attribute.setValue(severity);
- } else if (key.equals("Platform")) {
- String platform = platformCombo.getItem(platformCombo
- .getSelectionIndex());
- attribute.setValue(platform);
- } else if (key.equals("Component")) {
- String component = componentCombo.getItem(componentCombo
- .getSelectionIndex());
- attribute.setValue(component);
- } else if (key.equals("Priority")) {
- String priority = priorityCombo.getItem(priorityCombo
- .getSelectionIndex());
- attribute.setValue(priority);
- } else if (key.equals("URL")) {
- String url = urlText.getText();
- if (url.equalsIgnoreCase("http://"))
- url = "";
- attribute.setValue(url);
- } else if (key.equals("Assign To")) {
- String assignTo = assignedToText.getText();
- attribute.setValue(assignTo);
- }else {
- // do nothing
- }
- }
- wizard.attributeCompleted = true;
- }
-
- @Override
- protected void setControl(Control c) {
- super.setControl(c);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- // whether the priority exists or not
- boolean priExist = false;
-
- String url = null;
-
- // get the model for the new bug
- AbstractBugWizard wizard = (AbstractBugWizard) getWizard();
- NewBugModel nbm = wizard.model;
-
- // Attributes Composite- this holds all the combo fields and text
- // fields
- Composite attributesComposite = new Composite(parent, SWT.NONE);
- GridLayout attributesLayout = new GridLayout();
- attributesLayout.numColumns = 4;
- attributesLayout.horizontalSpacing = 14;
- attributesLayout.verticalSpacing = 6;
- attributesComposite.setLayout(attributesLayout);
-
- GridData attributesData = new GridData(GridData.FILL_BOTH);
- attributesData.horizontalSpan = 1;
- attributesData.grabExcessVerticalSpace = false;
- attributesComposite.setLayoutData(attributesData);
- // End Attributes Composite
-
- GridLayout attributesTitleLayout = new GridLayout();
- attributesTitleLayout.horizontalSpacing = 0;
- attributesTitleLayout.marginWidth = 0;
-
- GridData attributesTitleData = new GridData(
- GridData.HORIZONTAL_ALIGN_FILL);
- attributesTitleData.horizontalSpan = 4;
-
- attributesTitleData.grabExcessVerticalSpace = false;
-
- // Add the product to the composite
- newLayout(attributesComposite, 1, "Product", PROPERTY);
- newLayout(attributesComposite, 1, nbm.getProduct(), VALUE);
-
- // Populate Attributes
- for (Iterator<Attribute> it = nbm.getAttributes().iterator(); it.hasNext();) {
- Attribute attribute = it.next();
- String key = attribute.getParameterName();
- String name = attribute.getName();
- String value = checkText(attribute.getValue());
- Map<String, String> values = attribute.getOptionValues();
-
- // if it is a hidden field, don't try to display it
- if (attribute.isHidden())
- continue;
-
- if (key == null)
- key = "";
-
- if (values == null)
- values = new HashMap<String, String>();
-
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- data.horizontalSpan = 1;
- data.horizontalIndent = HORZ_INDENT;
-
- // create and populate the combo fields for the attributes
- if (key.equals("op_sys")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- oSCombo = new Combo(attributesComposite, SWT.NO_BACKGROUND
- | SWT.MULTI | SWT.V_SCROLL | SWT.READ_ONLY);
-
- oSCombo.setLayoutData(data);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- for (int i = 0; i < a.length; i++) {
- oSCombo.add(a[i]);
- }
- int index;
- if ((index = oSCombo.indexOf(value)) == -1)
- index = 0;
- oSCombo.select(index);
- oSCombo.addListener(SWT.Modify, this);
- } else if (key.equals("version")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
-
- versionCombo = new Combo(attributesComposite, SWT.NO_BACKGROUND
- | SWT.MULTI | SWT.V_SCROLL | SWT.READ_ONLY);
-
- versionCombo.setLayoutData(data);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- for (int i = 0; i < a.length; i++) {
- versionCombo.add(a[i]);
- }
- int index;
- if ((index = versionCombo.indexOf(value)) == -1)
- index = 0;
- versionCombo.select(index);
- versionCombo.addListener(SWT.Modify, this);
- } else if (key.equals("bug_severity")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- severityCombo = new Combo(attributesComposite,
- SWT.NO_BACKGROUND | SWT.MULTI | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- severityCombo.setLayoutData(data);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- for (int i = 0; i < a.length; i++) {
- severityCombo.add(a[i]);
- }
- int index;
- if ((index = severityCombo.indexOf(value)) == -1)
- index = 0;
- severityCombo.select(index);
- severityCombo.addListener(SWT.Modify, this);
-
- } else if (key.equals("rep_platform")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- platformCombo = new Combo(attributesComposite,
- SWT.NO_BACKGROUND | SWT.MULTI | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- platformCombo.setLayoutData(data);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- for (int i = 0; i < a.length; i++) {
- platformCombo.add(a[i]);
- }
- int index;
- if ((index = platformCombo.indexOf(value)) == -1)
- index = 0;
- platformCombo.select(index);
- platformCombo.addListener(SWT.Modify, this);
- } else if (key.equals("component")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- componentCombo = new Combo(attributesComposite,
- SWT.NO_BACKGROUND | SWT.MULTI | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- componentCombo.setLayoutData(data);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- for (int i = 0; i < a.length; i++) {
- componentCombo.add(a[i]);
- }
- int index;
- if ((index = componentCombo.indexOf(value)) == -1)
- index = 0;
- componentCombo.select(index);
- componentCombo.addListener(SWT.Modify, this);
- } else if (key.equals("priority")) {
- newLayout(attributesComposite, 1, name, PROPERTY);
- priorityCombo = new Combo(attributesComposite,
- SWT.NO_BACKGROUND | SWT.MULTI | SWT.V_SCROLL
- | SWT.READ_ONLY);
-
- priorityCombo.setLayoutData(data);
- Set<String> s = values.keySet();
- String[] a = s.toArray(new String[s.size()]);
- for (int i = 0; i < a.length; i++) {
- priorityCombo.add(a[i]);
- }
- int index;
- if ((index = priorityCombo.indexOf(value)) == -1)
- index = 0;
- priorityCombo.select(index);
- priorityCombo.addListener(SWT.Modify, this);
- priExist = true;
- } else if (key.equals("bug_file_loc")) {
- url = value;
- }else {
- // do nothing if it isn't a standard value to change
- }
- }
-
- if (priExist) {
- newLayout(attributesComposite, 1, "", PROPERTY);
- newLayout(attributesComposite, 1, "", PROPERTY);
- }
-
- GridData summaryTextData;
-
- if (url != null) {
- // add the assigned to text field
- newLayout(attributesComposite, 1, "URL", PROPERTY);
- urlText = new Text(attributesComposite, SWT.BORDER | SWT.SINGLE
- | SWT.WRAP);
- summaryTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-
- summaryTextData.horizontalSpan = 3;
- summaryTextData.widthHint = 200;
- urlText.setLayoutData(summaryTextData);
- urlText.setText(url);
- urlText.addListener(SWT.FocusOut, this);
- }
-
- newLayout(attributesComposite, 1, "Assigned To", PROPERTY);
- Label l = new Label(attributesComposite, SWT.NONE);
- l.setText("NOTE: If e-mail incorrect, submit will fail silently");
- summaryTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- summaryTextData.horizontalSpan = 2;
- l.setLayoutData(summaryTextData);
- assignedToText = new Text(attributesComposite, SWT.BORDER | SWT.SINGLE
- | SWT.WRAP);
- summaryTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-
- summaryTextData.horizontalSpan = 1;
- summaryTextData.widthHint = 200;
- assignedToText.setLayoutData(summaryTextData);
- assignedToText.setText("");
-
-
- // add the summary text field
- newLayout(attributesComposite, 1, "Summary", PROPERTY);
- summaryText = new Text(attributesComposite, SWT.BORDER | SWT.SINGLE
- | SWT.WRAP);
- summaryTextData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-
- summaryTextData.horizontalSpan = 3;
- summaryTextData.widthHint = 200;
- summaryText.setLayoutData(summaryTextData);
- summaryText.setText(nbm.getSummary());
- summaryText.addListener(SWT.Modify, this);
-
-
-
- // Description Text
- Composite descriptionComposite = new Composite(attributesComposite,
- SWT.NONE);
-
- descriptionComposite.setLayout(attributesTitleLayout);
-
- GridData descriptionData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- descriptionData.horizontalSpan = 4;
- descriptionData.grabExcessVerticalSpace = false;
- descriptionComposite.setLayoutData(descriptionData);
- newLayout(descriptionComposite, 4, "Description:", HEADER);
-
- // add the description text field
- descriptionText = new Text(attributesComposite, SWT.BORDER | SWT.MULTI
- | SWT.V_SCROLL | SWT.WRAP);
-
- descriptionText.setFont(AbstractBugEditor.COMMENT_FONT);
- GridData descriptionTextData = new GridData(
- GridData.HORIZONTAL_ALIGN_FILL);
- descriptionTextData.horizontalSpan = 4;
- descriptionTextData.widthHint = AbstractBugEditor.DESCRIPTION_WIDTH;
- descriptionTextData.heightHint = AbstractBugEditor.DESCRIPTION_HEIGHT;
- descriptionText.setLayoutData(descriptionTextData);
- descriptionText.addListener(SWT.Modify, this);
-
- serverButton = new Button(attributesComposite, SWT.RADIO);
- serverButton.setText("Submit bug report to the server.");
- GridData toServerButtonData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- toServerButtonData.horizontalSpan = 4;
- serverButton.setLayoutData(toServerButtonData);
- serverButton.setSelection(true);
-
- offlineButton = new Button(attributesComposite, SWT.RADIO);
- offlineButton.setText("Save bug report offline.");
- GridData offlineButtonData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
- offlineButtonData.horizontalSpan = 4;
- offlineButton.setLayoutData(offlineButtonData);
- offlineButton.setSelection(false);
-
- if(wizard.fromDialog)
- offlineButton.setEnabled(false);
-
- setControl(attributesComposite);
- return;
- }
-
- /**
- * @return <code>true</code> if the radio button to submit the bug to the server is selected.
- */
- public boolean serverSelected() {
- return (serverButton == null) ? false : serverButton.getSelection();
- }
-
- /**
- * @return <code>true</code> if the radio button to save the bug offline is selected.
- */
- public boolean offlineSelected() {
- return (offlineButton == null) ? false : offlineButton.getSelection();
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardListPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardListPage.java
deleted file mode 100644
index a8c2d2f0b..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/AbstractWizardListPage.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.wizard;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Class that contains shared functions for the first page of the wizards that
- * submit bug reports. This page provides the user with a list of items to
- * choose from.
- */
-public abstract class AbstractWizardListPage extends WizardPage implements
- Listener {
-
- /** The instance of the workbench */
- protected IWorkbench workbench;
-
- /** The list box for the list of items to choose from */
- protected List listBox;
-
- /** Status variable for the possible errors on this page */
- protected IStatus listStatus;
-
- /**
- * Constructor for AbstractWizardListPage
- *
- * @param pageName
- * the name of the page
- * @param title
- * the title of the page
- * @param description
- * the description text for the page
- * @param workbench
- * the instance of the workbench
- */
- public AbstractWizardListPage(String pageName, String title,
- String description, IWorkbench workbench) {
- super(pageName);
- setTitle(title);
- setDescription(description);
- this.workbench = workbench;
-
- // set the status for the page
- listStatus = new Status(IStatus.OK, "not_used", 0, "", null);
- }
-
- public abstract void createAdditionalControls(Composite parent);
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- // create the composite to hold the widgets
- GridData gd;
- Composite composite = new Composite(parent, SWT.NULL);
-
- // create the desired layout for this wizard page
- GridLayout gl = new GridLayout();
- int ncol = 1;
- gl.numColumns = ncol;
- composite.setLayout(gl);
-
- // create the bug report label
- Label label = new Label(composite, SWT.NONE);
- label.setText(getTableName());
- FontData fontData = label.getFont().getFontData()[0];
- fontData.setStyle(SWT.BOLD | fontData.getStyle());
- int height = (int) Math.abs(fontData.getHeight() * 1.25);
- fontData.setHeight(height);
- Font font = new Font(null, fontData);
- label.setFont(font);
-
- // create the list of bug reports
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 200;
- listBox = new List(composite, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY
- | SWT.V_SCROLL);
- listBox.setLayoutData(gd);
-
- createLine(composite, ncol);
-
- // Each wizard has different types of items to add to the list
- populateList();
-
- createAdditionalControls(composite);
-
- // set the composite as the control for this page
- setControl(composite);
- addListeners();
- }
-
- public abstract String getTableName();
-
- /**
- * Populate the list of items
- */
- abstract protected void populateList();
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
- */
- abstract public void handleEvent(Event event);
-
- /**
- * A helper function for "handleEvent"
- *
- * @param event
- * the event which occurred
- * @param errorMessage
- * the error message unique to the wizard calling this function
- */
- protected void handleEventHelper(Event event, String errorMessage) {
- // Initialize a variable with the no error status
- Status status = new Status(IStatus.OK, "not_used", 0, "", null);
-
- // If the event is triggered by the list of items, respond with the
- // corresponding status
- if (event.widget == listBox) {
- if (listBox.getSelectionIndex() == -1)
- status = new Status(IStatus.ERROR, "not_used", 0, errorMessage,
- null);
- listStatus = status;
- }
-
- // Show the most serious error
- applyToStatusLine(listStatus);
- getWizard().getContainer().updateButtons();
- }
-
- /**
- * Applies the status to the status line of a dialog page.
- *
- * @param status
- * The status to apply to the status line
- */
- protected void applyToStatusLine(IStatus status) {
- String message = status.getMessage();
- if (message.length() == 0)
- message = null;
- switch (status.getSeverity()) {
- case IStatus.OK:
- setErrorMessage(null);
- setMessage(message);
- break;
- case IStatus.WARNING:
- setErrorMessage(null);
- setMessage(message, WizardPage.WARNING);
- break;
- case IStatus.INFO:
- setErrorMessage(null);
- setMessage(message, WizardPage.INFORMATION);
- break;
- default:
- setErrorMessage(null);
- setMessage(message, WizardPage.ERROR);
- break;
- }
- }
-
- /**
- * Create a separator line in the dialog
- *
- * @param parent
- * The composite to create the line on
- * @param ncol
- * The number of columns to span
- */
- protected void createLine(Composite parent, int ncol) {
- Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL
- | SWT.BOLD);
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- gridData.horizontalSpan = ncol;
- line.setLayoutData(gridData);
- }
-
- @Override
- public boolean canFlipToNextPage() {
- if (getErrorMessage() != null)
- return false;
- if (listBox.getSelectionIndex() != -1)
- return true;
- return false;
- }
-
- /**
- * Add any listeners that we need
- */
- protected void addListeners() {
- listBox.addListener(SWT.Selection, this);
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/NewBugWizard.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/NewBugWizard.java
deleted file mode 100644
index ee95abb13..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/NewBugWizard.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.wizard;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.ui.OfflineView;
-
-
-/**
- * The main wizard class for creating a new bug
- *
- * @author Shawn Minto
- */
-public class NewBugWizard extends AbstractBugWizard {
-
- /** The wizard page for where the product is selected */
- WizardProductPage productPage;
-
- /** The wizard page where the attributes are selected and the bug is submitted */
- WizardAttributesPage attributePage;
-
- public NewBugWizard(){
- this(false);
- }
-
- public NewBugWizard(boolean fromDialog){
- super();
- this.fromDialog = fromDialog;
- }
-
- @Override
- protected void addPagesHelper() throws Exception {
- // add only the product page for now if there are any products
-
- // try to get the list of products from the server
- if (!model.hasParsedProducts()) {
- try {
- WizardProductPage.products = BugzillaRepository.getInstance()
- .getProductList();
- model.setConnected(true);
- model.setParsedProductsStatus(true);
- } catch (Exception e) {
- // determine if exception was problem connecting, or if
- // something else
- // if problem connecting, then set flag and use
- // ProductConfiguration
- // otherwise throw the exception to be dealt with
-
- // problem connecting to Bugzilla server, so unable to get
- // Products from product page
- model.setConnected(false);
-
- if (e instanceof IOException) {
- // Dialog to inform user that the program could not connect
- // to the Bugzilla server
- MessageDialog
- .openError(
- null,
- "Bugzilla Connect Error",
- "Unable to connect to Bugzilla server.\n"
- + "Product configuration will be read from the workspace.");
-
- // use ProductConfiguration to get products instead
- String[] products = BugzillaPlugin.getDefault()
- .getProductConfiguration().getProducts();
-
- // add products from ProductConfiguration to product page's
- // product list
- List<String> productList = new ArrayList<String>();
- for (int i = 0; i < products.length; i++)
- productList.add(i, products[i]);
- WizardProductPage.products = productList;
- model.setParsedProductsStatus(true);
- } else
- throw e;
- }
- }
-
- try {
- if (WizardProductPage.products.size() != 0
- && BugzillaPlugin.getDefault().getProductConfiguration()
- .getProducts().length > 1) {
- productPage = new WizardProductPage(workbenchInstance, this);
- addPage(productPage);
- } else {
- // There wasn't a list of products so there must only be 1
- if (!model.hasParsedAttributes()) {
- if (model.isConnected())
- BugzillaRepository.getInstance().getnewBugAttributes(model,
- true);
- else
- BugzillaRepository.getInstance().getProdConfigAttributes(
- model);
- model.setParsedAttributesStatus(true);
- }
-
- // add the attributes page to the wizard
- attributePage = new WizardAttributesPage(workbenchInstance);
- addPage(attributePage);
- }
- } catch (NullPointerException e){
- // TODO add better error message here
- MessageDialog.openError(null, "Bugzilla Error",
- "Unable to get the products.");
- super.getShell().close();
- }
- }
-
- @Override
- public boolean canFinish() {
- return super.canFinishHelper(productPage);
- }
-
- @Override
- protected void saveBugOffline() {
- // Since the bug report is new, it just needs to be added to the
- // existing list of reports in the offline file.
- OfflineView.saveOffline(model, true);
- }
-
- @Override
- protected AbstractWizardDataPage getWizardDataPage() {
- return attributePage;
- }
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardAttributesPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardAttributesPage.java
deleted file mode 100644
index 10c31d5fc..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardAttributesPage.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.wizard;
-
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard page shown when the user has chosen a product to log a bug for.
- */
-public class WizardAttributesPage extends AbstractWizardDataPage {
-
- /**
- * Constructor for WizardAttributesPage
- *
- * @param workbench
- * The instance of the workbench.
- */
- public WizardAttributesPage(IWorkbench workbench) {
- super("Page2", "New Bug Report", "Enter Bug", workbench);
- }
-
-}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardProductPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardProductPage.java
deleted file mode 100644
index 49321427f..000000000
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/wizard/WizardProductPage.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 - 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.bugzilla.ui.wizard;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.bugzilla.core.NewBugModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IWorkbench;
-
-
-/**
- * @author Shawn Minto
- *
- * The first page of the new bug wizard where the user chooses the bug's product
- */
-public class WizardProductPage extends AbstractWizardListPage {
-
- /** The list of products to submit a bug report for */
- static List<String> products = null;
-
- /** Reference to the bug wizard which created this page so we can create the second page */
- NewBugWizard bugWizard;
-
- /** String to hold previous product; determines if attribute option values need to be updated */
- private String prevProduct;
-
- /**
- * Constructor for WizardProductPage
- *
- * @param workbench
- * The instance of the workbench
- * @param bugWiz
- * The bug wizard which created this page
- */
- public WizardProductPage(IWorkbench workbench, NewBugWizard bugWiz) {
- super("Page1", "New Bug Report",
- "Pick a product on which to enter a bug.", workbench);
- this.bugWizard = bugWiz;
- }
-
- protected ProgressMonitorDialog monitorDialog = new ProgressMonitorDialog(BugzillaPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell());
- protected IPreferenceStore prefs = BugzillaPlugin.getDefault().getPreferenceStore();
-
- @Override
- public void createAdditionalControls(Composite parent){
- Button updateButton = new Button(parent, SWT.LEFT | SWT.PUSH);
- updateButton.setText("Update");
-
- updateButton.setLayoutData(new GridData());
-
- updateButton.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseUp(MouseEvent e) {
-
- monitorDialog.open();
- IProgressMonitor monitor = monitorDialog.getProgressMonitor();
- monitor.beginTask("Updating search options...", 55);
-
- try {
- BugzillaPreferences.updateQueryOptions(monitor);
-
- products = new ArrayList<String>();
- for(String product : BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.PRODUCT_VALUES))){
- products.add(product);
- }
- monitor.worked(1);
- }
- catch (LoginException exception) {
- // we had a problem that seems to have been caused from bad login info
- 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(exception);
- }
- finally {
- monitor.done();
- monitorDialog.close();
- }
- }
- });
- }
-
- /**
- * Populates the listBox with all available products.
- */
- @Override
- protected void populateList() {
- listBox.removeAll();
- Iterator<String> itr = products.iterator();
-
- while (itr.hasNext()) {
- String prod = itr.next();
- listBox.add(prod);
- }
- }
-
- @Override
- public void handleEvent(Event event) {
- handleEventHelper(event, "You must select a product");
- }
-
- @Override
- public IWizardPage getNextPage() {
- // save the product information to the model
- saveDataToModel();
- NewBugWizard wizard = (NewBugWizard) getWizard();
- NewBugModel model = wizard.model;
-
- // try to get the attributes from the bugzilla server
- try {
- if (!model.hasParsedAttributes() || !prevProduct.equals(model.getProduct())) {
- if (model.isConnected()) {
- BugzillaRepository.getInstance().getnewBugAttributes(model, false);
- }
- else {
- BugzillaRepository.getInstance().getProdConfigAttributes(model);
- }
- model.setParsedAttributesStatus(true);
- if (prevProduct == null) {
- bugWizard.attributePage = new WizardAttributesPage(workbench);
- bugWizard.addPage(bugWizard.attributePage);
- }
- else {
- // selected product has changed
- bugWizard.attributePage.setControl(null); // will createControl again with new attributes in model
- }
- }
- } catch (Exception e) {
- BugzillaPlugin.getDefault().logAndShowExceptionDetailsDialog(e, "occurred.", "Bugzilla Error");
- }
- return super.getNextPage();
- }
-
- /**
- * Save the currently selected product to the model when next is clicked
- */
- private void saveDataToModel() {
- // Gets the model
- NewBugModel model = bugWizard.model;
-
- prevProduct = model.getProduct();
- model.setProduct((listBox.getSelection())[0]);
- }
-
- @Override
- public String getTableName() {
- return "Product:";
- }
-}
-
diff --git a/org.eclipse.mylyn.help.ui/.classpath b/org.eclipse.mylyn.help.ui/.classpath
deleted file mode 100644
index 1bdfad39c..000000000
--- a/org.eclipse.mylyn.help.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.help.ui/.cvsignore b/org.eclipse.mylyn.help.ui/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.mylyn.help.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.mylyn.help.ui/.project b/org.eclipse.mylyn.help.ui/.project
deleted file mode 100644
index cc9ad6c69..000000000
--- a/org.eclipse.mylyn.help.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.doc</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.help.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0635cc815..000000000
--- a/org.eclipse.mylyn.help.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Jun 30 08:33:05 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.mylyn.help.ui/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.help.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 63b509b84..000000000
--- a/org.eclipse.mylyn.help.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:42:00 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.help.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.help.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 4fdbaa7ab..000000000
--- a/org.eclipse.mylyn.help.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Mylar Documentation Plugin
-Bundle-SymbolicName: org.eclipse.mylar.doc; singleton:=true
-Bundle-Version: 0.4
-Bundle-Localization: plugin
-Eclipse-AutoStart: true
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: mylar-doc.jar
diff --git a/org.eclipse.mylyn.help.ui/about.html b/org.eclipse.mylyn.help.ui/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.help.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.help.ui/build-user.xml b/org.eclipse.mylyn.help.ui/build-user.xml
deleted file mode 100644
index 6097713f2..000000000
--- a/org.eclipse.mylyn.help.ui/build-user.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<target name="help">
- <echo message="Please run: $ ant -v -projecthelp"/>
-</target> \ No newline at end of file
diff --git a/org.eclipse.mylyn.help.ui/build.properties b/org.eclipse.mylyn.help.ui/build.properties
deleted file mode 100644
index 34d33e22d..000000000
--- a/org.eclipse.mylyn.help.ui/build.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# 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
-###############################################################################
-source.mylar-doc.jar = src/
-output.mylar-doc.jar = bin/
-bin.includes = plugin.xml,\
- mylar-doc.jar,\
- META-INF/,\
- toc.xml,\
- about.html,\
- book.css,\
- developer/,\
- doc/
-src.includes = META-INF/,\
- plugin.xml,\
- src/,\
- toc.xml,\
- about.html,\
- book.css,\
- developer/,\
- doc/
diff --git a/org.eclipse.mylyn.help.ui/build.xml b/org.eclipse.mylyn.help.ui/build.xml
deleted file mode 100644
index 566838eda..000000000
--- a/org.eclipse.mylyn.help.ui/build.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:./build-user.xml">]>
-<!-- WARNING: Eclipse autogenerated file.
- Any modifications will be overwritten.
- Please edit build-user.xml instead.
--->
-<project basedir="." default="build" name="org.eclipse.mylar.doc">
- &buildfile;
- <path id="project.classpath">
- <pathelement location="bin"/>
- </path>
- <target name="init">
- <mkdir dir="bin"/>
- </target>
- <target name="clean">
- <delete dir="bin"/>
- </target>
- <target depends="init" name="build">
- <echo message="${ant.project.name}: ${ant.file}"/>
- <javac destdir="bin">
- <src path="src"/>
- <classpath refid="project.classpath"/>
- </javac>
- </target>
-</project>
diff --git a/org.eclipse.mylyn.help.ui/doc/book.css b/org.eclipse.mylyn.help.ui/doc/book.css
deleted file mode 100644
index faa4199fe..000000000
--- a/org.eclipse.mylyn.help.ui/doc/book.css
+++ /dev/null
@@ -1 +0,0 @@
-@import "../../PRODUCT_PLUGIN/book.css";
diff --git a/org.eclipse.mylyn.help.ui/doc/context.html b/org.eclipse.mylyn.help.ui/doc/context.html
deleted file mode 100644
index 68145d668..000000000
--- a/org.eclipse.mylyn.help.ui/doc/context.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Mylar Tools
- </title>
- </head>
- <body>
- <h1>
- Task Context</h1>
- <p>&nbsp;</p>
- <p>&nbsp;</p>
-
- </body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.help.ui/doc/developer/changes.html b/org.eclipse.mylyn.help.ui/doc/developer/changes.html
deleted file mode 100644
index bea7d91d3..000000000
--- a/org.eclipse.mylyn.help.ui/doc/developer/changes.html
+++ /dev/null
@@ -1,12395 +0,0 @@
-<HTML>
-<HEAD>
- <TITLE>Mylar Release Notes</TITLE>
-
- <style>
-<!--
-div.Section1
- {page:Section1;}
-a:link
- {color:blue;
- text-decoration:underline;}
- div.MsoNormal
- {margin:0in;
- margin-bottom:.0001pt;
- font-size:12.0pt;
- font-family:"Times New Roman";
- color:windowtext;}
--->
-</style>
-
-</HEAD>
-<BODY LINK="#4756AC" VLINK="#60657B" BGCOLOR="#FFFFFF">
-
- <h2>Release Notes</h2>
- <div class="Section1">
- <h3>Mylar 0.3.9 released 2005-09-26</h3>
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.9.1 is
- now available, includes numerous bug fixes, and support for Eclipse
- 3.2M2. &nbsp;Unfortunately due to changes in Eclipse 3.2M2 it is no
- longer possible for the same plug-ins to support both 3.1 and 3.2.&nbsp;
- But fortunately it was possible to coerce the update site allow you
- to select either the 3.1 or 3.2 based feature.&nbsp; Another key change
- in this release is that the Mylar Monitor has been almost entirely
- decoupled from the UBC user study in preparation for the 0.4
- release, and is now available in CVS at dev.eclipse.org. </span>
- </font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Acknowledgements</span></font></b></p>
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Thanks go out to
- Wes Coelho for contributing making the Previous/Next task navigation
- in the Task List persistent, and for helping provide a previous of
- whether a task has context. &nbsp;Also, Eugene Kuleshov came up with the
- really good idea of making landmark creation work by dragging an
- element to an Active view (see below).</span></font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed (22 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 95.22%" cellSpacing="0" cellPadding="0" width="95%" border="0" id="table34">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109815" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109815">
- 109815</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add phase
- 2 upgrade popup </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110111" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110111">
- 110111</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- context activity context </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110113" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110113">
- 110113</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- restructure documentation </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110234" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110234">
- 110234</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">guard
- against failure of elements to open </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110132" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110132">
- 110132</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- ClassCircularityError on startup </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110200" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110200">
- 110200</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">clean up
- task list extension points and create JIRA plug-in </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104607" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104607">
- 104607</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- FAQ document </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110630" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110630">
- 110630</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- java.lang.VerifyError with Mylar 0.3.9 on Eclipse 3.2M2
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110112" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110112">
- 110112</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">tasks
- fail to get removed from root </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109816" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109816">
- 109816</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- search labels blink on every selection </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106257" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106257">
- 106257</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">zazam@uvic.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Proposed
- enhancement: Decouple UBC study </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109803" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109803">
- 109803</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">bsd@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Tooltips
- on task list cause loss of focus </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109804" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109804">
- 109804</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">bsd@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Differentiating task categories is difficult with Mylar a...
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110464" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110464">
- 110464</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- active search check box selections disjoint </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107810" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107810">
- 107810</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">toggle of
- folding can cause file modification when using ... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110508" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110508">
- 110508</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Allow
- drag-n-drop to Active Search to create landmark </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109462" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109462">
- 109462</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">can't
- change category name </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109783" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109783">
- 109783</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">wes.coelho@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- indication of whether task has context </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110061" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110061">
- 110061</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">wes.coelho@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">previous
- task history should be persistent </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107490" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107490">
- 107490</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">if view
- is not active content can stick after task de-act... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110133" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110133">
- 110133</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Unhandled
- event loop exception </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110134" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=110134">
- 110134</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Wrong
- line breaks in Bugzilla comment editors </span></font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.8 released 2005-09-19</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.8 is
- now available and provides the first cut at predicted interest
- facilities such as Active Search (new &amp; noteworthy snippets are
- below).&nbsp; These features are available for those users who update and
- are in Phase 2 of the user study (under Preferences -&gt; Mylar -&gt; User
- Study must have over 25000 events).&nbsp; If you should be in Phase 2 but
- don’t see the Phase 2 update site email
- <a title="mailto:mylar@cs.ubc.ca" href="mailto:mylar@cs.ubc.ca">
- mylar@cs.ubc.ca</a>. &nbsp;The focus for this week is refactoring
- awareness and continuing to de-couple the UBC study. &nbsp;Special thanks
- goes out to Brian de Alwis for identifying some important Linux/GTK
- issues.&nbsp; </span></font><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></b></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (20 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 100%" cellSpacing="0" cellPadding="0" width="100%" border="0" id="table32">
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109459" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109459">
- 109459</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">during
- bugzilla refresh focus is repeatedly lost.. </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109538" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109538">
- 109538</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- active search disable when view is not active </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108408" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108408">
- 108408</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">don't
- allow non-existing elements to be landmarks </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108409" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108409">
- 108409</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- usage summary limit results to accepted users </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109232" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109232">
- 109232</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer refreshes too much on marker change </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109456" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109456">
- 109456</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problems
- list blinks in save in filtered mode </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109642" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109642">
- 109642</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">mylar can
- block workspace on startup </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107384" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107384">
- 107384</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- hierarchy can contain duplicate elements </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109815" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109815">
- 109815</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add phase
- 2 upgarde popup </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108294" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108294">
- 108294</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- active search laziness </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109315" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109315">
- 109315</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer fails to unlink with editor when Mylar i... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109348" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109348">
- 109348</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- streamline date chooser </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106690" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106690">
- 106690</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add &quot;edit
- highlighters&quot; button to &quot;choose highlighter&quot; menu </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109534" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109534">
- 109534</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- &quot;remove from this category&quot; action </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109462" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109462">
- 109462</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">can't
- change category name </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106938" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106938">
- 106938</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Implement
- &quot;new&quot; marker for Bugzilla query </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106931" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106931">
- 106931</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Improve
- icons for bugzilla tasks </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109262" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109262">
- 109262</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problems
- list filter does not retain state on startup </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 0in; PADDING-LEFT: 15pt; PADDING-BOTTOM: 0in; PADDING-TOP: 0in">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109313" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109313">
- 109313</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 0in; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">outline
- view refreshes too often </span></font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.7 released 2005-09-12</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.7 is
- now available.&nbsp; The most notable changes are synchronization status
- for Bugzilla (pasted from the New &amp; Noteworthy below) and a move to
- extension points for the Mylar bridges.&nbsp; The focus for this week is
- improving Active Search and Active Hierarchy performance and
- integration, and 0.3.8 will be the first release of these
- facilities. </span></font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (20 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 94.12%" cellSpacing="0" cellPadding="0" width="94%" border="0" id="table9">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103589" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103589">
- 103589</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">task list
- and active search contribution items fail to sh... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104253" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104253">
- 104253</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">tri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- mylar bridges extension points </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105516" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105516">
- 105516</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">s.s@rutgers.edu</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer shows nothing upon eclipse startup unles... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106931" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106931">
- 106931</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Improve
- icons for bugzilla tasks </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106938" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106938">
- 106938</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Implement
- &quot;new&quot; marker for Bugzilla query </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107460" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107460">
- 107460</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- Java Browsing Perspective robustness </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107812" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107812">
- 107812</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- prompt to view tutorial video on phase1 start </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108006" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108006">
- 108006</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add UI
- for restoring the tasklist from the backup copy </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108445" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108445">
- 108445</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">NPE on
- shut down from Update Manager </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108446" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108446">
- 108446</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">NPE on
- shut down from Update Manager </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108475" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108475">
- 108475</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">if active
- task is only under archive reports it still nee... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108535" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108535">
- 108535</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ttftestrayv@yahoo.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">INVA</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Bugzilla
- Editor has problems in modified bugzilla repository </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108742" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108742">
- 108742</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">min</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ugawhyop001@sneakemail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Eclipse's
- Problems filters interact badly with Mylar </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109147" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109147">
- 109147</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">s.s@rutgers.edu</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&quot;link
- with editor&quot; doesn't work </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109155" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109155">
- 109155</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">s.s@rutgers.edu</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- incorporate working sets into the interest model </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109251" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109251">
- 109251</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">context
- is not saved on shutdown or task deactivation </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109252" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109252">
- 109252</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">INVA</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- task not consistently highlighted </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109261" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109261">
- 109261</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">offline
- reports pops up repeatedly </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109262" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109262">
- 109262</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problems
- list filter does not retain state on startup </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109315" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109315">
- 109315</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer fails to unlink with editor when Mylar i... </span>
- </font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.6 released 2005-08-29</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.6 is
- out, contains numerous fixes.&nbsp; This week’s focus will be tuning
- Active Search, Bugzilla and task list enhancements, and
- infrastructure improvements including making the bridges
- extension-point based.&nbsp; Also note that per Eugene’s suggestion we
- are now tagging bug reports that contain interesting design
- discussions with a “[discussion]” prefix on the bug summary. &nbsp;Here
- is the
- <a title="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=specific&amp;order=relevance+desc&amp;bug_status=__open__&amp;product=Mylar&amp;content=%5Bdiscussion%5D" href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=Mylar&content=%5Bdiscussion%5D">
- bugzilla query</a>:</span></font></p>
- <table class="MsoNormalTable" style="WIDTH: 100%" cellSpacing="0" cellPadding="0" width="100%" border="0" id="table7">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107596" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107596">
- 107596</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">timmunro@amazon.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">NEW</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal">
- <font face="Tahoma" color="black" size="2">
- <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- [discussion] XP / Agile support features </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106940" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106940">
- 106940</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">NEW</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal">
- <font face="Tahoma" color="black" size="2">
- <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- [discussion] Add support for QA tools </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102848" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102848">
- 102848</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">NEW</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal">
- <font face="Tahoma" color="black" size="2">
- <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- [discussion] support multiple bug providers </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104497" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104497">
- 104497</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">NEW</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal">
- <font face="Tahoma" color="black" size="2">
- <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- [discussion] automatic task activation </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104638" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104638">
- 104638</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">jakubwach@o2.pl</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">NEW</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal">
- <font face="Tahoma" color="black" size="2">
- <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- [discussion] improve automatic folding </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105100" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105100">
- 105100</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ASSI</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal">
- <font face="Tahoma" color="black" size="2">
- <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">
- &nbsp;</span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- [discussion] prototype sharing of task contexts </span>
- </font></td>
- </tr>
- </table>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- &nbsp;Tasks completed last week (33 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 94.7%" cellSpacing="0" cellPadding="0" width="94%" border="0" id="table8">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107542" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107542">
- 107542</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Build
- errors should increase interest level for java files </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107477" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107477">
- 107477</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">split out
- IDE-specific dependencies into mylar.ide component </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107463" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107463">
- 107463</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- &quot;unfiltered&quot; view selections are reported incorrectly </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103734" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103734">
- 103734</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- statistics generation check for phase switch </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106762" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106762">
- 106762</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- within user analysis of edit ratio </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107809" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107809">
- 107809</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- error logging more verbose </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104873" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104873">
- 104873</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">suppress
- active search results showing up in package expl... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104110" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104110">
- 104110</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- support for resetting edges </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104063" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104063">
- 104063</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">toggling
- related element providers fails to remove the se... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103419" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103419">
- 103419</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- active search infrastructure </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106913" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106913">
- 106913</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Annoying
- task description editor activation on single mou... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107062" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107062">
- 107062</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- custom queries </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107087" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107087">
- 107087</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Remote
- changes are not being shown for bugs that have loc... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106927" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106927">
- 106927</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">automatic
- refresh of bugzilla reports fails </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108163" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108163">
- 108163</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- tasks disappear </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104601" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104601">
- 104601</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">explore
- making Mylar run on JDK 1.4 </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107285" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107285">
- 107285</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make task
- list save state purely based on changes </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107745" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107745">
- 107745</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Study
- results should be submitted from a background job </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107459" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107459">
- 107459</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Deactivate mylar filter in all views on task deactivation
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107549" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107549">
- 107549</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Accessibility of Mylar glasses in all views </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107304" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107304">
- 107304</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">timmunro@amazon.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Make key
- project resources always visible </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107659" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107659">
- 107659</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make sure
- that tooltip works for bugzilla hits </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107754" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107754">
- 107754</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">entire
- tasklist can be lost if mylar is closed before loa... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106923" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106923">
- 106923</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Bugzilla
- operations should run in background jobs </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108154" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108154">
- 108154</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- navigating to previous task doesn't work if only one task...
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107484" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107484">
- 107484</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Task
- context not saved on restart </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108062" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108062">
- 108062</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">eu@md.pp.ru</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">NPE when
- opening resources from CVS resources history </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104255" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104255">
- 104255</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- 'context categories' </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102680" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102680">
- 102680</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">all views
- should de-register taskscape listeners when dea... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108068" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108068">
- 108068</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">update
- active search based on resource changes </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103235" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103235">
- 103235</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- monitoring multiple workbench windows </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102047" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102047">
- 102047</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P5</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Drag and
- Drop overwrites task description </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101947" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101947">
- 101947</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P5</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ensure
- update of XML outline view </span></font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.5 released 2005-08-22</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.5 is
- out and a big thanks goes out to Eugene Kuleshov and Tim Munro for
- contributing so many useful bug reports and comments on improving
- the usability and integration of Mylar.&nbsp; The focus for this week’s
- 0.3.6 release will be resolving those issues, and getting the
- predicted interest features like Active Search ready for the user
- study.</span></font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (30 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 93.66%" cellSpacing="0" cellPadding="0" width="93%" border="0" id="table6">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106930" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106930">
- 106930</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Task list
- is loosing its content after each restart </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106929" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106929">
- 106929</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Add
- tooltip for description column in the tasklist </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107152" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107152">
- 107152</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- &quot;unsure&quot; the default for questionnaire responses </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104889" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104889">
- 104889</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- differentiate between element selections of normal, decay...
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107055" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107055">
- 107055</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">min</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Task List
- Filter </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105516" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105516">
- 105516</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer shows nothing upon eclipse startup unles... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107129" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107129">
- 107129</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Add
- &quot;Collapse All&quot; action to tasklist toolbar </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107074" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107074">
- 107074</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Allow
- group operation for &quot;Make less interesting&quot; action </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107088" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107088">
- 107088</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Choose
- highliter menu should have option to remove highliter </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103234" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103234">
- 103234</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">monitor
- seems to be storing too much for preferences </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104512" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104512">
- 104512</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">after a
- report is disabled task context can remain in pac... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106899" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106899">
- 106899</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">INVA</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">suppress
- filtering of active tasks </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107081" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107081">
- 107081</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">completed
- bugs don't filter from root </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103031" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103031">
- 103031</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">lkf@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">summarize
- perspective and activity usage </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107146" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107146">
- 107146</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">text
- selections cause too much refreshing ManifestEditor </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107305" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107305">
- 107305</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Eclipse
- hangs when modifying ant build.xml </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107351" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107351">
- 107351</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Startup
- slow </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105094" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105094">
- 105094</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- invalidate search results </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106924" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106924">
- 106924</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">npe when
- no products are available </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102852" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102852">
- 102852</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- link to bug report in editor </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103866" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103866">
- 103866</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">All</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Crtl-click
- in the code to navigate to bug </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106925" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106925">
- 106925</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">error
- stopping bugzilla plug-in </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107085" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107085">
- 107085</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Put a
- limit on a fetched query result size </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106926" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106926">
- 106926</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">too many
- &quot;download failed&quot; messages in log </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106699" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106699">
- 106699</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Should
- not have to redo demographic information when user... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106861" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106861">
- 106861</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- custom drill-down adapter </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106906" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106906">
- 106906</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Additional actions for tasklist popup menu </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107175" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107175">
- 107175</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">offline
- report exception </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107168" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107168">
- 107168</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Show in
- browser link improvmemnts </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106566" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106566">
- 106566</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">zazam@uvic.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make the
- sign-up form HTML </span></font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.4 released 2004-08-15</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.4 is
- out with an improved task list and the bug fixes listed below.&nbsp; Note
- that due to vacation schedules this was a 3 week cycle and not our
- usual 1 week cycle.&nbsp; A <i><span style="FONT-STYLE: italic">big
- thanks goes out Eugene Kuleshov</span></i> who has been very helpful
- in clearly outlining usability issues and providing some great ideas
- for enhancements. &nbsp;The focus for this week’s 0.3.5 release will be
- addressing those usability issues and getting Active Search to the
- point where we start using it for our daily development.</span></font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (33 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 93.8%" cellSpacing="0" cellPadding="0" width="93%" border="0" id="table5">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103729" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103729">
- 103729</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- support for disjoint selections in Mylar views </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106629" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106629">
- 106629</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">WORK</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- NoSuchMethodError when loading Mylar </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106669" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106669">
- 106669</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">LATE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Phase
- Switch problem </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106800" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106800">
- 106800</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Add an
- option to deactivate task without closing opened e... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102800" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102800">
- 102800</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- selections in package explorer jump to previous location
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102689" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102689">
- 102689</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">control
- enablement of Mylar actions </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106801" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106801">
- 106801</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Provide
- back/forward navigation in task view </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106820" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106820">
- 106820</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Select
- items of interest based on naming convention </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106899" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106899">
- 106899</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">INVA</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">suppress
- filtering of active tasks </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106917" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106917">
- 106917</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Unable to
- select two nodes in package explorer view </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104265" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104265">
- 104265</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- planning game report </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104793" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104793">
- 104793</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">quick
- search action </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103733" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103733">
- 103733</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- gamma settings </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104263" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104263">
- 104263</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- reminders in task list </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104898" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104898">
- 104898</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- periodically save the task list </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105098" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105098">
- 105098</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">WORK</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">dragging
- a task from the root to a category fails to remo... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105571" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105571">
- 105571</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">estimated
- time for tasks </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103031" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103031">
- 103031</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">lkf@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">summarize
- perspective and activity usage </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102959" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102959">
- 102959</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">show
- progress during upload </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104089" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104089">
- 104089</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">on bug
- change refresh </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104927" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104927">
- 104927</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">dozens of
- refresh jobs can hang </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105097" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105097">
- 105097</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- back/forward buttons to task list </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101900" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101900">
- 101900</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- search npe </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102592" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102592">
- 102592</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">Oth</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- documentation is out of date </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102850" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102850">
- 102850</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- submitting a comment can fail silently </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103914" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103914">
- 103914</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">WORK</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Using the
- outline view to select fails </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105158" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105158">
- 105158</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">min</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&quot;glasses&quot;
- icon disappearing on editor pane </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105516" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=105516">
- 105516</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer shows nothing upon eclipse startup unles... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106664" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106664">
- 106664</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- questionnaire text box should wrap lines </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102683" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102683">
- 102683</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- reassinging bugs </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102855" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102855">
- 102855</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- support for CC'ing members and viewing CC list </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103537" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103537">
- 103537</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">password
- shows up in query string when internal browser used </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106566" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106566">
- 106566</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">PC</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">zazam@uvic.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make the
- sign-up form HTML </span></font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.3 released 2005-07-25</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Mylar 0.3.3 is
- out and has had some substantial improvements in terms of both UI
- and architecture.&nbsp; Most of the key bugs have been addressed, and
- we’re now focusing on usability enhancements and refinements.&nbsp; We
- also worked on Active Search, but that needs considerably more
- effort and won’t be release until mid or late next month.&nbsp; Please
- note that I will be away on vacation for most of the next two weeks,
- so send any critical questions to Shawn (sminto@cs.ubc.ca).</span></font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (40 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 93.62%" cellSpacing="0" cellPadding="0" width="93%" border="0" id="table4">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102679" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102679">
- 102679</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add show
- filtered action to navigator </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104243" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104243">
- 104243</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- flash demo tutorial </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104274" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104274">
- 104274</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- interaction event errors </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104644" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104644">
- 104644</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">monitor
- task activation </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104691" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104691">
- 104691</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- collectors support csv export and user id mapping </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104888" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104888">
- 104888</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">revise
- docs for 0.3.2 </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103940" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103940">
- 103940</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">update
- documentation for 0.3.2 </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104489" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104489">
- 104489</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">clean up
- composite context API </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104555" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104555">
- 104555</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- mechanism for analyzing statistics per-user </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103869" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103869">
- 103869</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- highlighters a task list decorator </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104425" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104425">
- 104425</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">WONT</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Clear
- Task Context Fails for a bugzilla task in a query </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102673" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102673">
- 102673</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">task
- editor dirty state </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102946" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102946">
- 102946</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- unified utility for InteractionEvent externalization </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103092" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103092">
- 103092</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- category filtering and sorting </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104257" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104257">
- 104257</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make mode
- where only one task context can be active </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104260" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104260">
- 104260</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">merge
- TaskListManager and TaskList </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104663" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104663">
- 104663</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- sleeping for more than 3 hours </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104890" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104890">
- 104890</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">tasklist
- was lost when upgrading mylar </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103440" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103440">
- 103440</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- bugzilla refresh on a standard category </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104261" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104261">
- 104261</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make time
- refresh automatically on task list </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102681" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102681">
- 102681</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ensure
- that non-existing elements can not be searched </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102870" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102870">
- 102870</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- documentation of known limitations </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102959" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102959">
- 102959</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">show
- progress during upload </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103288" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103288">
- 103288</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&quot;close
- all editors&quot; not closing all </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103742" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103742">
- 103742</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Packages
- do not reappear in Java Browsing Packages view w... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104074" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104074">
- 104074</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make all
- Java active search categories one and add drop-d... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104118" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104118">
- 104118</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Bugzilla
- refresh fails if task active </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104389" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104389">
- 104389</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- search not working on startup, can't be disabled </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104424" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104424">
- 104424</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- bugzilla searches fail due to invalid thread access </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104526" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104526">
- 104526</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- highlighters and clear context action use task list ...
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103588" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103588">
- 103588</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">use
- extension points in place of ITaskListActionContributor
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104382" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104382">
- 104382</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">stop
- button for active search </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104510" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104510">
- 104510</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">resolving
- bugs fails </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103866" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103866">
- 103866</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Crtl-click
- in the code to navigate to bug </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103881" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103881">
- 103881</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Context
- menu actions are enabled for all elements </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104553" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104553">
- 104553</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">after new
- report is created via task list, open it </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103537" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103537">
- 103537</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">password
- shows up in query string when internal browser used </span>
- </font></td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.2 released 2005-07-18</h3>
- <div class="Section1">
- <p class="MsoPlainText"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">0.3.2 went out on
- Friday evening with a lot of improvements, hardening of the UI and a
- de-coupling of the Tasks plug-in from the Mylar UI.&nbsp; For this
- Friday’s 0.3.3 release we’ll be focusing on fixing any bugs that
- come in as a result of people starting to use Phase 1, improving the
- usability of active views, creating extension points to help manage
- the loose coupling we created last week, and making the remaining
- planned enhancements to the task list.</span></font></p>
- <p class="MsoPlainText"><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (51 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 93.52%" cellSpacing="0" cellPadding="0" width="93%" border="0" id="table3">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101920" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101920">
- 101920</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">mylar
- editor doesn't provide ruler shortcuts </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102589" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102589">
- 102589</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">decorator
- flicker in package explorer </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102676" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102676">
- 102676</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- support for moving from study phase1 to phase2 </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102800" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102800">
- 102800</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- selections in package explorer jump to previous location
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102916" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102916">
- 102916</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">split
- bugzilla into core and ui plugins </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103014" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103014">
- 103014</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problems
- list filtering is broken </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103099" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103099">
- 103099</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">decouple
- tasks from mylar.ui </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103288" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103288">
- 103288</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&quot;close
- all editors&quot; not closing all </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103368" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103368">
- 103368</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">refactor
- bugzilla UI and dependancy with task list </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103373" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103373">
- 103373</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">on task
- activation expand all intersting in managed views </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103418" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103418">
- 103418</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- active search UI </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103585" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103585">
- 103585</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer refreshes too much </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103589" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103589">
- 103589</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">task list
- and active search contribution items fail to sh... </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103748" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103748">
- 103748</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- highlighters work with de-coupled task list </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103915" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103915">
- 103915</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Parameters are missing from the context assist </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104037" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104037">
- 104037</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ensure
- that monitor can progress through phases </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104091" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104091">
- 104091</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">predicted
- interest items are never removed from the contest </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102090" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102090">
- 102090</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">package
- explorer synchronization with interest filtering off </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102101" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102101">
- 102101</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">mylar
- perspective extensions </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102667" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102667">
- 102667</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">clarify
- preference wizard effects and preference page </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103415" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103415">
- 103415</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add new
- and noteworthy on Java Browsing perspective </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103435" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103435">
- 103435</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">suppress
- automatic wizard launches when in runtime workspace </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103749" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103749">
- 103749</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Inconsistent font usage in Mylar Task List </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103940" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103940">
- 103940</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">update
- documentation for 0.3.2 </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104070" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104070">
- 104070</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">put back
- drill-down adapter on task list </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103236" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103236">
- 103236</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make sure
- active reports can't disappear </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103237" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103237">
- 103237</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- mechanism to back up all task scapes, tasklist etc. </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103289" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103289">
- 103289</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">preserve
- downloaded labels during refresh </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103364" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103364">
- 103364</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- timestamp to user sign-up </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103414" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103414">
- 103414</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- task list documentation </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103680" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103680">
- 103680</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- preference page for the monitor </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103726" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103726">
- 103726</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">reopened
- bug reports are filtered as completed </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103422" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103422">
- 103422</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">labels
- showing HTML characters wrong </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103570" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103570">
- 103570</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ensure
- that task list writes versions </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102662" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102662">
- 102662</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">lkf@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">create
- summary statistics for perspective usage </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102595" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102595">
- 102595</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">feature
- for &quot;About&quot; dialog </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102682" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102682">
- 102682</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- new comment text area </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102852" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102852">
- 102852</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- link to bug report in editor </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103016" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103016">
- 103016</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">silent
- failure to open bug reports </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103107" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103107">
- 103107</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">bugzilla
- fails to load corrupted offline reports </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103332" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103332">
- 103332</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- buzilla support proxy servers </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103594" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103594">
- 103594</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- query categories work again </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103744" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103744">
- 103744</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">bugzilla
- reports are not refreshed </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104057" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104057">
- 104057</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">on
- startup active task's context is inactive </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100661" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100661">
- 100661</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- bugzilla &quot;submit&quot; button use job </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102586" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102586">
- 102586</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add &quot;
- refresh products&quot; button to new bug report wizard page
- </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103280" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103280">
- 103280</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">remember
- query settings in tasks list </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103411" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103411">
- 103411</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- bug editor UI </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103519" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103519">
- 103519</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make
- single BugzillaContentProvider </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103876" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103876">
- 103876</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make task
- list refresh on bug editor submit </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103880" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103880">
- 103880</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- &quot;create bugzilla report&quot; action to task list </span></font>
- </td>
- </tr>
- </table>
- </div>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.1 released 2005-07-11</h3>
- <p><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">The goals for this
- Friday’s 0.3.2 release will be responding to the first user feedback
- that we get, hardening predicted interest, improving the UIs of the
- active views, and improving the coupling between the Mylar core,
- Bugzilla, and Tasks plug-ins. </span></font></p>
- <p><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (30 total)</span></font></b></p>
- <table class="MsoNormalTable" style="WIDTH: 87.32%" cellSpacing="0" cellPadding="0" width="87%" border="0" id="table2">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101940" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101940">
- 101940</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Landmark
- notification incorrect </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102365" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102365">
- 102365</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">fix crazy
- explorer selection cascade </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102418" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102418">
- 102418</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Java Browsing
- views don't update properly </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102786" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102786">
- 102786</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">keyboard
- shortcuts not working </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102889" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102889">
- 102889</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">use Eclipse
- proxy settings for upload/registration </span></font></nobr>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103014" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103014">
- 103014</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problems list
- filtering is broken </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103222" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103222">
- 103222</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">maj</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">manual
- landmark update is broken </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100920" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100920">
- 100920</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">mylar
- attempts to select everything on update from cvs </span></font>
- </nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102667" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102667">
- 102667</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">clarify
- preference wizard effects and preference page </span></font>
- </nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102675" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102675">
- 102675</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">prune
- dangling predicted interest nodes </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102800" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102800">
- 102800</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">selections in
- package explorer jump to previous location </span></font></nobr>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102954" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102954">
- 102954</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">blo</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Unable to get
- a user study id </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102896" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102896">
- 102896</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P4</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">restore
- default on preference page disables OK button </span></font>
- </nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102669" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102669">
- 102669</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- deletions of tasks with context </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102593" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102593">
- 102593</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support for
- refreshing a single query </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102685" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102685">
- 102685</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add study
- sign up wizard </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102791" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102791">
- 102791</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">remove the
- dependancy on XStream </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102871" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102871">
- 102871</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- mechanism for opening reports in a web browser </span></font>
- </nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101916" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101916">
- 101916</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">minor task
- list UI nits </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102409" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102409">
- 102409</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">task list
- drag and drop </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102671" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102671">
- 102671</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">automatic
- elapsed time for tasks </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102672" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102672">
- 102672</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">closing the
- task editor </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103032" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103032">
- 103032</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">npe on close
- of eclipse when task list is still refreshing </span></font>
- </nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103228" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103228">
- 103228</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">make labels
- italic when bug reports are being refreshed </span></font>
- </nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103229" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103229">
- 103229</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- preference for automatic bugzilla refresh on work... </span>
- </font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102795" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102795">
- 102795</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P3</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">ksueda@gmail.com</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">preference
- page fails to show </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102600" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102600">
- 102600</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">nor</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">lkf@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">provide
- generic action monitoring facility </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102664" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102664">
- 102664</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">lkf@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">monitor
- activity/capability changes </span></font></nobr></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103034" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103034">
- 103034</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">enh</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P2</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">lkf@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">log new
- workbench window openings and closings </span></font></nobr>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103016" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=103016">
- 103016</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">cri</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">P1</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">silent
- failure to open bug reports </span></font></nobr></td>
- </tr>
- </table>
- <h3>&nbsp;</h3>
- <h3>Mylar 0.3.0 released 2005-07-04</h3>
- <p><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">The first cut at the
- Mylar 0.3.1 preview release is scheduled for this Friday.&nbsp; All sources
- are up on eclipse.org, other than the monitor feature, which will have
- to remain at UBC for the duration of the study.&nbsp; Planning and
- discussions should take place on this list from now on. Each Monday I
- will report on the tasks that we have completed in the past week, the P1
- tasks that need to be done this week, and the P2 tasks that would nice
- to have done this week.&nbsp; All reports marked as P3 should be considered
- when we schedule the following week’s tasks.&nbsp; For the duration of the
- study we’ll rev the minor-minor version number each Friday, making those
- updates available to study subjects.&nbsp; I’ll keep the following page
- up-to-date as our conventions evolve:
- <a title="http://eclipse.org/mylar/dev.html" href="http://eclipse.org/mylar/dev.html">
- http://eclipse.org/mylar/dev.html</a> </span></font></p>
- <p><b><font face="Tahoma" size="2">
- <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Tasks completed last week (22 total)</span></font></b></p>
- <div class="Section1">
- <table class="MsoNormalTable" style="WIDTH: 88.24%" cellSpacing="0" cellPadding="0" width="88%" border="0" id="table1">
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101891" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101891">
- 101891</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">LATE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- support for monitoring preference changes </span></font>
- </td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102200" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102200">
- 102200</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">resetting
- folding discards unsaved edits </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102588" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102588">
- 102588</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problem
- with UI hang on startup </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102049" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102049">
- 102049</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- monitor support for upgrading from baseline to Mylar </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100461" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100461">
- 100461</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Unable to
- Raise Children Properly </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101561" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101561">
- 101561</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ksueda@gmail.com
- </span></font></nobr></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- Categories and Tasks should be different </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101898" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101898">
- 101898</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">improve
- icons </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101899" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101899">
- 101899</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ksueda@gmail.com
- </span></font></nobr></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">problems
- with task list refresh </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102249" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102249">
- 102249</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">on shell
- de-activation Mylar causes noticeable slowdown </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102352" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102352">
- 102352</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ksueda@gmail.com
- </span></font></nobr></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">adding a
- new bugzilla report doesn't cause it to appear </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102382" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102382">
- 102382</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- perspective change monitoring </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101911" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101911">
- 101911</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Support
- bugzilla queries </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102399" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102399">
- 102399</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">support
- interest filtering in Java Browsing Perspective </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=99420" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=99420">
- 99420</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">beatmik@acm.org</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Plugin
- Xml filtering problems </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100946" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100946">
- 100946</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ksueda@gmail.com</span></font></nobr></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">RESO
- </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">remove
- ability to create subtasks </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101562" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101562">
- 101562</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">ksueda@gmail.com
- </span></font></nobr></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">DUPL</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Add
- support for creating a bugzilla query category </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100627" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100627">
- 100627</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Add
- preference for automatic closing </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100983" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100983">
- 100983</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">active
- search view fails to refresh when results return </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101661" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101661">
- 101661</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">beatmik@acm.org</span></font></nobr></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">view
- filters </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101901" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101901">
- 101901</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">add
- keyboard shortcut for &quot;search in task context&quot; </span>
- </font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102120" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102120">
- 102120</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">verify
- new bugzilla icons </span></font></td>
- </tr>
- <tr>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 15pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <a title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102243" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102243">
- 102243</a> </span></font></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">sminto@cs.ubc.ca</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">RESO</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <nobr>
- <p class="MsoNormal">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
- <font face="Tahoma" size="2">FIXE</font></span></nobr><span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><font face="Tahoma" size="2">
- </font></span></td>
- <td style="PADDING-RIGHT: 3pt; PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; PADDING-TOP: 3pt">
- <p class="MsoNormal"><font face="Tahoma" size="2">
- <span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">failure
- to set status of report to FIXED </span></font></td>
- </tr>
- </table>
- </div>
- <p>&nbsp;</p>
- <h3>Mylar 0.2 internal release 2005-03</h3>
- <p>
- <font face="Tahoma" size="2">
- <span style="font-size: 10pt; font-family: Tahoma">Mylar views integrated with standard JDT views,
- problems list, navigator, and outline.&nbsp; Aware of Java, plugin.xml, Ant build.xml, and Bugzilla
- structure.&nbsp; Active search prototype.&nbsp; Task
- list, generic interest decorators, sorters, filters.&nbsp;
- </span></font>
- </p>
- <p>
- &nbsp;</p>
- <h3>Mylar 0.1 internal release 2004-08</h3>
- <p><font face="Tahoma" size="2">
- <span style="font-size: 10pt; font-family: Tahoma">Private release for
- IBM Toronto Lab user study.&nbsp; Mylar degree-of-interest visualization
- appears in the following new Eclipse views intended to replace their
- Eclipse counterparts: Package Explorer,
- Problems List, and Document Outline.</span></font></p>
- </body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.help.ui/doc/developer/dependencies.vsd b/org.eclipse.mylyn.help.ui/doc/developer/dependencies.vsd
deleted file mode 100644
index 1ece91b2c..000000000
--- a/org.eclipse.mylyn.help.ui/doc/developer/dependencies.vsd
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/developer/index.html b/org.eclipse.mylyn.help.ui/doc/developer/index.html
deleted file mode 100644
index b2832954a..000000000
--- a/org.eclipse.mylyn.help.ui/doc/developer/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Mylar Tools
- </title>
- </head>
- <body>
- <h1>
- Developer Documentation</h1>
- <p>The latest developer documentation is at:
- <a href="http://eclipse.org/mylar/dev.html">
- http://eclipse.org/mylar/dev.html</a> </p>
-
- </body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.mylyn.help.ui/doc/developer/model.vsd b/org.eclipse.mylyn.help.ui/doc/developer/model.vsd
deleted file mode 100644
index 168c5f186..000000000
--- a/org.eclipse.mylyn.help.ui/doc/developer/model.vsd
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/faq.html b/org.eclipse.mylyn.help.ui/doc/faq.html
deleted file mode 100644
index 7c855a9d5..000000000
--- a/org.eclipse.mylyn.help.ui/doc/faq.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Mylar Limitations
- </title>
- </head>
- <body>
- <h1>
- Frequent Asked Questions</h1>
- <h3>What platforms are supported?</h3>
- <p>Mylar supports Eclipse 3.1 final and Eclipse 3.2 milestone releases.&nbsp;
- For the time being Mylar <i>only runs in a Java 5 VM</i>, but we are
- exploring support for JDK 1.4 VMs.</p>
- <h3>What are the known limitations?</h3>
- <p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=106678">Bug 106678</a>&nbsp;
- The Package Explorer's hierarchical layout is not supported. </p>
- <p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102663">Bug
- 102663</a>&nbsp; Multiple workbench windows are not supported and Mylar will
- not work properly if you have more than one window open.</p>
- <p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=102848">Bug
- 102848</a>&nbsp; You can only set one bugzilla repository per workspace.&nbsp; </p>
- <p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=109314">Bug
- 109314</a>&nbsp; Folding must be toggled off in order to view all the
- matches for &quot;mark occurrences&quot;.&nbsp; This is not a Mylar-specific
- limitation but is more noticeable when Automatic Folding is enabled.</p>
- <p>106678</p>
- <h3>How do I stop declarations from showing up in the Package Explorer?</h3>
- If you don't like Mylar's constant showing of Java members in the
- Package Explorer, select the drop-down menu, then &quot;Filters...&quot; and
- enable the &quot;Mylar Java Declarations Filter&quot;.&nbsp; It will then
- stick in the menu in case you want to toggle between modes.<p>
- <img border="0" src="images/filtering-declarations.gif" width="441" height="211"></p>
- <h3>
- Why does nothing show up in the Active Search or Active Hierarchy?</h3>
- <p>
- As you work and elements become landmarks (bold decoration), and
- these elements populate the Active Search and Active Hierarchy
- views.&nbsp; To force an element to populate the views manually make
- it a landmark by right-clicking or hitting Ctrl+Alt+Shift+Up Arrow.&nbsp; </p>
-
- </body>
-</html>
-
diff --git a/org.eclipse.mylyn.help.ui/doc/images/active-hierarchy.gif b/org.eclipse.mylyn.help.ui/doc/images/active-hierarchy.gif
deleted file mode 100644
index 35651b170..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/active-hierarchy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/active-search-linked.gif b/org.eclipse.mylyn.help.ui/doc/images/active-search-linked.gif
deleted file mode 100644
index 1407080bf..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/active-search-linked.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/active-search-manipulation.gif b/org.eclipse.mylyn.help.ui/doc/images/active-search-manipulation.gif
deleted file mode 100644
index b3e3784ab..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/active-search-manipulation.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/active-search-qualify.gif b/org.eclipse.mylyn.help.ui/doc/images/active-search-qualify.gif
deleted file mode 100644
index 83109c54a..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/active-search-qualify.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/active-search.gif b/org.eclipse.mylyn.help.ui/doc/images/active-search.gif
deleted file mode 100644
index 63af2fd51..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/active-search.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/alt-click.gif b/org.eclipse.mylyn.help.ui/doc/images/alt-click.gif
deleted file mode 100644
index fc2a91bcf..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/alt-click.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-hyperlink.gif b/org.eclipse.mylyn.help.ui/doc/images/bugzilla-hyperlink.gif
deleted file mode 100644
index 22dfa8780..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-hyperlink.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-internal-browser.gif b/org.eclipse.mylyn.help.ui/doc/images/bugzilla-internal-browser.gif
deleted file mode 100644
index 6087ee5b8..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-internal-browser.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-query-custom.gif b/org.eclipse.mylyn.help.ui/doc/images/bugzilla-query-custom.gif
deleted file mode 100644
index 7f341e135..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-query-custom.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-synch.gif b/org.eclipse.mylyn.help.ui/doc/images/bugzilla-synch.gif
deleted file mode 100644
index 390e6ea86..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/bugzilla-synch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/filter-auto-toggle.gif b/org.eclipse.mylyn.help.ui/doc/images/filter-auto-toggle.gif
deleted file mode 100644
index 02670b06a..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/filter-auto-toggle.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/filtering-ant.gif b/org.eclipse.mylyn.help.ui/doc/images/filtering-ant.gif
deleted file mode 100644
index eac12cbf4..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/filtering-ant.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/filtering-declarations.gif b/org.eclipse.mylyn.help.ui/doc/images/filtering-declarations.gif
deleted file mode 100644
index 9362a231f..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/filtering-declarations.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/filtering-exclusion.gif b/org.eclipse.mylyn.help.ui/doc/images/filtering-exclusion.gif
deleted file mode 100644
index ff1c65b23..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/filtering-exclusion.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/filtering-navigator.gif b/org.eclipse.mylyn.help.ui/doc/images/filtering-navigator.gif
deleted file mode 100644
index fd9d2157e..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/filtering-navigator.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/folding-toggle.gif b/org.eclipse.mylyn.help.ui/doc/images/folding-toggle.gif
deleted file mode 100644
index bfaa55233..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/folding-toggle.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/highlight.gif b/org.eclipse.mylyn.help.ui/doc/images/highlight.gif
deleted file mode 100644
index 7368b7f25..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/highlight.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/interest-content-assist.gif b/org.eclipse.mylyn.help.ui/doc/images/interest-content-assist.gif
deleted file mode 100644
index 67c85f9d8..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/interest-content-assist.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/interest-error.gif b/org.eclipse.mylyn.help.ui/doc/images/interest-error.gif
deleted file mode 100644
index d57c90d25..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/interest-error.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/interest-java-browsing.gif b/org.eclipse.mylyn.help.ui/doc/images/interest-java-browsing.gif
deleted file mode 100644
index 031d55daf..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/interest-java-browsing.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/interest-manipulate.gif b/org.eclipse.mylyn.help.ui/doc/images/interest-manipulate.gif
deleted file mode 100644
index 5640c2b2a..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/interest-manipulate.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/open-type.gif b/org.eclipse.mylyn.help.ui/doc/images/open-type.gif
deleted file mode 100644
index 2b1879eb4..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/open-type.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/overview.gif b/org.eclipse.mylyn.help.ui/doc/images/overview.gif
deleted file mode 100644
index b005ae592..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/overview.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/preference-error-interest.gif b/org.eclipse.mylyn.help.ui/doc/images/preference-error-interest.gif
deleted file mode 100644
index ee172dfbe..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/preference-error-interest.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/search-context.gif b/org.eclipse.mylyn.help.ui/doc/images/search-context.gif
deleted file mode 100644
index 43aed77ec..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/search-context.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/task-context-visible.gif b/org.eclipse.mylyn.help.ui/doc/images/task-context-visible.gif
deleted file mode 100644
index 2a3943b3e..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/task-context-visible.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasklist-actions.gif b/org.eclipse.mylyn.help.ui/doc/images/tasklist-actions.gif
deleted file mode 100644
index 880813f89..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasklist-actions.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-archive.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-archive.gif
deleted file mode 100644
index a060adbfd..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-archive.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-drilldown.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-drilldown.gif
deleted file mode 100644
index 18c536aad..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-drilldown.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-go-navigation.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-go-navigation.gif
deleted file mode 100644
index 7be278ba6..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-go-navigation.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-history.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-history.gif
deleted file mode 100644
index 419a2d2d5..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-history.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-offline.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-offline.gif
deleted file mode 100644
index 96c74ab4a..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-offline.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-quick-filter.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-quick-filter.gif
deleted file mode 100644
index a0fd9f09e..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-quick-filter.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/tasks-reminders.gif b/org.eclipse.mylyn.help.ui/doc/images/tasks-reminders.gif
deleted file mode 100644
index d1abb52ce..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/tasks-reminders.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/images/test-context.gif b/org.eclipse.mylyn.help.ui/doc/images/test-context.gif
deleted file mode 100644
index dba15f26a..000000000
--- a/org.eclipse.mylyn.help.ui/doc/images/test-context.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.help.ui/doc/new.html b/org.eclipse.mylyn.help.ui/doc/new.html
deleted file mode 100644
index 901096ada..000000000
--- a/org.eclipse.mylyn.help.ui/doc/new.html
+++ /dev/null
@@ -1,764 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<meta http-equiv="Content-Language" content="en-us">
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1"
- type="text/css">
-<title>Mylar New & Noteworthy</title>
-</head>
-<body>
-<h2>New and Noteworthy for Mylar 0.4</h2>
-<p>Features added since Mylar 0.3.12 are <span style="background-color: #FFCC99">&nbsp;highlighted.</span>&nbsp;
-Send questions to <a href="mailto:mylar-dev@eclipse.org">mylar-dev@eclipse.org</a>.&nbsp;
-Submit feature requests to
-<a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Mylar">Bugzilla</a>.</p>
-<h3>Task context</h3>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table67">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Optional monitor</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFCC99">Can be enabled
- voluntarily... if monitor is extended a message shows.</span><p>
- &nbsp;</td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table66">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Web Documents in Context</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFCC99">Web documents navigated to
- are captured and displayed...</span><p>
- &nbsp;</td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table65">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Links to web reports</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFCC99">Tasks can be created with
- web links, easily opened...</span><p>
- &nbsp;</td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table62">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>JUnit testing of task context</b></p>
- </td>
- <td width="70%" valign="top">
- To automatically test every
- element in your task context add one of the two Mylar JUnit launch
- configurations visible below.&nbsp; This has the effect of
- automatically creating a suite with every interesting test in your
- context (those that you've selected and edited), as well as every
- test that has a predicted interest (those whose test methods show up
- in the Active Search view).<p>
- <img border="0" src="images/test-context.gif" width="555" height="194"></td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table63">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table60">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Linked mode for Active Search</b></p>
- </td>
- <td width="70%" valign="top">
- The Active Search view now
- has a &quot;Link with Editor&quot; button.<p>
- <img border="0" src="images/active-search-linked.gif" width="241" height="158"></td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table61">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table64">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Predicted interest of errors</b></p>
- </td>
- <td width="70%" valign="top">
- The predicted interest of
- errors can be turned and off in the Java preferences.&nbsp;<span style="background-color: #FFCC99"> </span>
- When on, Java elements that have errors get a predicted
- interest, which means that they show up in views such as a the
- package explorer.&nbsp; Once the errors are fixed the predicted
- interest goes away.&nbsp; Set this on the Java preference page.&nbsp;
- Off by default.<p>
- <img border="0" src="images/preference-error-interest.gif" width="488" height="131"><p>
- <img border="0" src="images/interest-error.gif" width="233" height="189"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table55">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Reduced context size</b></p>
- </td>
- <td width="70%" valign="top">
- When a context is saved it
- now gets collapsed to remove redundancy in how interaction events
- contribute to interest. This results in an order of magnitude file
- size reduction, and much faster activation/deactivation. </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table56">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table42">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Open Type integration</b></p>
- </td>
- <td width="70%" valign="top">
- If a task context is active, the Open Type dialog will first types
- that are in the task context, and then place those matches on top of
- the list as you type.&nbsp; When no task is active the Open Type
- dialog reverts to its standard behavior of showing types that you
- have selected from within the dialog.<p>
- <img border="0" src="images/open-type.gif" width="487" height="259"></td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table51">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table45">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Qualified names in Active Search</b></p>
- </td>
- <td width="70%" valign="top">
- A toolbar button controls whether element names are qualified in the
- Active Search view.<p>
- <img border="0" src="images/active-search-qualify.gif" width="236" height="125"></td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table52">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table48">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Increased laziness</b></p>
- </td>
- <td width="70%" valign="top">
- When no task is active, Mylar is inactive and Eclipse should behave
- as if Mylar were not installed.&nbsp; Also, when the Active Search
- view is closed, no background searches will be run.</td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table50">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table41">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Drag-and-drop Landmark creation</b></p>
- </td>
- <td width="70%" valign="top">
- Elements such as methods and
- types can be drag-and-dropped into the Active Search and Active
- Hierarchy views.&nbsp; This will cause them to become landmarks, and
- to populate those views with related elements.&nbsp; To get rid of
- an element from an active view it needs to be made less interesting
- than a landmark, which can be done by right-clicking it in any view
- and selecting the &quot;Make Less Interesting&quot; action, or by hitting
- Ctrl+Alt+Shift+Down Arrow when editing that element.<p>
- <img border="0" src="images/active-search-manipulation.gif" width="509" height="219"></td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table49">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table26">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Active Search</b></p>
- </td>
- <td width="70%" valign="top">
- As you work and elements become landmarks
- (bold decoration), Active Search eagerly finds related elements.&nbsp;
- To force an element to populate the Active Search view manually make
- it a landmark by right-clicking or hitting Ctrl+Alt+Shift+Up Arrow.&nbsp;
- Use the pull-downs on the toolbar to alter the degree-of-separation
- scope of the search.&nbsp; Note that elements with predicted
- interest are gray.<p>
- <img border="0" src="images/active-search.gif" width="340" height="309"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table27">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Active Hierarchy</b></p>
- </td>
- <td width="70%" valign="top">
- Similar to Active Search, this view actively
- finds and presents the type hierarchy of the current set of
- landmarks.<p>
- <img border="0" src="images/active-hierarchy.gif" width="364" height="145"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table29">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Filter declarations in Package Explorer </b></p>
- </td>
- <td width="70%" valign="top">
- If you don't like Mylar's constant showing of Java members in the
- Package Explorer, select the drop-down menu, then &quot;Filters...&quot; and
- enable the &quot;Mylar Java Declarations Filter&quot;.&nbsp; It will then
- stick in the menu in case you want to toggle between modes.<p>
- <img border="0" src="images/filtering-declarations.gif" width="441" height="211"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- </table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table23">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Interest filter exclusions</b></p>
- </td>
- <td width="70%" valign="top">
- Resources that are always
- considered interesting can be configured to always show when the
- interest filter is on, via the root Mylar preference page.&nbsp;
- Note that the parent of the resource, e.g. the project or folder,
- needs to be interesting for it's children to show.&nbsp;
- <p>
- <img border="0" src="images/filtering-exclusion.gif" width="420" height="240"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table16">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Context highlighters</b></p>
- </td>
- <td valign="top" width="70%">
- You can associate a task with a highlighter. This can be useful if
- you are using Mylar without the filtering support.&nbsp; It also
- allows you to distinguish between task contexts if you have multiple
- tasks active.&nbsp;&nbsp; <p><img
- src="images/highlight.gif"></p>
-
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Ant editing</b></p>
- </td>
- <td width="70%" valign="top">
- Interest-based filtering is now supported in the Ant editor's
- Outline view by toggling the glasses.<p>
- <img border="0" src="images/filtering-ant.gif" width="464" height="113"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table8">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Interest-based content assist</b></p>
- </td>
- <td width="70%" valign="top">
- The top of the content assist menu will put the items that are in
- your task context on top of the list, to enable quick selection via
- arrow keys. Once you start typing the menu will work as usual. Note
- that the Mylar Java Editor needs to be set as default for &quot;.java&quot;
- files (this is the only new functionality that comes from the Mylar
- Java editor).<p>
- <img border="0" src="images/interest-content-assist.gif" width="432" height="131"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table40">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Navigator interest filtering</b></p>
- </td>
- <td width="70%" valign="top">
- Interest filtering works in the navigator, similarly to the Package
- Explorer.&nbsp; To temporarily un filter a node Alt+click it<p>
- <img border="0" src="images/filtering-navigator.gif" width="353" height="195"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table9">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Toggle auto folding</b></p>
- </td>
- <td width="70%" valign="top">
- Pressing the editor toolbar button with the Mylar glasses on it will
- enable/disable Mylar's automatic folding.&nbsp; This can be useful
- when needing to browse through the code, or copy/paste code around
- (since Eclipse's folding support can cause odd expansions when
- copying folded regions,
- <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104648">bug
- 104648</a>).<p>
- <img border="0" src="images/folding-toggle.gif" width="276" height="127"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table4">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Show all filtered children</b></p>
- </td>
- <td width="70%" valign="top">
- When you are using filtering in a Mylar view you have the option of
- temporarily showing all children of a filtered node by &lt;alt&gt;clicking
- a node that is not currently selected.&nbsp; For example, you can
- &lt;alt&gt;click a source folder, keep the &lt;alt&gt; key down, and continue
- drilling down until you find a method of interest.&nbsp;
- <p><img src="images/alt-click.gif" alt="Alt Click"
- title="New Java Project Wizard"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- </table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table5">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Search within task context</b></p>
- </td>
- <td valign="top" width="70%">The automatically updated Mylar Task
- Context working set can be searched as any other working set, either
- via the popup menus or using the search dialog.&nbsp; For example,
- to find all System.out/err calls before checking in, search for
- &quot;System.&quot; within the task context. To quickly search all references
- click Alt+Shift+G.<p>
- <img border="0" src="images/search-context.gif" width="470" height="133"></p>
-
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table6">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Directly manipulate interest</b></p>
- </td>
- <td valign="top" width="70%">Directly manually manipulate the
- interest level of one or more elements by right clicking them and using the two
- Mylar actions in the popup menu.&nbsp; Keyboard shortcuts for these
- are Ctrl+Alt+Shift+Up Arrow for Make Landmark, and&nbsp;
- Ctrl+Alt+Shift+Down Arrow for Make Less Interesting.&nbsp; This now supports disjoint
- selections.<p>
- <img border="0" src="images/interest-manipulate.gif" width="262" height="65"></p>
-
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table7">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Interest filtering for the Java Browsing
- perspective</b></p>
- </td>
- <td valign="top" width="70%">Interest filtering can be toggled for
- the Packages, Types, and Members views simultaneously by clicking
- the leftmost toolbar button visible below.<p>
- <img border="0" src="images/interest-java-browsing.gif" width="404" height="100"></p>
-
- </td>
- </tr>
- </table>
-
-<h3>Task List</h3>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table46">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Task history</b></p>
- </td>
- <td width="70%" valign="top">
- The task list now has a
- back/forward navigation history with drop-downs of previously
- activated tasks.<p>
- <img border="0" src="images/tasks-history.gif" width="495" height="169"></td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table47">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table39">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Task context indication</b></p>
- </td>
- <td valign="top" width="70%">
- If a task has a context,
- this will show as faint Mylar glasses on the task.&nbsp; The dark
- glasses and bold label indicate which task is active.<p>
- <img border="0" src="images/task-context-visible.gif" width="318" height="188"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table31">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Synchronization state</b></p>
- </td>
- <td valign="top" width="70%">
- If a bug report has information on it that has not been viewed, such
- as new comments, the blue &quot;incoming&quot; overlay is displayed.&nbsp; If
- a bug has changes on it that have been saved but have not been
- committed to Bugzilla, the gray &quot;outgoing&quot; overlay is displayed.&nbsp;
- A red overlay appears if there is a conflict.<p>
- <img border="0" src="images/bugzilla-synch.gif" width="323" height="186"></p>
-
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table30">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Offline mode</b></p>
- </td>
- <td valign="top" width="70%">
- You can now explicitly state
- whether you want to work with cached copies of Bugzilla reports and
- avoid refresh with the server.&nbsp; In offline mode the cached bug
- copy is always used.&nbsp; In online mode the Bugzilla server is
- always checked for the latest report.<p>
- <img border="0" src="images/tasks-offline.gif" width="326" height="207"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table32">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Task history navigation</b></p>
- </td>
- <td width="70%" valign="top">
- Navigate between previously
- activate tasks using the Task List view's pull down menu (upper
- right-hand corner of the toolbar).<p>
- <img border="0" src="images/tasks-history.gif"></p>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table33">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table17">
- <colgroup>
- <col width="20%" valign="top" align="right">
- <col width="80%" valign="top" align="left">
- </colgroup>
- <tbody>
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Focus on a single task category</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFFFFF">To see only the tasks for a single category
- select the &quot;Go Into Category&quot; action from the context menu.&nbsp; To
- go back to viewing all tasks and categories under the root use the
- &quot;Go Up To Root&quot; action in the Task List's toolbar pull down menu
- (visible above).</span><p>
- <img border="0" src="images/tasks-go-navigation.gif" width="284" height="74"></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table13">
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Quick filter</b></p>
- </td>
- <td width="70%" valign="top">
- To filter task by name or
- regexp type the filter text into the field and all matched tasks
- will display.&nbsp; Note that this will temporarily suppress all
- other filters.&nbsp; To clear the query press the &quot;x&quot; button to the
- right of the text field.<p>
- <img border="0" src="images/tasks-quick-filter.gif" width="315" height="173"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table14">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Reminders</b></p>
- </td>
- <td width="70%" valign="top">
- Set a reminder for a task when creating it, or by selecting the
- &quot;Summary&quot; tab of the Task Editor.&nbsp; When you start using Eclipse
- on the given day the reminders will come up.<p>
- <img border="0" src="images/tasks-reminders.gif" width="452" height="154"></td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table10">
- <colgroup>
- <col width="20%" valign="top" align="right">
- <col width="80%" valign="top" align="left">
- </colgroup>
- <tbody>
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Open reports in web browser</b></p>
- </td>
- <td width="70%" valign="top">
- Bug reports can be opened with either the Bug Editor or the Internal
- Web Browser.&nbsp; This can be set as a Task List preferences.&nbsp;
- When the Bug Editor is open you can click the hyperlink to show the
- report in the browser (e.g. to use a feature not yet available in
- the editor, such as voting).&nbsp; <p>
- <img border="0" src="images/bugzilla-internal-browser.gif" width="344" height="157"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table57">
- <colgroup>
- <col width="20%" valign="top" align="right">
- <col width="80%" valign="top" align="left">
- </colgroup>
- <tbody>
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Move tasks directory</b></p>
- </td>
- <td width="70%" valign="top">
- Bug reports can be opened with either the Bug Editor or the Internal
- Web Browser.&nbsp; This can be set as a Task List preferences.&nbsp;
- When the Bug Editor is open you can click the hyperlink to show the
- report in the browser (e.g. to use a feature not yet available in
- the editor, such as voting).&nbsp; <p>
- <img border="0" src="images/bugzilla-internal-browser.gif" width="344" height="157"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3>Bugzilla Client</h3>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table36">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Support Ctrl+click in Java Editor to navigate to
- bug</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFFFFF">Ctrl+click on a comment that
- contains one of the following forms will open the bug with the given
- id: bug# 123, bug 123,
- Bug #123,
- Bug#123. (Note that all of these are
- case insensitive and can be followed by a colon or whitespace).</span><p>
- <img border="0" src="images/bugzilla-hyperlink.gif" width="381" height="102"></p>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table37">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table38">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Custom queries</b></p>
- </td>
- <td valign="top" width="70%">
- To create a custom Bugzilla
- query paste the query URL into the New Bugzilla Query dialog. This
- enables support of queries that can not be configured via the
- dialog, and as such some query hits may not open or format properly.<p>
- <img border="0" src="images/bugzilla-query-custom.gif" width="483" height="106"></p>
-
- </td>
- </tr>
- </table>
-
-</body>
-</html>
diff --git a/org.eclipse.mylyn.help.ui/doc/overview.html b/org.eclipse.mylyn.help.ui/doc/overview.html
deleted file mode 100644
index 1bb6f37fb..000000000
--- a/org.eclipse.mylyn.help.ui/doc/overview.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Mylar Overview
- </title>
- </head>
- <body>
- <h1>
- Mylar Overview</h1>
- <p><i>The best way to get an overview of Mylar is by watching the flash
- demos, then by checking the latest </i> <b>
- <a href="new.html">What's New</a></b></p>
- <ul>
- <li><b><a href="http://eclipse.org/mylar/doc/demo/mylar-demo-03.html">
- Getting started</a></b> (5 minutes)</li>
- <li><b>
- <a href="http://eclipse.org/mylar/doc/demo/mylar-demo-03-search.html">
- Using active views</a> </b>(2 minutes)</li>
- <li>Managing tasks (to come)</li>
- </ul>
- <p>As you work on programming tasks, Mylar watches your activity and creates
- a task context.&nbsp; This context is associated with the task that you have
- activated.&nbsp; Mylar extends Eclipse structure views and editors to show
- you only what you're working on by focusing on the task context, and to
- highlight the degree of interest of the program structure that you are
- working on.&nbsp; The following list and figure summarize the core Mylar
- features.&nbsp; </p>
- <ol>
- <li>Use the task list to create tasks and categories.&nbsp; You can also
- add a bugzilla report as a task, or create a bugzilla query as a
- category.&nbsp; A task context is activated by clicking the gray
- glasses, which causes the task and its category to become bold.&nbsp;
- Note that tasks can show up in multiple categories (e.g. as a result of
- a query, as in the figure below).&nbsp; To disable the context click the
- glasses again.&nbsp; If you are using bugzilla reports you must
- configure the Bugzilla server first (Preferences -&gt; Bugzilla).&nbsp; If
- you double-click a Bugzilla report it will open with the internal
- browser, or with a Bugzilla Editor if you set Preferences -&gt; Mylar -&gt;
- Task List accordingly.</li>
- <li>Click the Mylar glasses to filter out all uninteresting elements
- (i.e. those not a part of the task context), shown here on the Outline
- view.&nbsp; You will notice that views with Mylar filtering update
- automatically as you work.&nbsp; Toggle this button to switch between
- the standard view mode and the Mylar interest filtering.&nbsp; If you
- have no task context active and all of the Mylar glasses are toggled off
- all of the Mylar functionality is disabled.</li>
- <li>The Problems list can be filtered just like the outline.</li>
- <li>The editor provides an automatic folding feature that can be toggled
- using the toolbar button next to &quot;Mark Occurrences&quot;.&nbsp; When enabled
- all uninteresting elements will be folded, an interesting elements
- unfolded.&nbsp; Note that if you use the Mylar Java editor for &quot;.java&quot;
- files the highest interest elements will be moved to the top of the
- content assist list.</li>
- <li>Mylar filtering works in the Package Explorer as well.&nbsp;
- Elements that are not a part of the task context show up in gray
- consistently throughout the views.&nbsp; The highest interest elements,
- called Landmarks, show up in bold.&nbsp; </li>
- </ol>
- <p><img border="0" src="images/overview.gif" width="640" height="461"></p>
- <p>&nbsp;</p>
-
- </body>
-</html>
diff --git a/org.eclipse.mylyn.help.ui/doc/toc.xml b/org.eclipse.mylyn.help.ui/doc/toc.xml
deleted file mode 100644
index 55dcf586d..000000000
--- a/org.eclipse.mylyn.help.ui/doc/toc.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Mylar" link_to="../last">
- <topic label="Overview" href="doc/overview.html"/>
- <topic label="New &amp; Noteworthy" href="doc/new.html"/>
- <topic label="FAQ" href="doc/faq.html"/>
- <anchor id="concepts"/>
- <anchor id="tasklist"/>
- <anchor id="java"/>
- <anchor id="xml"/>
- <anchor id="bugzilla"/>
- <anchor id="monitor"/>
- <topic label="For Developers" href="doc/developer/index.html">
- <topic label="Release Notes" href="doc/developer/changes.html"/>
- </topic>
-</toc>
-
-
diff --git a/org.eclipse.mylyn.help.ui/plugin.xml b/org.eclipse.mylyn.help.ui/plugin.xml
deleted file mode 100644
index 20767a262..000000000
--- a/org.eclipse.mylyn.help.ui/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension
- id="org.eclipse.mylar.helpDocs"
- name="Mylar Help"
- point="org.eclipse.help.toc">
- <toc
- file="doc/toc.xml"
- primary="true">
- </toc>
- </extension>
-</plugin>
diff --git a/org.eclipse.mylyn.help.ui/src/empty.txt b/org.eclipse.mylyn.help.ui/src/empty.txt
deleted file mode 100644
index e69de29bb..000000000
--- a/org.eclipse.mylyn.help.ui/src/empty.txt
+++ /dev/null
diff --git a/org.eclipse.mylyn.tasks.core/.classpath b/org.eclipse.mylyn.tasks.core/.classpath
deleted file mode 100644
index cc69b552e..000000000
--- a/org.eclipse.mylyn.tasks.core/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="**/internal/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.tasks.core/.cvsignore b/org.eclipse.mylyn.tasks.core/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.mylyn.tasks.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.mylyn.tasks.core/.project b/org.eclipse.mylyn.tasks.core/.project
deleted file mode 100644
index d9ab28171..000000000
--- a/org.eclipse.mylyn.tasks.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.bugzilla</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.tasks.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f376966c0..000000000
--- a/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Aug 22 20:32:13 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 72190d617..000000000
--- a/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Aug 22 20:32:13 PDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 5adccf083..000000000
--- a/org.eclipse.mylyn.tasks.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:41:31 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 621a008c8..000000000
--- a/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Mylar Bugs Plug-in
-Bundle-SymbolicName: org.eclipse.mylar.bugs; singleton:=true
-Bundle-Version: 0.4
-Bundle-Activator: org.eclipse.mylar.bugs.MylarBugsPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.mylar.core,
- org.eclipse.mylar.ui,
- org.eclipse.mylar.bugzilla.ui,
- org.eclipse.mylar.bugzilla.core,
- org.eclipse.jdt.core,
- org.eclipse.ui.ide,
- org.eclipse.core.resources,
- org.eclipse.mylar.tasklist,
- org.eclipse.mylar.java,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.jface.text,
- org.eclipse.jdt.ui,
- org.eclipse.ui.editors
-Eclipse-AutoStart: true
-Export-Package: org.eclipse.mylar.bugs,
- org.eclipse.mylar.bugs.java,
- org.eclipse.mylar.bugs.search
-Bundle-ClassPath: mylar-bugs.jar
-Bundle-Vendor: Eclipse.org
diff --git a/org.eclipse.mylyn.tasks.core/build-user.xml b/org.eclipse.mylyn.tasks.core/build-user.xml
deleted file mode 100644
index 6097713f2..000000000
--- a/org.eclipse.mylyn.tasks.core/build-user.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<target name="help">
- <echo message="Please run: $ ant -v -projecthelp"/>
-</target> \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.core/build.properties b/org.eclipse.mylyn.tasks.core/build.properties
deleted file mode 100644
index e90142af2..000000000
--- a/org.eclipse.mylyn.tasks.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# 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/,\
- mylar-bugs.jar,\
- plugin.xml
-jars.compile.order = mylar-bugs.jar
-source.mylar-bugs.jar = src/
-output.mylar-bugs.jar = bin/
-src.includes = plugin.xml,\
- src/,\
- META-INF/
diff --git a/org.eclipse.mylyn.tasks.core/build.xml b/org.eclipse.mylyn.tasks.core/build.xml
deleted file mode 100644
index ed9d1ddce..000000000
--- a/org.eclipse.mylyn.tasks.core/build.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:./build-user.xml">]>
-<!-- WARNING: Eclipse autogenerated file.
- Any modifications will be overwritten.
- Please edit build-user.xml instead.
--->
-<project basedir="." default="build" name="org.eclipse.mylar.bugs">
- &buildfile;
- <property name="org.eclipse.mylar.bugzilla.core.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.bugzilla.core"/>
- <property name="org.eclipse.mylar.bugzilla.ui.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.bugzilla.ui"/>
- <property name="org.eclipse.mylar.core.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.core"/>
- <property name="org.eclipse.mylar.java.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.java"/>
- <property name="org.eclipse.mylar.tasklist.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.tasklist"/>
- <property name="org.eclipse.mylar.ui.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.ui"/>
- <path id="project.classpath">
- <path refid="mainproject.classpath"/>
- <path refid="org.eclipse.mylar.bugzilla.core.classpath"/>
- <path refid="org.eclipse.mylar.bugzilla.ui.classpath"/>
- <path refid="org.eclipse.mylar.core.classpath"/>
- <path refid="org.eclipse.mylar.java.classpath"/>
- <path refid="org.eclipse.mylar.tasklist.classpath"/>
- <path refid="org.eclipse.mylar.ui.classpath"/>
- </path>
- <path id="mainproject.classpath">
- <pathelement location="bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.core_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface.text_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.text_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.editors_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.filebuffers_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.bugzilla.core.classpath">
- <pathelement location="${org.eclipse.mylar.bugzilla.core.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.compare_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.search_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.update.core_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.update.ui_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.bugzilla.ui.classpath">
- <pathelement location="${org.eclipse.mylar.bugzilla.ui.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.compare_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.search_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.views_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.forms_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface.text_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.text_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.core.classpath">
- <pathelement location="${org.eclipse.mylar.core.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.java.classpath">
- <pathelement location="${org.eclipse.mylar.java.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.core_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.editors_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.filebuffers_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface.text_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.text_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.search_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.views_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.ide_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.debug.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.team.cvs.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.debug.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.junit_3.1.0/junitsupport.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.junit.runtime_3.1.0/junitruntime.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.pde.junit.runtime_3.1.0/pdejunit.jar"/>
- </path>
- <path id="org.eclipse.mylar.tasklist.classpath">
- <pathelement location="${org.eclipse.mylar.tasklist.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.forms_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.pde.ui_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.ui.classpath">
- <pathelement location="${org.eclipse.mylar.ui.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.views_3.2.0.jar"/>
- </path>
- <target name="init">
- <mkdir dir="bin"/>
- </target>
- <target name="clean">
- <delete dir="bin"/>
- </target>
- <target depends="init" name="build">
- <ant antfile="${org.eclipse.mylar.bugzilla.core.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.bugzilla.ui.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.core.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.java.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.tasklist.location}/build.xml" inheritAll="false"/>
- <ant antfile="${org.eclipse.mylar.ui.location}/build.xml" inheritAll="false"/>
- <echo message="${ant.project.name}: ${ant.file}"/>
- <javac destdir="bin">
- <src path="src"/>
- <classpath refid="project.classpath"/>
- </javac>
- </target>
-</project>
diff --git a/org.eclipse.mylyn.tasks.core/icons/elcl16/edge-ref-bug.gif b/org.eclipse.mylyn.tasks.core/icons/elcl16/edge-ref-bug.gif
deleted file mode 100644
index 9cfd7ec58..000000000
--- a/org.eclipse.mylyn.tasks.core/icons/elcl16/edge-ref-bug.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.core/plugin.xml b/org.eclipse.mylyn.tasks.core/plugin.xml
deleted file mode 100644
index ddf63870a..000000000
--- a/org.eclipse.mylyn.tasks.core/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension
- point="org.eclipse.mylar.core.context">
- <structureBridge
- activeSearchIcon="icons/elcl16/edge-ref-bug.gif"
- activeSearchLabel="Bugzilla References"
- class="org.eclipse.mylar.bugs.BugzillaStructureBridge"
- name="Bugzilla Structure Bridge"/>
- </extension>
- <extension
- point="org.eclipse.mylar.ui.context">
- <uiBridge
- class="org.eclipse.mylar.bugs.BugzillaUiBridge"
- contentType="bugzilla"/>
- </extension>
- <extension
- point="org.eclipse.mylar.java.javaEditorContributor">
- <hyperlinkDetector class="org.eclipse.mylar.bugs.java.BugzillaHyperLinkDetector"/>
- </extension>
-</plugin>
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaContextLabelProvider.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaContextLabelProvider.java
deleted file mode 100644
index 91505e000..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaContextLabelProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Apr 18, 2005
- */
-package org.eclipse.mylar.bugs;
-
-import org.eclipse.mylar.bugs.search.BugzillaReferencesProvider;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.core.IMylarRelation;
-import org.eclipse.mylar.core.IMylarElement;
-import org.eclipse.mylar.core.IMylarStructureBridge;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.ui.AbstractContextLabelProvider;
-import org.eclipse.mylar.ui.MylarImages;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author Mik Kersten
- */
-public class BugzillaContextLabelProvider extends AbstractContextLabelProvider {
-
- @Override
- protected Image getImage(IMylarElement node) {
- return MylarImages.getImage(MylarImages.BUG);
- }
-
- @Override
- protected Image getImage(IMylarRelation edge) {
- return MylarImages.getImage(MylarBugsPlugin.EDGE_REF_BUGZILLA);
- }
-
- @Override
- protected Image getImageForObject(Object object) {
- return MylarImages.getImage(MylarImages.BUG);
- }
-
- @Override
- protected String getTextForObject(Object node) {
- return "" + node;
- }
-
- /**
- * TODO: slow?
- */
- @Override
- protected String getText(IMylarElement node) {
- // try to get from the cache before downloading
- Object report;
- BugzillaReportNode reportNode = MylarBugsPlugin.getReferenceProvider().getCached(node.getHandleIdentifier());
- BugReport cachedReport = MylarBugsPlugin.getDefault().getCache().getCached(node.getHandleIdentifier());
- IMylarStructureBridge bridge = MylarPlugin.getDefault().getStructureBridge(BugzillaStructureBridge.CONTENT_TYPE);
-
- if(reportNode != null && cachedReport == null){
- report = reportNode;
- } else{
- report = bridge.getObjectForHandle(node.getHandleIdentifier());
- }
- return bridge.getName(report);
- }
-
- @Override
- protected String getText(IMylarRelation edge) {
- return BugzillaReferencesProvider.NAME;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaEditingMonitor.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaEditingMonitor.java
deleted file mode 100644
index cced61c59..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaEditingMonitor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Apr 27, 2005
- */
-package org.eclipse.mylar.bugs;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaReportSelection;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskEditor;
-import org.eclipse.mylar.core.AbstractInteractionMonitor;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * @author Mik Kersten
- */
-public class BugzillaEditingMonitor extends AbstractInteractionMonitor {
-
- public BugzillaEditingMonitor() {
- super();
- }
-
- @Override
- protected void handleWorkbenchPartSelection(IWorkbenchPart part, ISelection selection) {
- if(!(part instanceof AbstractBugEditor) && !(part instanceof BugzillaTaskEditor))
- return;
-
- if(selection instanceof StructuredSelection){
- StructuredSelection ss = (StructuredSelection)selection;
- Object object = ss.getFirstElement();
- if(object instanceof BugzillaReportSelection) super.handleElementSelection(part, object);
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaReportCache.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaReportCache.java
deleted file mode 100644
index 1071ca01f..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaReportCache.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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.bugs;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaTools;
-import org.eclipse.mylar.bugzilla.core.IBugzillaBug;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaCacheFile;
-import org.eclipse.mylar.core.MylarPlugin;
-
-/**
- * @author Shawn Minto
- */
-public class BugzillaReportCache {
-
- private Map<String, BugReport> cache = new HashMap<String, BugReport>();
-
- public void cache(String handle, BugReport report) {
- cache.put(handle, report);
- cacheFile.add(report);
- }
-
- public void clearCache(){
- cache.clear();
- cacheFile.removeAll();
- }
-
- public BugReport getFromCache(String bugHandle) {
- return cache.get(bugHandle);
- }
-
- public Set<String> getCachedHandles(){
- return cache.keySet();
- }
-
- private BugzillaCacheFile cacheFile;
-
- private IPath getCacheFile() {
- IPath stateLocation = Platform.getPluginStateLocation(MylarBugsPlugin.getDefault());
- IPath configFile = stateLocation.append("offlineReports");
- return configFile;
- }
-
- public void readCacheFile() {
- IPath cachPath = getCacheFile();
-
- try {
- cacheFile = new BugzillaCacheFile(cachPath.toFile());
- ArrayList<IBugzillaBug> cached = cacheFile.elements();
- for(IBugzillaBug bug: cached){
- if(bug instanceof BugReport)
- cache.put(BugzillaTools.getHandle(bug), (BugReport)bug);
- }
- } catch (Exception e) {
- MylarPlugin.log(e, "occurred while restoring saved offline Bugzilla reports.");
- }
- }
-
- public BugReport getCached(String handle) {
- return cache.get(handle);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaSearchManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaSearchManager.java
deleted file mode 100644
index 7af4e0547..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaSearchManager.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Oct 1, 2004
- */
-package org.eclipse.mylar.bugs;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-
-/**
- * Class to handle the bridge between mylar and bugzilla
- *
- * @author Shawn Minto
- */
-public class BugzillaSearchManager {
-
- /** The hash of all of the landmarks and their related search hits */
- private Map<String, Map<Integer, List<BugzillaReportNode>>> landmarksHash;
- /**
- * The currently running search jobs so that we can cancel it if necessary <br> KEY: IMember VALUE: Job
- */
- static Map<String, Job> runningJobs = Collections.synchronizedMap(new HashMap<String, Job>());
-
- /**
- * Constructor
- */
- public BugzillaSearchManager() {
- landmarksHash = Collections.synchronizedMap(new HashMap<String, Map<Integer, List<BugzillaReportNode>>>());
- }
-
-
- /**
- * Remove a landmark from the hash
- *
- * @param removed
- * This landmark to remove (IJavaElement)
- */
- public void removeFromLandmarksHash(IJavaElement removed) {
- landmarksHash.remove(removed.getHandleIdentifier());
- }
-
- /**
- * Remove all of the landmarks from the hash that are in the list
- *
- * @param removed
- * This list of landmarks to remove (IJavaElements)
- */
- public void removeFromLandmarksHash(List<IJavaElement> removed) {
-
- for(IJavaElement je : removed) {
- landmarksHash.remove(je.getHandleIdentifier());
- }
- }
-
- /**
- * Add data to the landmarks hash
- *
- * @param doiList
- * The list of BugzillaSearchHitDoiInfo
- * @param m
- * The member that this list is for
- */
- public void addToLandmarksHash(List<BugzillaReportNode> doiList, IMember m, int scope) {
- Map<Integer, List<BugzillaReportNode>> searches = landmarksHash.get(m.getHandleIdentifier());
-
- if(searches == null){
- searches = new HashMap<Integer, List<BugzillaReportNode>>();
- }
- searches.put(scope, doiList);
- landmarksHash.put(m.getHandleIdentifier(), searches);
- }
-
- /**
- * Get the doiList for the given IMember from the landmarks hash
- *
- * @param m
- * The member to get the doiList for
- * @return The doiList or null if it doesn't exist
- */
- public List<BugzillaReportNode> getFromLandmarksHash(IMember m, int scope) {
- Map<Integer, List<BugzillaReportNode>> scopes = landmarksHash.get(m.getHandleIdentifier());
- if(scopes == null)
- return null;
- else
- return scopes.get(scope);
- }
-
- /**
- * Determine whether the current element has a search job running for it
- *
- * @param e
- * The element that we want to know whether there is a search job
- * or not
- * @return <code>true</code> if it does else <code>false</code>
- */
- public static boolean doesJobExist(String handle) {
- return runningJobs.containsKey(handle);
- }
-
- /**
- * Remove search job for the given element
- *
- * @param m
- * The element that we want to make sure that the search is
- * canceled for
- */
- public static void removeSearchJob(String handle) {
-
- // make sure that there wasn't a previous search job that we know
- // of. If there was, cancel it
- if (doesJobExist(handle)) {
- // get the search job and wait until it is cancelled
- Job prevJob = runningJobs.get(handle);
- prevJob.cancel();
- runningJobs.remove(handle);
- }
- }
-
- /**
- * Add a search job to our list
- * @param handle The handle of the element that we are searching for
- * @param searchJob The job that represents the search
- */
- public static void addJob(String handle, Job searchJob) {
- runningJobs.put(handle, searchJob);
- }
-
- public static void cancelAllRunningJobs(){
- Collection<Job> jobs = runningJobs.values();
- for(Job j: jobs){
- j.cancel();
- }
- runningJobs.clear();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaStructureBridge.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaStructureBridge.java
deleted file mode 100644
index 31e968583..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaStructureBridge.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * 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.bugs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.BugzillaRepository;
-import org.eclipse.mylar.bugzilla.core.BugzillaTools;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaOutlineNode;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaReportSelection;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.core.AbstractRelationProvider;
-import org.eclipse.mylar.core.IDegreeOfSeparation;
-import org.eclipse.mylar.core.IMylarElement;
-import org.eclipse.mylar.core.IMylarStructureBridge;
-import org.eclipse.mylar.core.internal.DegreeOfSeparation;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.progress.IProgressService;
-import org.eclipse.ui.views.markers.internal.ProblemMarker;
-
-/**
- * @author Mik Kersten
- * @author Shawn Minto
- */
-public class BugzillaStructureBridge implements IMylarStructureBridge {
-
- public final static String CONTENT_TYPE = "bugzilla";
-
- public List<AbstractRelationProvider> providers;
-
- public String getContentType() {
- return CONTENT_TYPE;
- }
-
- public BugzillaStructureBridge() {
- super();
- providers = new ArrayList<AbstractRelationProvider>();
-// providers.add(MylarBugsPlugin.getReferenceProvider());
- }
-
- /**
- * Handle format: <server-name:port>;<bug-id>;<comment#>
- *
- * Use: BugzillaTools ???
- */
- public String getHandleIdentifier(Object object) {
- if(object instanceof BugzillaOutlineNode){
- BugzillaOutlineNode n = (BugzillaOutlineNode)object;
- return BugzillaTools.getHandle(n);
- }
- else if(object instanceof BugzillaReportSelection){
- BugzillaReportSelection n = (BugzillaReportSelection)object;
- return BugzillaTools.getHandle(n);
- }
- return null;
- }
-
- private BugReport result;
-
- public Object getObjectForHandle(final String handle) {
- result = null;
-
- String [] parts = handle.split(";");
- if (parts.length >= 2){
- String server = parts[0];
- final int id = Integer.parseInt(parts[1]);
-
- String bugHandle = server + ";" + id;
-
- int commentNumber = -1;
- if(parts.length == 3){
- commentNumber = Integer.parseInt(parts[2]);
- }
-
- // get the bugzillaOutlineNode for the element
- IEditorPart editorPart = null;
- try{
- editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- }catch(NullPointerException e){
- // do nothing, this just means that there is no active page
- }
- if(editorPart != null && editorPart instanceof AbstractBugEditor){
- AbstractBugEditor abe = ((AbstractBugEditor)editorPart);
- BugzillaOutlineNode node = abe.getModel();
- return findNode(node, commentNumber);
- }
-
- BugzillaReportNode reportNode = MylarBugsPlugin.getReferenceProvider().getCached(handle);
-
- // try to get from the cache, if it doesn't exist, startup an operation to get it
- result = MylarBugsPlugin.getDefault().getCache().getFromCache(bugHandle);
- if(result == null && reportNode != null){
- return reportNode;
- } else if(result == null && reportNode == null){
- WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
- protected void execute(IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("Downloading Bug# " + id, IProgressMonitor.UNKNOWN);
- try {
- result = BugzillaRepository.getInstance().getCurrentBug(id);
- }catch(Exception e){
- result = null;
- }
- }};
-
- // Use the progess service to execute the runnable
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- try {
- service.run(false, false, op);
- } catch (InvocationTargetException e) {
- // Operation was canceled
- } catch (InterruptedException e) {
- // Handle the wrapped exception
- }
-
- if(result != null)
- MylarBugsPlugin.getDefault().getCache().cache(bugHandle, result);
- }
-
- BugzillaOutlineNode node = BugzillaOutlineNode.parseBugReport(result);
- return findNode(node, commentNumber);
- }
- else{
- return null;
- }
- }
-
- private BugzillaOutlineNode findNode(BugzillaOutlineNode startNode, int commentNumber){
-
- if(commentNumber == -1){
- return startNode;
- }else if(startNode.getComment() != null && startNode.getComment().getNumber() == commentNumber -1){
- return startNode;
- } else if(startNode.isCommentHeader() && commentNumber == 1){
- return startNode;
- }else if(startNode.isDescription() && commentNumber == 0){
- return startNode;
- }
-
- BugzillaOutlineNode[] children = startNode.getChildren();
- for(int i = 0; i < children.length; i++){
- BugzillaOutlineNode n = findNode(children[i], commentNumber);
- if(n != null)
- return n;
- }
- return null;
- }
-
- public String getParentHandle(String handle) {
-
- //check so that we don't need to try to get the parent if we are already at the bug report
- if(!handle.matches(".*;.*;.*"))
- return null;
-
- BugzillaOutlineNode bon = (BugzillaOutlineNode)getObjectForHandle(handle);
- if(bon != null && bon.getParent() != null)
- return BugzillaTools.getHandle(bon.getParent());
- else
- return null;
-// String [] parts = handle.split(";");
-// if (parts.length == 1){
-// return null;
-// }else if (parts.length > 2) {
-// String newHandle = "";
-// for(int i = 0; i < parts.length - 1; i++)
-// newHandle += parts[i] + ";";
-// return newHandle.substring(0, newHandle.length() - 1);
-//// return handle.substring(0, handle.lastIndexOf(";"));
-// }
-// return null;
- }
-
- public String getName(Object object) {
- if(object instanceof BugzillaOutlineNode){
- BugzillaOutlineNode b = (BugzillaOutlineNode)object;
- return BugzillaTools.getName(b);
- } else if (object instanceof BugzillaReportNode){
- BugzillaSearchHit hit = ((BugzillaReportNode)object).getHit();
- return hit.getServer() + ": Bug#: " + hit.getId() + ": " + hit.getDescription();
- }
- return "";
- }
-
- public boolean canBeLandmark(String handle) {
- return false;
- }
-
- public boolean acceptsObject(Object object) {
- return object instanceof BugzillaOutlineNode || object instanceof BugzillaReportSelection;
- }
-
- public boolean canFilter(Object element) {
- return true;
- }
-
- public boolean isDocument(String handle) {
- return (handle.indexOf(';') == handle.lastIndexOf(';') && handle.indexOf(";") != -1);
- }
-
- public String getHandleForMarker(ProblemMarker marker) {
- return null;
- }
-
- public IProject getProjectForObject(Object object) {
- // bugzilla objects do not yet sit in a project
- return null;
- }
-
- public String getContentType(String elementHandle) {
- return getContentType();
- }
-
- public List<AbstractRelationProvider> getRelationshipProviders() {
- return providers;
- }
-
- public List<IDegreeOfSeparation> getDegreesOfSeparation() {
- List <IDegreeOfSeparation> separations = new ArrayList<IDegreeOfSeparation>();
- separations.add(new DegreeOfSeparation("disabled", 0));
- separations.add(new DegreeOfSeparation("local, fully qualified matches", 1));
- separations.add(new DegreeOfSeparation("local, unqualified matches", 2));
- separations.add(new DegreeOfSeparation("server, fully quaified matches", 3));
- separations.add(new DegreeOfSeparation("server, unqualified matches", 4));
-
- return separations;
- }
-
- public String getHandleForOffsetInObject(Object resource, int offset) {
- return null;
- }
-
- public void setParentBridge(IMylarStructureBridge bridge) {
- // ignore
- }
-
- public boolean containsProblem(IMylarElement node) {
- // TODO Auto-generated method stub
- return false;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaUiBridge.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaUiBridge.java
deleted file mode 100644
index f175b3c92..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/BugzillaUiBridge.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Apr 6, 2005
- */
-package org.eclipse.mylar.bugs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylar.bugzilla.ui.BugzillaOpenStructure;
-import org.eclipse.mylar.bugzilla.ui.ViewBugzillaAction;
-import org.eclipse.mylar.bugzilla.ui.editor.AbstractBugEditor;
-import org.eclipse.mylar.bugzilla.ui.outline.BugzillaOutlinePage;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskEditor;
-import org.eclipse.mylar.core.IMylarElement;
-import org.eclipse.mylar.ui.IMylarUiBridge;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten
- * @author Shawn Minto
- */
-public class BugzillaUiBridge implements IMylarUiBridge {
-
- protected BugzillaContextLabelProvider labelProvider = new BugzillaContextLabelProvider();
-
- public void open(IMylarElement node) {
- String handle = node.getHandleIdentifier();
- String bugHandle = handle;
- String server =handle.substring(0, handle.indexOf(";"));
-
- handle = handle.substring(handle.indexOf(";") + 1);
- int next = handle.indexOf(";");
-
- int bugId;
- int commentNumer = -1;
- if(next == -1){
- bugId = Integer.parseInt(handle);
- }
- else{
- bugId = Integer.parseInt(handle.substring(0, handle.indexOf(";")));
- commentNumer = Integer.parseInt(handle.substring(handle.indexOf(";") + 1));
- bugHandle = bugHandle.substring(0, next);
- }
-
- List<BugzillaOpenStructure> l = new ArrayList<BugzillaOpenStructure>(1);
- l.add(new BugzillaOpenStructure(server, bugId, commentNumer));
-
-// ITask task= MylarTasklistPlugin.getTaskListManager().getTaskForHandle(bugHandle);
-// if (task != null && task instanceof BugzillaTask) {
-// BugzillaTask bugzillaTask = (BugzillaTask)task;
-// bugzillaTask.openTask(commentNumer);
-// } else {
- // open the bug in the editor
- ViewBugzillaAction viewBugs = new ViewBugzillaAction("Display bugs in editor", l);
- viewBugs.schedule();
-// }
- }
-
- public ILabelProvider getLabelProvider() {
- return labelProvider;
- }
-
- public void close(IMylarElement node) {
- IWorkbenchPage page = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage();
- if (page != null) {
- IEditorReference[] references = page.getEditorReferences();
- for (int i = 0; i < references.length; i++) {
- IEditorPart part = references[i].getEditor(false);
- if (part != null) {
- if (part instanceof AbstractBugEditor) {
- ((AbstractBugEditor)part).close();
- } else if(part instanceof BugzillaTaskEditor){
- ((BugzillaTaskEditor)part).close();
- }
- }
- }
- }
- }
-
- public boolean acceptsEditor(IEditorPart editorPart) {
- return editorPart instanceof AbstractBugEditor;
- }
-
- public List<TreeViewer> getContentOutlineViewers(IEditorPart editor) {
- List<TreeViewer> viewers = new ArrayList<TreeViewer>();
- TreeViewer outline = getOutlineTreeViewer(editor);
- if (outline != null) viewers.add(outline);
- return viewers;
- }
-
- protected TreeViewer getOutlineTreeViewer(IEditorPart editor) {
- if(editor instanceof AbstractBugEditor){
- AbstractBugEditor abe = (AbstractBugEditor)editor;
- BugzillaOutlinePage outline = abe.getOutline();
- if (outline != null) return outline.getOutlineTreeViewer();
- }
- return null;
- }
-
- public Object getObjectForTextSelection(TextSelection selection, IEditorPart editor) {
- return null;
- }
-
-// public void refreshOutline(Object element, boolean updateLabels, boolean setSelection) {
-// IEditorPart editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-// TreeViewer treeViewer = getOutlineTreeViewer(editorPart);
-// if (treeViewer != null) {
-// treeViewer.refresh(true);
-//
-// treeViewer.expandAll();
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/MylarBugsPlugin.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/MylarBugsPlugin.java
deleted file mode 100644
index 9107c5229..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/MylarBugsPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * 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.bugs;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.bugs.search.BugzillaReferencesProvider;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- *
- * @author Mik Kersten
- * @author Shawn Minto
- */
-public class MylarBugsPlugin extends AbstractUIPlugin {
-
- public static ImageDescriptor EDGE_REF_BUGZILLA = getImageDescriptor("icons/elcl16/edge-ref-bug.gif");
- private BugzillaEditingMonitor bugzillaEditingMonitor;
- private static BugzillaSearchManager bridge = null;
- private static BugzillaReferencesProvider referencesProvider = new BugzillaReferencesProvider();
- private static MylarBugsPlugin plugin;
- private BugzillaReportCache cache;
-
- public MylarBugsPlugin() {
- plugin = this;
- }
-
- /**
- * This method is called upon plug-in activation
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- cache = new BugzillaReportCache();
- cache.readCacheFile();
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window != null) {
- // create a new bridge and initialize it
- bridge = new BugzillaSearchManager();
- }
- final IWorkbench workbench = PlatformUI.getWorkbench();
- workbench.getDisplay().asyncExec(new Runnable() {
- public void run() {
- bugzillaEditingMonitor = new BugzillaEditingMonitor();
- MylarPlugin.getDefault().getSelectionMonitors().add(bugzillaEditingMonitor);
- }
- });
- }
-
- /**
- * This method is called when the plug-in is stopped
- */
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- MylarPlugin.getDefault().getSelectionMonitors().remove(bugzillaEditingMonitor);
-// List<AbstractRelationProvider> providers = structureBridge.getProviders();
-// if(providers != null){
-// for(AbstractRelationProvider provider: providers){
-// provider.stopAllRunningJobs();
-// }
-// }
- }
-
- /**
- * Returns the shared instance.
- */
- public static MylarBugsPlugin getDefault() {
- return plugin;
- }
-
- /**
- * 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.bugs.bridge", path);
- }
-
- public static BugzillaSearchManager getBridge() {
- // make sure that the bridge initialized, if not, make a new one
- if (bridge == null) {
- bridge = new BugzillaSearchManager();
- }
- return bridge;
- }
-
- public static BugzillaReferencesProvider getReferenceProvider() {
- return referencesProvider;
-
- }
-
- public BugzillaReportCache getCache() {
- return cache;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLink.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLink.java
deleted file mode 100644
index 7b5e0135b..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLink.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * 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.bugs.java;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.ui.BugzillaOpenStructure;
-import org.eclipse.mylar.bugzilla.ui.ViewBugzillaAction;
-
-public class BugzillaHyperLink implements IHyperlink {
-
- private IRegion region;
-
- private int id;
-
- public BugzillaHyperLink(IRegion nlsKeyRegion, int id) {
- this.region = nlsKeyRegion;
- this.id = id;
- }
-
- public IRegion getHyperlinkRegion() {
- return region;
- }
-
- public String getTypeLabel() {
- return null;
- }
-
- public String getHyperlinkText() {
- return null;
- }
-
- public void open() {
- List<BugzillaOpenStructure> l = new ArrayList<BugzillaOpenStructure>(1);
- l.add(new BugzillaOpenStructure(BugzillaPlugin.getDefault().getServerName(),id, -1));
- new ViewBugzillaAction("Open Bug " + id, l).run(new NullProgressMonitor());
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLinkDetector.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLinkDetector.java
deleted file mode 100644
index 05c1b936a..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/java/BugzillaHyperLinkDetector.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * 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.bugs.java;
-
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Block;
-import org.eclipse.jdt.core.dom.Comment;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.TextElement;
-import org.eclipse.jdt.internal.corext.dom.NodeFinder;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.ASTProvider;
-import org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor;
-import org.eclipse.jdt.internal.ui.javaeditor.IClassFileEditorInput;
-import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.java.ui.editor.AbstractMylarHyperlinkDetector;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.texteditor.ITextEditor;
-/**
- * @author Shawn Minto
- *
- */
-public class BugzillaHyperLinkDetector extends AbstractMylarHyperlinkDetector {
-
-
- public BugzillaHyperLinkDetector() {
- super();
- }
-
- @SuppressWarnings("unchecked")
- public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
- ITextEditor textEditor = getEditor();
- if (region == null || textEditor == null || canShowMultipleHyperlinks || !(textEditor instanceof JavaEditor))
- return null;
-
- IEditorSite site= textEditor.getEditorSite();
- if (site == null)
- return null;
-
- IJavaElement javaElement= getInputJavaElement(textEditor);
- if (javaElement == null)
- return null;
-
- CompilationUnit ast= JavaPlugin.getDefault().getASTProvider().getAST(javaElement, ASTProvider.WAIT_NO, null);
- if (ast == null)
- return null;
-
- ASTNode node= NodeFinder.perform(ast, region.getOffset(), 1);
-
- if (node == null || !(node instanceof TextElement || node instanceof Block))
- return null;
-
- String comment = null;
- int commentStart = -1;
-
- if(node instanceof TextElement){
- TextElement element = (TextElement)node;
- comment = element.getText();
- commentStart = element.getStartPosition();
- } else if(node instanceof Block){
- Comment c = findComment(ast.getCommentList(), region.getOffset(), 1);
- if(c != null){
- try{
- IDocument document= textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
- String commentString = document.get(c.getStartPosition(), c.getLength());
- comment = getStringFromComment(c, region.getOffset(), commentString);
- commentStart = getLocationFromComment(c, comment, commentString) + c.getStartPosition();
- } catch (BadLocationException e){
- MylarPlugin.log(e, "Failed to get text for comment");
- }
- }
- }
-
- if(comment == null)
- return null;
-
- int startOffset= region.getOffset();
- int endOffset= startOffset + region.getLength();
-
- Pattern p = Pattern.compile("^.*bug\\s+\\d+.*");
- Matcher m = p.matcher(comment.toLowerCase().trim());
- boolean b = m.matches();
-
- p = Pattern.compile("^.*bug#\\s+\\d+.*");
- m = p.matcher(comment.toLowerCase().trim());
- boolean b2 = m.matches();
-
- p = Pattern.compile("^.*bug\\s#\\d+.*");
- m = p.matcher(comment.toLowerCase().trim());
- boolean b3 = m.matches();
-
- p = Pattern.compile("^.*bug#\\d+.*");
- m = p.matcher(comment.toLowerCase().trim());
- boolean b4 = m.matches();
-
- // XXX walk forward from where we are
- if(b || b2 || b3 || b4){
-
- int start = comment.toLowerCase().indexOf("bug");
- int ahead = 4;
- if(b2 || b3 || b4){
- int pound = comment.toLowerCase().indexOf("#", start);
- ahead = pound - start + 1;
- }
- String endComment = comment.substring(start+ahead, comment.length());
- endComment = endComment.trim();
- int endCommentStart = comment.indexOf(endComment);
-
- int end = comment.indexOf(" ", endCommentStart);
- int end2 = comment.indexOf(":", endCommentStart);
-
- if((end2 < end && end2 != -1) || (end == -1 && end2 != -1)){
- end = end2;
- }
-
- if(end == -1)
- end = comment.length();
-
- try{
- int bugId = Integer.parseInt(comment.substring(endCommentStart, end).trim());
-
-
- start += commentStart;
- end += commentStart;
-
- if(startOffset >= start && endOffset <= end){
- IRegion sregion= new Region(start, end-start);
- return new IHyperlink[] {new BugzillaHyperLink(sregion, bugId)};
- }
- } catch (NumberFormatException e){
- return null;
- }
- }
- return null;
- }
-
- private int getLocationFromComment(Comment c, String commentLine, String commentString) {
- if(commentLine == null){
- return -1;
- } else {
- return commentString.indexOf(commentLine);
- }
- }
-
- private String getStringFromComment(Comment comment, int desiredOffset, String commentString) {
- String [] parts = commentString.split("\n");
- if(parts.length > 1){
- int offset = comment.getStartPosition();
- for(String part: parts){
- int newOffset = offset + part.length() + 1;
- if(desiredOffset >= offset && desiredOffset <= newOffset){
- return part;
- }
-
- }
- } else {
- return commentString;
- }
-
- return null;
- }
-
- private Comment findComment(List<Comment> commentList, int offset, int i) {
- for(Comment comment: commentList){
- if(comment.getStartPosition() <= offset && (comment.getStartPosition() + comment.getLength() >= offset + i)){
- return comment;
- }
- }
- return null;
- }
-
- private IJavaElement getInputJavaElement(ITextEditor editor) {
- IEditorInput editorInput= editor.getEditorInput();
- if (editorInput instanceof IClassFileEditorInput)
- return ((IClassFileEditorInput)editorInput).getClassFile();
-
- if (editor instanceof CompilationUnitEditor)
- return JavaPlugin.getDefault().getWorkingCopyManager().getWorkingCopy(editorInput);
-
- return null;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearch.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearch.java
deleted file mode 100644
index efc6bc878..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearch.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Oct 13, 2004
- */
-package org.eclipse.mylar.bugs.search;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.mylar.bugs.BugzillaSearchManager;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.core.InterestComparator;
-import org.eclipse.mylar.core.search.IActiveSearchListener;
-import org.eclipse.mylar.core.search.IMylarSearchOperation;
-
-
-/**
- * Used to facilitate bugzilla searches based on IJavaElements
- *
- * @author Shawn Minto
- */
-public class BugzillaMylarSearch implements IMylarSearchOperation {
-
- // scope identifiers
- public static final int LOCAL_QUAL = 1; // local implies a bugzilla task, not just an offline report
- public static final int LOCAL_UNQUAL = 2;
- public static final int FULLY_QUAL = 3;
- public static final int UNQUAL = 4;
-
- private int scope;
-
- private IJavaElement element;
-
- private String handle = "";
-
- /**
- * Constructor
- * @param scope The scope of this search
- */
- public BugzillaMylarSearch(int scope, IJavaElement element) {
- this.scope = scope;
- this.element = element;
- }
-
- public IStatus run(IProgressMonitor monitor){
- return run(monitor, Job.DECORATE);
- }
-
- public IStatus run(IProgressMonitor monitor, int priority) {
- handle = element.getHandleIdentifier() + " " + scope;
- List<IJavaElement> landmarks = new ArrayList<IJavaElement>();
- landmarks.add(element);
-
- if (!BugzillaSearchManager.doesJobExist(handle)) {
-
- // perform the bugzilla search
- // get only the useful landmarks (IMember)
- List<IMember> members = getMemberLandmarks(landmarks);
-
- // go through all of the landmarks that we are given and perform a
- // search on them
- for(IMember m : members){
-
- // FIXME: decide whether to do leave the caching of searches in for now or not
- // check if we have the info cached
-// List<BugzillaReportNode> landmarkDoi = MylarTasklistPlugin.getBridge()
-// .getFromLandmarksHash(m, scope);
-
-// if (landmarkDoi != null) {
-// //TODO decide when to queue up and do a refresh search
-// notifySearchCompleted(landmarkDoi);
-// continue;
-// }
-
- // create a search operation so that we can search
- BugzillaMylarSearchOperation op = new BugzillaMylarSearchOperation(
- this, m, scope);
-
- // create a new search job so that it can be scheduled and
- // run as a background thread
- Job searchJob = new BugzillaMylarSearchJob(
- "Querying Bugzilla Server - Mylar - "
- + op.getSearchMemberName(), op);
-
- // schedule the new search job
- searchJob.setPriority(priority);
- searchJob.schedule();
-
- // save this searchJobs handle so that we can cancel it if need be
- BugzillaSearchManager.addJob(handle, searchJob);
- }
- }
- return Status.OK_STATUS;
- }
-
- /** List of listeners wanting to know about the searches */
- private List<IActiveSearchListener> listeners = new ArrayList<IActiveSearchListener>();
-
- /**
- * Add a listener for when the bugzilla search is completed
- *
- * @param l
- * The listener to add
- */
- public void addListener(IActiveSearchListener l) {
- // add the listener to the list
- listeners.add(l);
- }
-
- /**
- * Remove a listener for when the bugzilla search is completed
- *
- * @param l
- * The listener to remove
- */
- public void removeListener(IActiveSearchListener l) {
- // remove the listener from the list
- listeners.remove(l);
- }
-
- /**
- * Notify all of the listeners that the bugzilla search is completed
- *
- * @param doiList
- * A list of BugzillaSearchHitDoiInfo
- * @param member
- * The IMember that the search was performed on
- */
- public void notifySearchCompleted(List<BugzillaReportNode> doiList) {
- // go through all of the listeners and call searchCompleted(colelctor,
- // member)
- BugzillaSearchManager.removeSearchJob(handle);
- for (IActiveSearchListener listener : listeners) {
- listener.searchCompleted(doiList);
- }
- }
-
- /**
- * Get only the landmarks that are IMember and sort them according to their
- * DOI value (highest to lowest)
- *
- * @param landmarks
- * The landmarks to check
- * @return List of IMember landmarks sorted by DOI value
- */
- public static List<IMember> getMemberLandmarks(List<IJavaElement> landmarks) {
- List<IMember> memberLandmarks = new ArrayList<IMember>();
-
- for(IJavaElement je : landmarks) {
-
- // keep only the IMember landmarks
- if (je instanceof IMember) {
- memberLandmarks.add((IMember)je);
- }
- }
-
- // sort the landmarks
- Collections.sort(memberLandmarks, new InterestComparator<IMember>());
-
- return memberLandmarks;
- }
-
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchJob.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchJob.java
deleted file mode 100644
index 648149841..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchJob.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Oct 6, 2004
- */
-package org.eclipse.mylar.bugs.search;
-
-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.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.bugs.BugzillaSearchManager;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The bugzilla search job used to search a bugzilla site
- *
- * @author Shawn Minto
- * @author Mik Kersten
- */
-public class BugzillaMylarSearchJob extends Job {
-
- /** The search operation used to perform the query */
- private BugzillaMylarSearchOperation operation;
-
- /**
- * Constructor
- *
- * @param name
- * Job name
- * @param operation
- * The operation to perform the search query
- */
- public BugzillaMylarSearchJob(String name,
- BugzillaMylarSearchOperation operation) {
- super(name);
- this.operation = operation;
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- final IStatus[] status = new IStatus[1];
-
- try {
- // execute the search operation
- operation.execute(monitor);
-
- // get the status of the search operation
- status[0] = operation.getStatus();
-
- // determine if there was an error, if it was cancelled, or if it is
- // ok
- if (status[0] == null) {
-
- } else if (status[0].getCode() == IStatus.CANCEL) {
- // it was cancelled, so just return
- status[0] = Status.OK_STATUS;
-
- // make sure that we know this job is not running anymore
- BugzillaSearchManager.removeSearchJob(operation.getSearchMember().getHandleIdentifier()+" "+operation.getScope());//runningJobs.remove(operation.getSearchMember());
- return status[0];
- } else if (!status[0].isOK()) {
- // there was an error, so display an error message
- PlatformUI.getWorkbench().getDisplay().asyncExec(
- new Runnable() {
- public void run() {
- ErrorDialog.openError(null,
- "Bugzilla Search Error", null,
- status[0]);
- }
- });
- status[0] = Status.OK_STATUS;
-
- // make sure we know that this job is not running anymore
- BugzillaSearchManager.removeSearchJob(operation.getSearchMember().getHandleIdentifier()+" "+operation.getScope());//runningJobs.remove(operation.getSearchMember());
- return status[0];
- }
- } catch (LoginException e) {
- // we had a problem while searching that seems like a login info
- // problem
- // thrown in BugzillaSearchOperation
- 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(new Status(IStatus.ERROR,
- IBugzillaConstants.PLUGIN_ID, IStatus.OK, "", e));
- } finally {
- // make sure that we know that this job is not running anymore
- BugzillaSearchManager.removeSearchJob(operation.getSearchMember().getHandleIdentifier()+" "+operation.getScope());//.runningJobs.remove(operation.getSearchMember());
- }
-
- return status[0];
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchOperation.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchOperation.java
deleted file mode 100644
index ec2f5e06c..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaMylarSearchOperation.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Oct 14, 2004
- */
-package org.eclipse.mylar.bugs.search;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.bugs.MylarBugsPlugin;
-import org.eclipse.mylar.bugzilla.core.BugReport;
-import org.eclipse.mylar.bugzilla.core.Comment;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchEngine;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchQuery;
-import org.eclipse.mylar.bugzilla.core.search.IBugzillaSearchOperation;
-import org.eclipse.mylar.bugzilla.ui.search.BugzillaResultCollector;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.bugzilla.ui.tasklist.StackTrace;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-/**
- * Bugzilla search operation for Mylar
- *
- * @author Shawn Minto
- * @author Mik Kersten
- */
-public class BugzillaMylarSearchOperation extends WorkspaceModifyOperation
- implements IBugzillaSearchOperation {
-
- /** The IMember we are doing the search for */
- private IMember javaElement;
-
- /** The bugzilla collector for the search */
- private BugzillaResultCollector collector = null;
-
- /** The status of the search operation */
- private IStatus status;
-
- /** The LoginException that was thrown when trying to do the search */
- private LoginException loginException = null;
-
- /** The fully qualified name of the member we are searching for */
- private String name;
-
- /** The bugzilla search query */
- private BugzillaSearchQuery query;
-
- private BugzillaMylarSearch search;
-
- private int scope;
-
- /**
- * Constructor
- *
- * @param m
- * The member that we are doing the search for
- */
- public BugzillaMylarSearchOperation(BugzillaMylarSearch search, IMember m, int scope) {
- this.javaElement = m;
- this.search = search;
- this.scope = scope;
- name = getFullyQualifiedName(m);
- }
-
- /**
- * Get the fully qualified name of a IMember
- * TODO: move to a more central location so that others can use this, but don't want to add unecessary coupling
- *
- * @return String representing the fully qualified name
- */
- public static String getFullyQualifiedName(IJavaElement je) {
- if(!(je instanceof IMember)) return null;
-
- IMember m = (IMember)je;
- if (m.getDeclaringType() == null)
- return ((IType) m).getFullyQualifiedName();
- else
- return m.getDeclaringType().getFullyQualifiedName() + "."
- + m.getElementName();
- }
-
- @Override
- public void execute(IProgressMonitor monitor) {
-
- BugzillaResultCollector searchCollector = null;
-
- if(scope == BugzillaMylarSearch.FULLY_QUAL){
- searchCollector = searchQualified(monitor);
- }else if(scope == BugzillaMylarSearch.UNQUAL){
- searchCollector = searchUnqualified(monitor);
- }else if(scope == BugzillaMylarSearch.LOCAL_QUAL){
- searchCollector = searchLocalQual(monitor);
- }else if(scope == BugzillaMylarSearch.LOCAL_UNQUAL){
- searchCollector = searchLocalUnQual(monitor);
- } else {
- status = Status.OK_STATUS;
- return;
- }
-
- if(searchCollector == null){
- search.notifySearchCompleted(
- new ArrayList<BugzillaReportNode>());
- return;
- }
-
- List<BugzillaSearchHit> l = searchCollector.getResults();
-
- // get the list of doi elements
- List<BugzillaReportNode> doiList = getDoiList(l);
-
- // we completed the search, so notify all of the listeners
- // that the search has been completed
- MylarBugsPlugin.getBridge().addToLandmarksHash(doiList, javaElement, scope);
- search.notifySearchCompleted(
- doiList);
- // MIK: commmented out logging
-// MonitorPlugin.log(this, "There were " + doiList.size() + " items found");
- }
-
- /**
- * Search the local bugs for the member using the qualified name
- * @param monitor The progress monitor to search with
- * @return The BugzillaResultCollector with the results of the search
- */
- private BugzillaResultCollector searchLocalQual(IProgressMonitor monitor) {
-
- //get the fully qualified name for searching
- String elementName = getFullyQualifiedName(javaElement);
-
- // setup the search result collector
- collector = new BugzillaResultCollector();
- collector.setOperation(this);
- collector.setProgressMonitor(monitor);
-
- // get all of the root tasks and start the search
- List<ITask> tasks = MylarTasklistPlugin.getTaskListManager().getTaskList().getRootTasks();
- searchLocal(tasks, collector, elementName, monitor);
- for (TaskCategory cat : MylarTasklistPlugin.getTaskListManager().getTaskList().getTaskCategories()) {
- searchLocal(cat.getChildren(), collector, elementName, monitor);
- }
-
- // return the collector
- return collector;
- }
-
- /**
- * Search the local bugs for the member using the unqualified name
- * @param monitor The progress monitor to search with
- * @return The BugzillaResultCollector with the results of the search
- */
- private BugzillaResultCollector searchLocalUnQual(IProgressMonitor monitor) {
-
- // get the element name for searching
- String elementName = javaElement.getElementName();
-
- // setup the search result collector
- collector = new BugzillaResultCollector();
- collector.setOperation(this);
- collector.setProgressMonitor(monitor);
-
- // get all of the root tasks and start the search
- List<ITask> tasks = MylarTasklistPlugin.getTaskListManager().getTaskList().getRootTasks();
- searchLocal(tasks, collector, elementName, monitor);
- for (TaskCategory cat : MylarTasklistPlugin.getTaskListManager().getTaskList().getTaskCategories()) {
- searchLocal(cat.getChildren(), collector, elementName, monitor);
- }
- // return the collector
- return collector;
- }
-
- /**
- * Search the local bugs for the member
- * @param tasks The tasks to search
- * @param searchCollector The collector to add the results to
- * @param elementName The name of the element that we are looking for
- * @param monitor The progress monitor
- */
- private void searchLocal(List<ITask> tasks, BugzillaResultCollector searchCollector, String elementName, IProgressMonitor monitor) {
- if(tasks == null) return;
-
- // go through all of the tasks
- for(ITask task : tasks){
- monitor.worked(1);
-
- // check what kind of task it is
- if(task instanceof BugzillaTask){
-
- // we have a bugzilla task, so get the bug report
- BugzillaTask bugTask = (BugzillaTask)task;
- BugReport bug = bugTask.getBugReport();
-
- // parse the bug report for the element that we are searching for
- boolean isHit = search(elementName, bug);
-
- // determine if we have a hit or not
- if(isHit){
-
- // make a search hit from the bug and then add it to the collector
- BugzillaSearchHit hit = new BugzillaSearchHit(bug.getId(), bug.getDescription(), "","","","","","","", bug.getServer());
- try{
- searchCollector.accept(hit);
- } catch(CoreException e){
- MylarPlugin.log(e, "bug search failed");
- }
- }
- }
- }
- status = Status.OK_STATUS;
- }
-
- /**
- * Search the bug for the given element name
- * @param elementName The name of the element to search for
- * @param bug The bug to search in
- */
- private boolean search(String elementName, BugReport bug) {
-
- if (bug == null) return false; // MIK: added null check here
- String description = bug.getDescription();
- String summary = bug.getSummary();
- List<Comment> comments = bug.getComments();
-
- // search the description and the summary
- if(Util.hasElementName(elementName, summary))
- return true;
-
- if(Util.hasElementName(elementName, description))
- return true;
-
- Iterator<Comment> comItr = comments.iterator();
- while (comItr.hasNext()) {
- Comment comment = comItr.next();
- String commentText = comment.getText();
- // search the text for a reference to the element
- if(Util.hasElementName(elementName, commentText))
- return true;
- }
- return false;
- }
-
- /**
- * Perform the actual search on the Bugzilla server
- * @param url The url to use for the search
- * @param searchCollector The collector to put the search results into
- * @param monitor The progress monitor to use for the search
- * @return The BugzillaResultCollector with the search results
- */
- private BugzillaResultCollector search(String url, BugzillaResultCollector searchCollector, IProgressMonitor monitor){
-
- // set the initial number of matches to 0
- int matches = 0;
- // setup the progress monitor and start the search
- searchCollector.setProgressMonitor(monitor);
- BugzillaSearchEngine engine = new BugzillaSearchEngine(url);
- try {
-
- // perform the search
- status = engine.search(searchCollector, matches);
-
- // check the status so that we don't keep searching if there
- // is a problem
- if (status.getCode() == IStatus.CANCEL) {
- return null;
- } else if (!status.isOK()) {
- MylarPlugin.log("search error", this);
- MylarPlugin.log(status);
- return null;
- }
- return searchCollector;
- } catch (LoginException e) {
- //save this exception to throw later
- this.loginException = e;
- }
- return null;
- }
-
- /**
- * Perform a search for qualified instances of the member
- * @param monitor The progress monitor to use
- * @return The BugzillaResultCollector with the search results
- */
- private BugzillaResultCollector searchQualified(IProgressMonitor monitor)
- {
- // create a new collector for the results
- collector = new BugzillaResultCollector();
- collector.setOperation(this);
- collector.setProgressMonitor(monitor);
-
- // get the search url
- String url = Util.getExactSearchURL(javaElement);
-
- // log the url that we are searching with
- // MIK: commmented out logging
-// MonitorPlugin.log(this, url);
-
- return search(url, collector, monitor);
- }
-
- /**
- * Perform a search for unqualified instances of the member
- * @param monitor The progress monitor to use
- * @return The BugzillaResultCollector with the search results
- */
- private BugzillaResultCollector searchUnqualified(IProgressMonitor monitor)
- {
- // create a new collector for the results
- collector = new BugzillaResultCollector();
- collector.setOperation(this);
- collector.setProgressMonitor(monitor);
-
- // get the search url
- String url = Util.getInexactSearchURL(javaElement);
-
- // log the url that we are searching with
- // MIK: commmented out logging
-// MonitorPlugin.log(this, url);
-
- return search(url, collector, monitor);
- }
-
-// /**
-// * Remove all of the duplicates
-// * @param compare The List of BugzillaSearchHits to compare with
-// * @param base The List of BugzillaSearchHits to remove the duplicates from
-// */
-// private void removeDuplicates(List<BugzillaSearchHit> compare, List<BugzillaSearchHit> base){
-//
-// for(BugzillaSearchHit h1 : compare){
-// Iterator itr2 = base.iterator();
-// while(itr2.hasNext()){
-// BugzillaSearchHit h2 = (BugzillaSearchHit)itr2.next();
-// if(h2.getId() == h1.getId()){
-// // we found a duplicate so remove it
-// itr2.remove();
-// break;
-// }
-// }
-// }
-// }
-//
- /**
- * Perform a second pass parse to determine if there are any stack traces in
- * the bug - currently only used for the exact search results
- *
- * @param doiList -
- * the list of BugzillaSearchHitDOI elements to parse
- */
- public static void secondPassBugzillaParser(List<BugzillaReportNode> doiList) {
-
- // go through each of the items in the doiList
- for(BugzillaReportNode info : doiList) {
-
- // get the bug report so that we have all of the data
- // - descriptions, comments, etc
- BugReport b = null;
- try{
- b = info.getBug();
- }catch(Exception e){
- // don't care since null will be caught
- }
-
- // if the report could not be downloaded, try the next one
- if (b == null)
- continue;
-
- // see if the description has a stack trace in it
- StackTrace[] stackTrace = StackTrace.getStackTrace(b.getDescription(), b.getDescription());
- if (stackTrace != null) {
-
- // add the stack trace to the doi info
- info.setExact(true);
- info.addStackTraces(stackTrace);
- }
-
- // go through all of the comments for the bug
- Iterator<Comment> comItr = b.getComments().iterator();
- while (comItr.hasNext()) {
- Comment comment = comItr.next();
- String commentText = comment.getText();
-
- // see if the comment has a stack trace in it
- stackTrace = StackTrace.getStackTrace(commentText, comment);
- if (stackTrace != null) {
-
- // add the stack trace to the doi info
- info.setExact(true);
- info.addStackTraces(stackTrace);
- }
- }
- }
- }
-
- /**
- * Add the results returned to the Hash of landmarks
- *
- * @param results
- * The list of results
- * @param isExact
- * whether the search was exact or not
- */
- private List<BugzillaReportNode> getDoiList(List<BugzillaSearchHit> results) {
- List<BugzillaReportNode> doiList = new ArrayList<BugzillaReportNode>();
-
- boolean isExact = (scope==BugzillaMylarSearch.FULLY_QUAL || scope==BugzillaMylarSearch.LOCAL_QUAL)?true:false;
-
- BugzillaReportNode info = null;
- // go through all of the results and create a DoiInfo list
- for(BugzillaSearchHit hit : results){
-
- try {
- float value = 0;
- info = new BugzillaReportNode(
- value, hit, isExact);
-
- // only download the bug for the exact matches
- //downloading bugs kills the time - can we do this elsewhere? - different thread? persistant?
-// if(isExact){
-// // get the bug report for the doi info item
-// BugReport b = BugzillaRepository.getInstance().getBug(
-// hit.getId());
-// // add the bug to the doi info for future use
-// info.setBug(b);
-// }
-
- } catch (Exception e) {
- MylarPlugin.log(e, "search failed");
- }
- finally{
- doiList.add(info);
- }
- }
- return doiList;
- }
-
- /**
- * @see org.eclipse.mylar.bugs.core.search.IBugzillaSearchOperation#getStatus()
- */
- public IStatus getStatus() throws LoginException {
- // if a LoginException was thrown while trying to search, throw this
- if (loginException == null) {
- return status;
- } else {
- throw loginException;
- }
- }
-
- /**
- * @see org.eclipse.mylar.bugs.core.search.IBugzillaSearchOperation#getImageDescriptor()
- */
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- /**
- * Get the member that we are performing the search for
- *
- * @return The member this search is being performed for
- */
- public IMember getSearchMember() {
- return javaElement;
- }
-
- /**
- * Get the name of the member that we are searching for
- *
- * @return The fully qualified name of the member
- */
- public String getSearchMemberName() {
- return name;
- }
-
- /**
- * @see org.eclipse.mylar.bugs.core.search.IBugzillaSearchOperation#getQuery()
- */
- public BugzillaSearchQuery getQuery() {
- return query;
- }
-
- /**
- * @see org.eclipse.mylar.bugs.core.search.IBugzillaSearchOperation#setQuery(org.eclipse.mylar.bugs.core.search.BugzillaSearchQuery)
- */
- public void setQuery(BugzillaSearchQuery newQuery) {
- this.query = newQuery;
- }
-
- /**
- * Get the name of the element that we are searching for
- *
- * @return The name of the element
- */
- public String getName(){
- return name;
- }
-
- /**
- * Get the scope of the search operation
- * @return The scope - defined in BugzillaMylarSearch
- */
- public int getScope() {
- return scope;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaReferencesProvider.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaReferencesProvider.java
deleted file mode 100644
index 7f7575502..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/BugzillaReferencesProvider.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Feb 2, 2005
- */
-package org.eclipse.mylar.bugs.search;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.mylar.bugs.BugzillaSearchManager;
-import org.eclipse.mylar.bugs.BugzillaStructureBridge;
-import org.eclipse.mylar.bugs.MylarBugsPlugin;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.core.AbstractRelationProvider;
-import org.eclipse.mylar.core.IMylarElement;
-import org.eclipse.mylar.core.search.IActiveSearchListener;
-import org.eclipse.mylar.core.search.IMylarSearchOperation;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * @author Shawn Minto
- */
-public class BugzillaReferencesProvider extends AbstractRelationProvider {
-
- public static final String ID = "org.eclipse.mylar.bugs.search.references";
- public static final String NAME = "referenced by";
- public static final int DEFAULT_DEGREE = 0;
-
- public BugzillaReferencesProvider() {
- super(BugzillaStructureBridge.CONTENT_TYPE, ID);
- }
-
- protected boolean acceptElement(IJavaElement javaElement) {
- return javaElement != null
- && (javaElement instanceof IMember || javaElement instanceof IType) && javaElement.exists();
- }
-
- /**
- * HACK: checking kind as string - don't want the dependancy to mylar.java
- */
- @Override
- protected void findRelated(final IMylarElement node, int degreeOfSeparation) {
- if (!node.getContentType().equals("java")) return;
- IJavaElement javaElement = JavaCore.create(node.getHandleIdentifier());
- if (!acceptElement(javaElement)) {
- return;
- }
- runJob(node, degreeOfSeparation);
- }
-
- @Override
- public IMylarSearchOperation getSearchOperation(IMylarElement node, int limitTo, int degreeOfSepatation) {
- IJavaElement javaElement = JavaCore.create(node.getHandleIdentifier());
- return new BugzillaMylarSearch(degreeOfSepatation, javaElement);
- }
-
- private void runJob(final IMylarElement node, final int degreeOfSeparation) {
- BugzillaMylarSearch search = (BugzillaMylarSearch)getSearchOperation(node, 0, degreeOfSeparation);
-
- search.addListener(new IActiveSearchListener(){
-
- private boolean gathered = false;
-
- public void searchCompleted(List<?> nodes) {
- Iterator<?> itr = nodes.iterator();
-
- if(MylarBugsPlugin.getDefault() == null)
- return;
-
- while(itr.hasNext()) {
- Object o = itr.next();
- if(o instanceof BugzillaReportNode){
- BugzillaReportNode bugzillaNode = (BugzillaReportNode)o;
- final String handle = bugzillaNode.getElementHandle();
- if(MylarBugsPlugin.getDefault().getCache().getCached(handle) == null)
- cache(handle, bugzillaNode);
-
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){
- public void run() {
- incrementInterest(node, BugzillaStructureBridge.CONTENT_TYPE, handle, degreeOfSeparation);
- }
- });
- }
- }
- gathered = true;
- BugzillaReferencesProvider.this.searchCompleted(node);
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
-
- });
- search.run(new NullProgressMonitor(), Job.DECORATE-10);
- }
-
- @Override
- public String getGenericId() {
- return ID;
- }
-
- @Override
- protected String getSourceId() {
- return ID;
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
- /*
- *
- * STUFF FOR TEMPORARILY CACHING A PROXY REPORT
- *
- * TODO remove the proxys and update the BugzillaStructureBridge cache so that on restart,
- * we dont have to get all of the bugs
- *
- */
- private static final Map<String, BugzillaReportNode> reports = new HashMap<String, BugzillaReportNode>();
-
- public BugzillaReportNode getCached(String handle){
- return reports.get(handle);
- }
-
- protected void cache(String handle, BugzillaReportNode bugzillaNode) {
- reports.put(handle, bugzillaNode);
- }
-
- public void clearCachedReports(){
- reports.clear();
- }
-
- public Collection<? extends String> getCachedHandles() {
- return reports.keySet();
- }
-
- @Override
- public void stopAllRunningJobs() {
- BugzillaSearchManager.cancelAllRunningJobs();
-
- }
-
- @Override
- protected int getDefaultDegreeOfSeparation() {
- return DEFAULT_DEGREE;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/Util.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/Util.java
deleted file mode 100644
index 47d5821f8..000000000
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/bugs/search/Util.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Nov 19, 2004
- */
-package org.eclipse.mylar.bugs.search;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.nio.charset.Charset;
-
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.mylar.bugzilla.core.BugzillaPlugin;
-import org.eclipse.mylar.bugzilla.core.BugzillaPreferences;
-import org.eclipse.mylar.bugzilla.core.IBugzillaConstants;
-
-
-/**
- * Utilities methods for the BugzillaMylarBridge
- *
- * @author Shawn Minto
- */
-public class Util {
-
- /**
- * List of all of the search operations that can be done <br> all words, any words, regex
- */
- private static final String[] patternOperationValues = { "allwordssubstr", "anywordssubstr", "regexp" };
- /**
- * Sugzilla preferences so that we can get the search params
- */
- private static IPreferenceStore prefs = BugzillaPlugin.getDefault().getPreferenceStore();
- /**
- * List of all of the resolutions that we can have <br> FIXED, INVALID, WONTFIX, LATER, REMIND, DUPLICATE, WORKSFORME, MOVED, ---
- */
- private static String[] resolutionValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.RESOLUTION_VALUES));
- /**
- * List of all of the statuses that we can have <br> UNCONFIRMED, NEW, ASSIGNED, REOPENED, RESOLVED, VERIFIED, CLOSED
- */
- private static String[] statusValues = BugzillaPreferences.queryOptionsToArray(prefs.getString(IBugzillaConstants.STATUS_VALUES));
-
- /**
- * Get the bugzilla url used for searching for exact matches
- *
- * @param je
- * The IMember to create the query string for
- * @return A url string for the search
- */
- public static String getExactSearchURL(IMember je) {
- StringBuffer sb = getQueryURLStart();
-
- String long_desc = "";
-
- // get the fully qualified name of the element
- long_desc += BugzillaMylarSearchOperation.getFullyQualifiedName(je);
-
- try{
- // encode the string to be used as a url
- sb.append(URLEncoder.encode(long_desc, Charset.defaultCharset().toString()));
- } catch (UnsupportedEncodingException e)
- {
- // should never get here since we are using the default encoding
- }
- sb.append(getQueryURLEnd());
-
- return sb.toString();
- }
-
- /**
- * Get the bugzilla url used for searching for inexact matches
- *
- * @param je
- * The IMember to create the query string for
- * @return A url string for the search
- */
- public static String getInexactSearchURL(IMember je) {
- StringBuffer sb = getQueryURLStart();
-
-
- String long_desc = "";
-
- // add the member, qualified with just its parents name
- if (!(je instanceof IType))
- long_desc += je.getParent().getElementName()+".";
- long_desc += je.getElementName();
-
- try{
- // encode the string to be used as a url
- sb.append(URLEncoder.encode(long_desc, Charset.defaultCharset().toString()));
- } catch (UnsupportedEncodingException e)
- {
- // should never get here since we are using the default encoding
- }
- sb.append(getQueryURLEnd());
-
- return sb.toString();
- }
-
- /**
- * Create the end of the bugzilla query URL with all of the status' and resolutions that we want
- * @return StringBuffer with the end of the query URL in it
- */
- public static StringBuffer getQueryURLEnd(){
-
- StringBuffer sb = new StringBuffer();
-
- // add the status and resolutions that we care about
- sb.append("&bug_status=" + statusValues[0]); // UNCONFIRMED
- sb.append("&bug_status=" + statusValues[1]); // NEW
- sb.append("&bug_status=" + statusValues[2]); // ASSIGNED
- sb.append("&bug_status=" + statusValues[3]); // REOPENED
- sb.append("&bug_status=" + statusValues[4]); // RESOLVED
- sb.append("&bug_status=" + statusValues[5]); // VERIFIED
- sb.append("&bug_status=" + statusValues[6]); // CLOSED
-
- sb.append("&resolution=" + resolutionValues[0]); // FIXED
- sb.append("&resolution=" + resolutionValues[3]); // LATER
- sb.append("&resolution=" + "---"); // ---
- return sb;
- }
-
- /**
- * Create the bugzilla query URL start.
- *
- * @return The start of the query url as a StringBuffer <br>
- * Example: https://bugs.eclipse.org/bugs/buglist.cgi?long_desc_type=allwordssubstr&long_desc=
- */
- public static StringBuffer getQueryURLStart() {
- StringBuffer sb = new StringBuffer(BugzillaPlugin.getDefault()
- .getServerName());
-
- if (sb.charAt(sb.length() - 1) != '/') {
- sb.append('/');
- }
- sb.append("buglist.cgi?");
-
- // use the username and password if we have it
- if (BugzillaPreferences.getUserName() != null
- && !BugzillaPreferences.getUserName().equals("")
- && BugzillaPreferences.getPassword() != null
- && !BugzillaPreferences.getPassword().equals("")) {
- try{
- sb.append("GoAheadAndLogIn=1&Bugzilla_login="
- + URLEncoder.encode(BugzillaPreferences.getUserName(), Charset.defaultCharset().toString())
- + "&Bugzilla_password="
- + URLEncoder.encode(BugzillaPreferences.getPassword(), Charset.defaultCharset().toString())
- + "&");
- } catch (UnsupportedEncodingException e)
- {
- // should never get here since we are using the default encoding
- }
- }
-
- // add the description search type
- sb.append("long_desc_type=");
- sb.append(patternOperationValues[0]); // search for all words
- sb.append("&long_desc=");
-
- return sb;
- }
-
- /**
- * Search the given string for another string
- * @param elementName The name of the element that we are looking for
- * @param comment The text to search for this element name
- * @return <code>true</code> if the element is found in the text else <code>false</code>
- */
- public static boolean hasElementName(String elementName, String comment) {
-
- // setup a regex for the element name
- String regexElement = ".*"+elementName+".*";
-
- // get all of the individual lines for the string
- String[] lines = comment.split("\n");
-
- // go through each of the lines of the string
- for (int i = 0; i < lines.length; i++) {
-
- if (lines[i].matches(regexElement)){
- return true;
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.tests/.classpath b/org.eclipse.mylyn.tasks.tests/.classpath
deleted file mode 100644
index a5424b27d..000000000
--- a/org.eclipse.mylyn.tasks.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="**/internal/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.tasks.tests/.cvsignore b/org.eclipse.mylyn.tasks.tests/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.mylyn.tasks.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.mylyn.tasks.tests/.project b/org.eclipse.mylyn.tasks.tests/.project
deleted file mode 100644
index 7bbb3bbd6..000000000
--- a/org.eclipse.mylyn.tasks.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.tasks.tests</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.tasks.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7ca1a203c..000000000
--- a/org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Jun 30 08:33:56 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0a1639dd7..000000000
--- a/org.eclipse.mylyn.tasks.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:42:32 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index e6b0e6336..000000000
--- a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Mylar Tasklist Tests Plug-in
-Bundle-SymbolicName: org.eclipse.mylar.tasklist.tests
-Bundle-Version: 0.0.0
-Bundle-Activator: org.eclipse.mylar.tasklist.tests.MylarTasksTestsPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.eclipse.mylar.core,
- org.eclipse.mylar.core.tests,
- org.eclipse.jdt.core,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.mylar.bugzilla.core,
- org.eclipse.mylar.bugzilla.ui,
- org.eclipse.mylar.bugs,
- org.eclipse.mylar.tasklist
-Eclipse-AutoStart: true
-Bundle-ClassPath: mylar-tasklist-tests.jar
-Export-Package: org.eclipse.mylar.tasklist.tests.bugzilla,
- org.eclipse.mylar.tasklist.tests
diff --git a/org.eclipse.mylyn.tasks.tests/about.html b/org.eclipse.mylyn.tasks.tests/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.tasks.tests/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.tasks.tests/build.properties b/org.eclipse.mylyn.tasks.tests/build.properties
deleted file mode 100644
index e1085ddef..000000000
--- a/org.eclipse.mylyn.tasks.tests/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# 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/,\
- mylar-tasklist-tests.jar,\
- about.html
-jars.compile.order = mylar-tasklist-tests.jar
-source.mylar-tasklist-tests.jar = src/
-output.mylar-tasklist-tests.jar = bin/
-src.includes = about.html,\
- src/,\
- META-INF/
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/AllTasklistTests.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/AllTasklistTests.java
deleted file mode 100644
index 04a3132f8..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/AllTasklistTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.mylar.tasklist.tests.bugzilla.BugzillaSearchPluginTest;
-
-/**
- * @author Mik Kersten
- */
-public class AllTasklistTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(
- "Test for org.eclipse.mylar.tasklist.bugzilla.tests");
- //$JUnit-BEGIN$
- suite.addTestSuite(TaskListManagerTest.class);
- suite.addTestSuite(TaskListUiTest.class);
- suite.addTestSuite(TaskHistoryTest.class);
-// suite.addTestSuite(BugzillaStackTraceTest.class);
- suite.addTestSuite(BugzillaSearchPluginTest.class);
- //$JUnit-END$
- return suite;
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Job.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Job.java
deleted file mode 100644
index 1ba2a09c6..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Job.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-public class Job {
- private String company;
- private String position;
- private int salary;
- private String email;
- private String supervisor;
-
- public static String foo = "TESTING STATIC FOR XSTREAM";
-
- public Job() {
- this.company = "Foo";
- this.position = "slave";
- this.salary = 100;
- this.email = "a@bc.com";
- //this.supervisor = "bill gates";
- }
-
- public Job(String comp, String pos, int salary, String email, String supervisor) {
- this.company = comp;
- this.position = pos;
- this.salary = salary;
- this.email = email;
- this.supervisor = supervisor;
- }
-
- public boolean equals(Job j) {
- boolean result = true;
- result = result && j.company == this.company;
- result = result && j.position == this.position;
- result = result && j.salary == this.salary;
- result = result && j.email == this.email;
- result = result && j.supervisor == this.supervisor;
- return result;
- }
-
- public String getCompany() {
- return company;
- }
-
- public void setCompany(String company) {
- this.company = company;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public int getSalary() {
- return salary;
- }
-
- public void setSalary(int salary) {
- this.salary = salary;
- }
-
- public String getSupervisor() {
- return supervisor;
- }
-
- public void setSupervisor(String supervisor) {
- this.supervisor = supervisor;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/MylarTasksTestsPlugin.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/MylarTasksTestsPlugin.java
deleted file mode 100644
index 1f544f371..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/MylarTasksTestsPlugin.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class MylarTasksTestsPlugin extends Plugin {
- //The shared instance.
- private static MylarTasksTestsPlugin plugin;
-
- /**
- * The constructor.
- */
- public MylarTasksTestsPlugin() {
- super();
- plugin = this;
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- }
-
- /**
- * Returns the shared instance.
- */
- public static MylarTasksTestsPlugin getDefault() {
- return plugin;
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/People.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/People.java
deleted file mode 100644
index e4f43ae51..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/People.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-
-public class People {
- private List<Person> list = new ArrayList<Person>();
-
- public People() {
- // don't need to do any initialization
- }
-
- public void createDefault() {
- Person p = new Person("Ken Sueda", "ksueda@hotmail.com", "123-4567", 22, 1);
- Job j = new Job("UBCCS", "developer", 1000, "ksueda@cs.ubc.ca", "foo");
- p.setJob(j);
- list.add(p);
-
- p = new Person("Shawn Minto", "minto@hotmail.com", "798-1234", 23, 2);
- j = new Job("UBCCS", "grad student", 3000, "minto@cs.ubc.ca", "foo");
- p.setJob(j);
- list.add(p);
-
-
- p = new Person("Mik Kersten", "kersten@hotmail.com", "456-7891", 24, 3);
- j = new Job("UBCCS", "PhD", 1000000, "kersten@cs.ubc.ca", "foo");
- p.setJob(j);
- list.add(p);
-
- p = new Person("Gail Murphy", "murphy@hotmail.com", "987-6543", 25, 4);
- j = new Job("UBCCS", "Professor", 100000000, "", "");
- p.setJob(j);
- list.add(p);
- }
-
- public boolean equals(People people) {
- boolean result = true;
- if (list.size() == people.list.size()) {
- Iterator<Person> itr = list.iterator();
- Iterator<Person> itr2 = people.list.iterator();
-
- while(itr.hasNext()) {
- Person p = itr.next();
- Person p2 = itr2.next();
- result = result && p.equals(p2);
- if (!result) {
- break;
- }
- }
- } else {
- result = false;
- }
- return result;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Person.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Person.java
deleted file mode 100644
index b0de781d2..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/Person.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class Person {
- private String name;
- private String emailAddress;
- private String phoneNumber;
- private int age;
- private int id;
- private Job job;
-
- private List<Person> list = new ArrayList<Person>();
-
- public Person() {
- name = "Ken Sueda";
- id = 1;
- age = 22;
- emailAddress = "ksueda@hotmail.com";
- phoneNumber = "123-4567";
- job = null;
- }
-
- public Person(String name, String email, String phone, int age, int id) {
- this.name = name;
- this.emailAddress = email;
- this.phoneNumber = phone;
- this.age = age;
- this.id = id;
- this.job = null;
- }
-
- public void add(Person p) {
- list.add(p);
- }
-
- public boolean equals(Person p) {
- boolean result = true;
- result = result && p.name == this.name;
- result = result && p.emailAddress == this.emailAddress;
- result = result && p.phoneNumber == this.phoneNumber;
- result = result && p.age == this.age;
- result = result && p.id == this.id;
- result = result && p.job.equals(this.job);
- return result;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getEmailAddress() {
- return emailAddress;
- }
-
- public void setEmailAddress(String emailAddress) {
- this.emailAddress = emailAddress;
- }
-
- public String getPhoneNumber() {
- return phoneNumber;
- }
-
- public void setPhoneNumber(String phoneNumber) {
- this.phoneNumber = phoneNumber;
- }
-
- public Job getJob() {
- return job;
- }
-
- public void setJob(Job job) {
- this.job = job;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java
deleted file mode 100644
index f9d348353..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListManager;
-import org.eclipse.mylar.tasklist.ui.actions.NextTaskDropDownAction;
-import org.eclipse.mylar.tasklist.ui.actions.PreviousTaskDropDownAction;
-import org.eclipse.mylar.tasklist.ui.actions.TaskActivateAction;
-import org.eclipse.mylar.tasklist.ui.actions.TaskDeactivateAction;
-import org.eclipse.mylar.tasklist.ui.actions.DropDownTaskNavigateAction.TaskNavigateAction;
-import org.eclipse.mylar.tasklist.ui.views.TaskActivationHistory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.PartInitException;
-
-/**
- * @author Wes Coelho
- */
-public class TaskHistoryTest extends TestCase {
-
- protected TaskListManager manager = MylarTasklistPlugin.getTaskListManager();
- protected TaskListView taskView = null;
-
- protected Task task1 = null;
- protected Task task2 = null;
- protected Task task3 = null;
- protected Task task4 = null;
- protected Task task5 = null;
-
- protected void setUp() throws Exception {
- super.setUp();
-
-
- try {
- MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("org.eclipse.mylar.tasks.ui.views.TaskListView");
- } catch (PartInitException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- fail("View not initialized");
- }
-
- assertNotNull(TaskListView.getDefault());
- taskView = TaskListView.getDefault();
-
- resetHistory();
-
- task1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 1", true);
- task2 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 2", true);
- task3 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 3", true);
- task4 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 4", true);
- task5 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 5", true);
-
- manager.addRootTask(task1);
- manager.addRootTask(task2);
- manager.addRootTask(task3);
- manager.addRootTask(task4);
- manager.addRootTask(task5);
-
- }
-
- private void resetHistory(){
- taskView.clearTaskHistory();
- MylarPlugin.getContextManager().resetActivityHistory();
- }
-
- /**
- * Tests the next task and previous task navigation.
- */
- public void testBasicHistoryNavigation(){
- (new TaskActivateAction()).run(task1);
- taskView.addTaskToHistory(task1);
- (new TaskActivateAction()).run(task2);
- taskView.addTaskToHistory(task2);
- (new TaskActivateAction()).run(task3);
- taskView.addTaskToHistory(task3);
-
- assertTrue(task3.isActive());
- assertFalse(task2.isActive());
-
- taskView.getPreviousTaskAction().run();
- assertTrue(task2.isActive());
-
- taskView.getPreviousTaskAction().run();
- assertTrue(task1.isActive());
-
- taskView.getPreviousTaskAction().run();
- assertTrue(task1.isActive());
-
- taskView.getNextTaskAction().run();
- assertTrue(task2.isActive());
-
- taskView.getNextTaskAction().run();
- assertTrue(task3.isActive());
-
- taskView.getNextTaskAction().run();
- assertTrue(task3.isActive());
-
- taskView.getPreviousTaskAction().run();
- assertTrue(task2.isActive());
-
- taskView.getNextTaskAction().run();
- assertTrue(task3.isActive());
-
- (new TaskActivateAction()).run(task4);
- taskView.addTaskToHistory(task4); //Simulate clicking on it rather than navigating next or previous
- assertTrue(task4.isActive());
-
- taskView.getNextTaskAction().run();
- assertTrue(task4.isActive());
-
- taskView.getPreviousTaskAction().run();
- assertTrue(task3.isActive());
-
- taskView.getNextTaskAction().run();
- assertTrue(task4.isActive());
-
- }
-
- /**
- * Tests navigation to previous/next tasks that
- * are chosen from a list rather than being
- * sequentially navigated
- */
- public void testArbitraryHistoryNavigation(){
-
- resetHistory();
-
- //Simulate activating the tasks by clicking rather than
- //navigating previous/next
- (new TaskActivateAction()).run(task1);
- taskView.addTaskToHistory(task1);
- (new TaskActivateAction()).run(task2);
- taskView.addTaskToHistory(task2);
- (new TaskActivateAction()).run(task3);
- taskView.addTaskToHistory(task3);
- (new TaskActivateAction()).run(task4);
- taskView.addTaskToHistory(task4);
-
- assertTrue(task4.isActive());
- TaskActivationHistory taskHistory = taskView.getTaskActivationHistory();
- List<ITask> prevHistoryList = taskHistory.getPreviousTasks();
-
- //Check that the previous history list looks right
- assertTrue(prevHistoryList.size() >= 3);
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task3);
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task2);
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task1);
-
- //Get a task from the list and activate it
- PreviousTaskDropDownAction prevAction = new PreviousTaskDropDownAction(taskView, taskHistory);
- TaskNavigateAction navigateAction = prevAction.new TaskNavigateAction(task2);
- navigateAction.run();
- taskHistory.navigatedToTask(task2);
-
- assertTrue(task2.isActive());
-
- // Now check that the next and prev lists look right
- prevHistoryList = taskHistory.getPreviousTasks();
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task1);
- List<ITask> nextHistoryList = taskHistory.getNextTasks();
- assertTrue(nextHistoryList.get(0) == task3);
- assertTrue(nextHistoryList.get(1) == task4);
-
- //Navigate to a next item
- NextTaskDropDownAction nextAction = new NextTaskDropDownAction(taskView, taskHistory);
- navigateAction = nextAction.new TaskNavigateAction(task4);
- navigateAction.run();
- taskHistory.navigatedToTask(task4);
-
- assertTrue(task4.isActive());
-
- // Check that the prev and next lists look right
- nextHistoryList = taskHistory.getNextTasks();
- prevHistoryList = taskHistory.getPreviousTasks();
- assertTrue(nextHistoryList.size() == 0);
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task3);
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task2);
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task1);
-
- //Check that a deactivated task appears first on the history list
- (new TaskActivateAction()).run(task5);
- (new TaskDeactivateAction()).run(task5);
- taskView.addTaskToHistory(task5);
- prevHistoryList = taskHistory.getPreviousTasks();
- assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task5);
-
- }
-
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListManagerTest.java
deleted file mode 100644
index 76105ebd2..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListManagerTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Dec 21, 2004
- */
-package org.eclipse.mylar.tasklist.tests;
-
-import java.io.File;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTaskExternalizer;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListManager;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.internal.TaskList;
-
-/**
- * @author Mik Kersten
- */
-public class TaskListManagerTest extends TestCase {
-
- public void testPlans() {
- File file = new File("foo" + MylarTasklistPlugin.FILE_EXTENSION);
- file.deleteOnExit();
- TaskListManager manager = new TaskListManager(file);
-
- Task task1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 1", true);
- task1.addPlan("default");
- manager.addRootTask(task1);
-
- manager.saveTaskList();
- assertNotNull(manager.getTaskList());
- TaskList list = new TaskList();
- manager.setTaskList(list);
- manager.readTaskList();
- assertNotNull(manager.getTaskList());
-
- List<ITask> readList = manager.getTaskList().getRootTasks();
- ITask task = readList.get(0);
- assertEquals(1, task.getPlans().size());
- assertTrue(task.getPlans().get(0).equals("default"));
- }
-
- public void testCreationAndExternalization() {
- File file = new File("foo" + MylarTasklistPlugin.FILE_EXTENSION);
- file.deleteOnExit();
- TaskListManager manager = new TaskListManager(file);
-
- Task task1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 1", true);
- manager.addRootTask(task1);
- Task sub1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "sub 1", true);
- task1.addSubTask(sub1);
- sub1.setParent(task1);
- Task task2 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 2", true);
- manager.addRootTask(task2);
-
- TaskCategory cat1 = new TaskCategory("Category 1");
- manager.addCategory(cat1);
- Task task3 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 3", true);
- cat1.addTask(task3);
- Task sub2 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "sub 2", true);
- task3.addSubTask(sub2);
- sub2.setParent(task3);
- Task task4 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 4", true);
- cat1.addTask(task4);
-
- TaskCategory cat2 = new TaskCategory("Category 2");
- manager.addCategory(cat2);
- Task task5 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 5", true);
- cat2.addTask(task5);
- Task task6 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 6", true);
- cat2.addTask(task6);
-
- BugzillaTask report = new BugzillaTask("123", "label 123", true);
- cat2.addTask(report);
-
- BugzillaTask report2 = new BugzillaTask("124", "label 124", true);
- manager.addRootTask(report2);
-
- assertEquals(manager.getTaskList().getRoots().size(), 5);
-
- manager.saveTaskList();
- assertNotNull(manager.getTaskList());
- TaskList list = new TaskList();
- manager.setTaskList(list);
- manager.readTaskList();
- assertNotNull(manager.getTaskList());
- assertEquals(3, manager.getTaskList().getRootTasks().size());
- assertEquals(3, manager.getTaskList().getCategories().size());
-
- List<ITask> readList = manager.getTaskList().getRootTasks();
- assertTrue(readList.get(0).getDescription(true).equals("task 1"));
- assertTrue(readList.get(0).getChildren().get(0).getDescription(true).equals("sub 1"));
- assertTrue(readList.get(1).getDescription(true).equals("task 2"));
- assertTrue(readList.get(2) instanceof BugzillaTask);
-
- List<TaskCategory> readCats = manager.getTaskList().getTaskCategories();
- assertTrue(readCats.get(0).getDescription(true).equals(BugzillaTaskExternalizer.BUGZILLA_ARCHIVE_LABEL));
-
- readList = readCats.get(1).getChildren();
- assertTrue(readList.get(0).getDescription(true).equals("task 3"));
- assertTrue(readList.get(0).getChildren().get(0).getDescription(true).equals("sub 2"));
- assertTrue(readList.get(1).getDescription(true).equals("task 4"));
- readList = readCats.get(2).getChildren();
- assertTrue(readList.get(0).getDescription(true).equals("task 5"));
- assertTrue(readList.get(1).getDescription(true).equals("task 6"));
- assertTrue(readList.get(2) instanceof BugzillaTask);
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListUiTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListUiTest.java
deleted file mode 100644
index 12d5d1eb5..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskListUiTest.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListManager;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.internal.TaskPriorityFilter;
-import org.eclipse.mylar.tasklist.ui.views.TaskListContentProvider;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Tests TaskListView's filtering mechanism.
- * @author Ken Sueda
- *
- */
-public class TaskListUiTest extends TestCase {
-// private TaskList tlist = null;
- private TaskCategory cat1 = null;
- private Task cat1task1 = null;
- private Task cat1task2 = null;
- private Task cat1task3 = null;
- private Task cat1task4 = null;
- private Task cat1task5 = null;
- private Task cat1task1sub1 = null;
-
- private TaskCategory cat2 = null;
- private Task cat2task1 = null;
- private Task cat2task2 = null;
- private Task cat2task3 = null;
- private Task cat2task4 = null;
- private Task cat2task5 = null;
- private Task cat2task1sub1 = null;
-
-
- private final static int CHECK_COMPLETE_FILTER = 1;
- private final static int CHECK_INCOMPLETE_FILTER = 2;
- private final static int CHECK_PRIORITY_FILTER = 3;
-
- public void setUp() throws PartInitException{
- try {
- MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("org.eclipse.mylar.tasks.ui.views.TaskListView");
-// File file = new File("foo" + MylarTasklistPlugin.FILE_EXTENSION);
- TaskListManager manager = MylarTasklistPlugin.getTaskListManager();
-// tlist = manager.getTaskList();
- cat1 = new TaskCategory("First Category");
-
- cat1task1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 1", true);
- cat1task1.setPriority("P1");
- cat1task1.setCompleted(true);
- cat1task1.setCategory(cat1);
- cat1.addTask(cat1task1);
-
- cat1task1sub1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "sub task 1", true);
- cat1task1sub1.setPriority("P1");
- cat1task1sub1.setCompleted(true);
- cat1task1sub1.setParent(cat1task1);
- cat1task1.addSubTask(cat1task1sub1);
-
- cat1task2 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 2", true);
- cat1task2.setPriority("P2");
- cat1task2.setCategory(cat1);
- cat1.addTask(cat1task2);
-
- cat1task3 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 3", true);
- cat1task3.setPriority("P3");
- cat1task3.setCompleted(true);
- cat1task3.setCategory(cat1);
- cat1.addTask(cat1task3);
-
- cat1task4 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 4", true);
- cat1task4.setPriority("P4");
- cat1task4.setCategory(cat1);
- cat1.addTask(cat1task4);
-
- cat1task5 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 5", true);
- cat1task5.setPriority("P5");
- cat1task5.setCompleted(true);
- cat1task5.setCategory(cat1);
- cat1.addTask(cat1task5);
-
- manager.addCategory(cat1);
- assertEquals(cat1.getChildren().size(), 5);
-
- cat2 = new TaskCategory("Second Category");
-
- cat2task1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 1", true);
- cat2task1.setPriority("P1");
- cat2task1.setCategory(cat2);
- cat2.addTask(cat2task1);
-
- cat2task1sub1 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "sub task 1", true);
- cat2task1sub1.setPriority("P1");
- cat2task1sub1.setParent(cat2task1);
- cat2task1.addSubTask(cat2task1sub1);
-
- cat2task2 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 2", true);
- cat2task2.setPriority("P2");
- cat2task2.setCompleted(true);
- cat2task2.setCategory(cat2);
- cat2.addTask(cat2task2);
-
- cat2task3 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 3", true);
- cat2task3.setPriority("P3");
- cat2task3.setCategory(cat2);
- cat2.addTask(cat2task3);
-
- cat2task4 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 4", true);
- cat2task4.setPriority("P4");
- cat2task4.setCompleted(true);
- cat2task4.setCategory(cat2);
- cat2.addTask(cat2task4);
-
- cat2task5 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 5", true);
- cat2task5.setPriority("P5");
- cat2task5.setCategory(cat2);
- cat2.addTask(cat2task5);
-
- manager.addCategory(cat2);
- manager.saveTaskList();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public void tearDown() {
- // clear everything
- }
-
- public void testUiFilter() {
- try {
- assertNotNull(TaskListView.getDefault());
- TreeViewer viewer = TaskListView.getDefault().getViewer();
- viewer.setContentProvider(new TaskListContentProvider(TaskListView.getDefault()));
- viewer.refresh();
- TaskListView.getDefault().addFilter(TaskListView.getDefault().getCompleteFilter());
- viewer.refresh();
- viewer.expandAll();
- TreeItem[] items = viewer.getTree().getItems();
- assertTrue(checkFilter(CHECK_COMPLETE_FILTER, items));
- TaskListView.getDefault().removeFilter(TaskListView.getDefault().getCompleteFilter());
-
-
-// MylarTasklistPlugin.getTaskListManager().getTaskList().addFilter(TaskListView.getDefault().getInCompleteFilter());
-// viewer.refresh();
-// viewer.expandAll();
-// items = viewer.getTree().getItems();
-// assertTrue(checkFilter(CHECK_INCOMPLETE_FILTER, items));
-// MylarTasklistPlugin.getTaskListManager().getTaskList().removeFilter(TaskListView.getDefault().getInCompleteFilter());
- // check incomplte tasks
-
-
- TaskPriorityFilter filter = (TaskPriorityFilter)TaskListView.getDefault().getPriorityFilter();
- filter.displayPrioritiesAbove("P2");
- TaskListView.getDefault().addFilter(filter);
- viewer.refresh();
- viewer.expandAll();
- items = viewer.getTree().getItems();
-
- // check priority tasks
- assertTrue(checkFilter(CHECK_PRIORITY_FILTER, items));
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
-
- public boolean checkFilter(int type, TreeItem[] items) {
- switch(type) {
- case CHECK_COMPLETE_FILTER: return checkCompleteIncompleteFilter(items, false);
- case CHECK_INCOMPLETE_FILTER: return checkCompleteIncompleteFilter(items, true);
- case CHECK_PRIORITY_FILTER: return checkPriorityFilter(items);
- default: return false;
- }
- }
-
- public boolean checkCompleteIncompleteFilter(TreeItem[] items, boolean checkComplete) {
- assertEquals(2, items.length);
- int count = 0;
- for (int i = 0; i < items.length; i++) {
- assertTrue(items[i].getData() instanceof TaskCategory);
- TreeItem[] sub = items[i].getItems();
- for (int j = 0; j < sub.length; j++) {
- assertTrue(sub[j].getData() instanceof ITask);
- ITask task = (ITask) sub[j].getData();
- if (checkComplete) {
- assertTrue(task.isCompleted());
- } else {
- assertFalse(task.isCompleted());
- }
- count++;
- }
- }
- assertTrue(count == 5);
- return true;
- }
-
- public boolean checkPriorityFilter(TreeItem[] items) {
- assertTrue(items.length == 2);
- int p2Count = 0;
- int p1Count = 0;
- for (int i = 0; i < items.length; i++) {
- assertTrue(items[i].getData() instanceof TaskCategory);
- TreeItem[] sub = items[i].getItems();
- for (int j = 0; j < sub.length; j++) {
- assertTrue(sub[j].getData() instanceof ITask);
- ITask task = (ITask) sub[j].getData();
- assertTrue(task.getPriority().equals("P2") || task.getPriority().equals("P1"));
- if (task.getPriority().equals("P2")) {
- p2Count++;
- } else {
- p1Count++;
- }
- }
- }
- assertEquals(2, p1Count);
- assertEquals(2, p2Count);
- return true;
- }
-
-// class ContentProvider implements IStructuredContentProvider, ITreeContentProvider {
-// public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-// // don't care if the input changes
-// }
-// public void dispose() {
-// // don't care if we are disposed
-// }
-// public Object[] getElements(Object parent) {
-// return applyFilter(MylarTasklistPlugin.getTaskListManager().getTaskList().getRoots()).toArray();
-// }
-// public Object getParent(Object child) {
-// if (child instanceof ITask) {
-// if (((ITask)child).getParent() != null) {
-// return ((ITask)child).getParent();
-// } else {
-// return ((ITask)child).getCategory();
-// }
-//
-// }
-// return null;
-// }
-// public Object [] getChildren(Object parent) {
-// return getFilteredChildrenFor(parent).toArray();
-// }
-// public boolean hasChildren(Object parent) {
-// if (parent instanceof AbstractCategory) {
-// AbstractCategory cat = (AbstractCategory)parent;
-// return cat.getChildren() != null && cat.getChildren().size() > 0;
-// } else if (parent instanceof Task) {
-// Task t = (Task) parent;
-// return t.getChildren() != null && t.getChildren().size() > 0;
-// }
-// return false;
-// }
-// private List<Object> applyFilter(List<Object> list) {
-// List<Object> filteredRoots = new ArrayList<Object>();
-// for (int i = 0; i < list.size(); i++) {
-// if (list.get(i) instanceof ITask) {
-// if (!filter(list.get(i))) {
-// filteredRoots.add(list.get(i));
-// }
-// } else if (list.get(i) instanceof AbstractCategory) {
-// if (selectCategory((AbstractCategory)list.get(i))) {
-// filteredRoots.add(list.get(i));
-// }
-// }
-// }
-// return filteredRoots;
-// }
-//
-// private boolean selectCategory(AbstractCategory cat) {
-// List<? extends ITaskListElement> list = cat.getChildren();
-// if (list.size() == 0) {
-// return true;
-// }
-// for (int i = 0; i < list.size(); i++) {
-// if (!filter(list.get(i))) {
-// return true;
-// }
-// }
-// return false;
-// }
-//
-// private List<Object> getFilteredChildrenFor(Object parent) {
-// List<Object> children = new ArrayList<Object>();
-// if (parent instanceof AbstractCategory) {
-// List<? extends ITaskListElement> list = ((AbstractCategory)parent).getChildren();
-// for (int i = 0; i < list.size(); i++) {
-// if (!filter(list.get(i))) {
-// children.add(list.get(i));
-// }
-// }
-// return children;
-// } else if (parent instanceof Task) {
-// List<ITask> subTasks = ((Task)parent).getChildren();
-// for (ITask t : subTasks) {
-// if (!filter(t)) {
-// children.add(t);
-// }
-// }
-// return children;
-// }
-// return new ArrayList<Object>();
-// }
-//
-// private boolean filter(Object obj){
-// for (ITaskFilter filter : filters) {
-// if (!filter.select(obj)) {
-// return true;
-// }
-// }
-// return false;
-// }
-// }
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTest.java
deleted file mode 100644
index 53e834689..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Jan 24, 2005
- */
-package org.eclipse.mylar.tasklist.tests;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Shawn Minto
- *
- * TODO: remove?
- */
-public class TaskTest {
- private int id = -1;
-
- private String name = "";
-
- private List<String> categories = new ArrayList<String>();
-
- private List<TaskTest> taskList = new ArrayList<TaskTest>();
-
- @Override
- public String toString() {
- return "Task";
- }
-
- public boolean isEqual(TaskTest otherTask) {
-
- boolean result = true;
- result = result && (this.id == otherTask.id);
- int compare = (this.name.compareTo(otherTask.name));
- if (compare != 0)
- result = false;
-
- if (this.categories.size() == otherTask.categories.size()) {
- for (int i = 0; i < this.categories.size(); i++) {
- compare = this.categories.get(i).compareTo(
- otherTask.categories.get(i));
- if (compare != 0) {
- result = false;
- break;
- }
- }
- } else {
- result = false;
- }
- if (this.taskList.size() == otherTask.taskList.size()) {
- for (int i = 0; i < this.taskList.size(); i++) {
- result = result
- && (this.taskList.get(i).isEqual(otherTask.taskList
- .get(i)));
- }
- } else {
- result = false;
- }
- return result;
- }
-
- public static void printTask(TaskTest t, String tab) {
- System.out.println(tab + "TaskID: " + t.id);
- System.out.println(tab + "Name: " + t.name);
- System.out.println(tab + "Categories: ");
- for (int i = 0; i < t.categories.size(); i++) {
- System.out.println(tab + "\t " + t.categories.get(i));
- }
- for (int i = 0; i < t.taskList.size(); i++) {
- printTask(t.taskList.get(i), tab + "\t");
- }
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- // public List<String> getCategories() {
- // return categories;
- // }
- // public void setCategories(List<String> categories) {
- // this.categories = categories;
- // }
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public void addCategory(String category) {
- this.categories.add(category);
- }
-
- /**
- * @return Returns the categories.
- */
- public List<String> getCategories() {
- return categories;
- }
-
- /**
- * @param categories The categories to set.
- */
- public void setCategories(List<String> categories) {
- this.categories = categories;
- }
-
- /**
- * @return Returns the taskList.
- */
- public List<TaskTest> getTaskList() {
- return taskList;
- }
-
- /**
- * @param taskList The taskList to set.
- */
- public void setTaskList(List<TaskTest> taskList) {
- this.taskList = taskList;
- }
-
- public void addSubTask(TaskTest sub) {
- this.taskList.add(sub);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaSearchPluginTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaSearchPluginTest.java
deleted file mode 100644
index a6434a933..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaSearchPluginTest.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Nov 19, 2004
- */
-package org.eclipse.mylar.tasklist.tests.bugzilla;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.mylar.bugs.MylarBugsPlugin;
-import org.eclipse.mylar.bugs.search.BugzillaMylarSearch;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaTask.BugTaskState;
-import org.eclipse.mylar.core.search.IActiveSearchListener;
-import org.eclipse.mylar.core.tests.support.WorkspaceSetupHelper;
-import org.eclipse.mylar.core.tests.support.search.SearchPluginTestHelper;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListManager;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-
-/*TEST CASES TO HANDLE
- * 1. what is here
- * 2. different scopes ( local and remote )
- * 3. no bugs
- * 4. offline bugs
- *
- * DEGREE OF SEPARATIONS
- * 1 Local bug, qualified reference
- * 2 local bug, unqualified reference
- * 3 remote bug, qualified reference
- * 4 remote bug, unqualified reference
- * 5 NONE
- */
-
-/**
- * Test the bugzilla search functionality of the bridge
- * @author Shawn Minto
- */
-public class BugzillaSearchPluginTest extends TestCase{
-
- //SHAWNTODO Add tests for the different types of searches (local qual, local unqual, fully qual, unqual) and mock up a bugs db for testing
-
- /** The expected number of results when searching for astNode */
-// SHAWNTODO add back in when we have a test server mocked up
-// private static final int NUM_AST_RESULTS = 302;
-//
-// private static final int NUM_AST_SETSOURCERANGE_RESULTS = 15;
-
- /** list to add collectors to when notified */
- private List<List<?>> lists = new ArrayList<List<?>>();
-
- private IType astNodeType;
-
- @Override
- protected void setUp() throws Exception {
- WorkspaceSetupHelper.setupWorkspace();
- IJavaProject jp = WorkspaceSetupHelper.getJdtCoreDomProject();
- astNodeType = WorkspaceSetupHelper.getType(jp, "org.eclipse.jdt.core.dom.ASTNode");
- }
-
- @Override
- protected void tearDown() throws Exception {
- WorkspaceSetupHelper.clearDoiModel();
- }
-
- /**
- * Test adding and removing ISearchCompletedListeners
- */
- public void testSearchCompletedListenerAddAndRemove(){
- lists.clear();
-
- // create 2 listeners
- IActiveSearchListener l1 =new IActiveSearchListener() {
- private boolean gathered = false;
-
- public void searchCompleted(List<?> l)
- {
- lists.add(l);
- gathered = true;
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
- };
- IActiveSearchListener l2 =new IActiveSearchListener() {
- private boolean gathered = false;
-
- public void searchCompleted(List<?> l)
- {
- lists.add(l);
- gathered = true;
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
- };
-
- BugzillaMylarSearch s = new BugzillaMylarSearch(BugzillaMylarSearch.UNQUAL, astNodeType);
-
- // add the first listener
- s.addListener(l1);
- // remove the first listener
- s.removeListener(l1);
-
- // perform the search
- SearchPluginTestHelper.search(s, l2);
-
- // make sure that only the second listener added has any results left
- assertTrue("listener was not removed", lists.size() >= 1 && !l1.resultsGathered());
- assertTrue("listener was not added", lists.size() == 1);
-
- // display the time it took for the search
- MylarBugsPlugin.getBridge().removeFromLandmarksHash(astNodeType);
- }
-
- /**
- * Tests that the bridge gets the right data for us
- * This test is wierd because it waits on results.
- */
- public void testBridge() {
- lists.clear();
- BugzillaMylarSearch s = new BugzillaMylarSearch(BugzillaMylarSearch.UNQUAL, astNodeType);
-
- IActiveSearchListener l = new IActiveSearchListener() {
- private boolean gathered = false;
-
- public void searchCompleted(List<?> results)
- {
- lists.add(results);
- gathered = true;
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
- };
-
- // perform the search
- SearchPluginTestHelper.search(s, l);
-
- // make sure we got the right number of bugs back
- assertTrue("No collector returned", lists.size() != 0);
- List<?> c = lists.get(0);
- assertTrue("Results not the right size", c.size() > 0); // TODO should be assertEquals on expected size
-
- // display the time it took for the search and the results returned
- MylarBugsPlugin.getBridge().removeFromLandmarksHash(astNodeType);
-
- }
-
-
- /**
- * Tests that the bridge saves the results of a search so that it
- * can be used later
- */
- public void testSaveResults() {
- lists.clear();
- BugzillaMylarSearch s = new BugzillaMylarSearch(BugzillaMylarSearch.UNQUAL, astNodeType);
-
- IActiveSearchListener l = new IActiveSearchListener() {
- private boolean gathered = false;
-
- public void searchCompleted(List<?> results)
- {
- lists.add(results);
- gathered = true;
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
- };
-
- // perform the search
- SearchPluginTestHelper.search(s, l);
-
- // do an inital search
- assertTrue("No collectors returned", lists.size() != 0);
- List<?> c = lists.get(0);
- assertTrue("Results not the right size", c.size() > 0); // TODO should be assertEquals on expected size
-
- // check that the search has been saved
- List<BugzillaReportNode> saved = MylarBugsPlugin.getBridge().getFromLandmarksHash(astNodeType, BugzillaMylarSearch.UNQUAL);
- assertTrue("Results not cached", saved != null);
- assertTrue("Results not the right size", saved.size() > 0); // TODO should be assertEquals on expected size
-
- assertTrue(c.containsAll(saved) && saved.containsAll(c));
- MylarBugsPlugin.getBridge().removeFromLandmarksHash(astNodeType);
- }
-
- public void testLocalBugUnqual() throws InterruptedException {
- lists.clear();
-
- String bugPrefix = "Bugzilla-";
-
-// TaskList t = MylarTasklistPlugin.getTaskListManager().getTaskList();
-// MylarTasklistPlugin.getTaskListManager().setTaskList(t);
- TaskListManager manager = MylarTasklistPlugin.getTaskListManager();
- TaskCategory cat = new TaskCategory("Testing Category");
- manager.addCategory(cat);
- BugzillaTask bugTask1 = new BugzillaTask(bugPrefix +94185, "<bugzilla info>", true);
- cat.addTask(bugTask1);
- while(bugTask1.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
- BugzillaTask bugTask2 = new BugzillaTask(bugPrefix + 3692, "<bugzilla info>", true);
- cat.addTask(bugTask2);
- while(bugTask2.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
- BugzillaTask bugTask3 = new BugzillaTask(bugPrefix + 3693, "<bugzilla info>", true);
- cat.addTask(bugTask3);
- while(bugTask3.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
-
- BugzillaTask bugTask4 = new BugzillaTask(bugPrefix + 9583, "<bugzilla info>", true);
- cat.addTask(bugTask4);
- while(bugTask4.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
-
- BugzillaMylarSearch s = new BugzillaMylarSearch(BugzillaMylarSearch.LOCAL_UNQUAL, astNodeType);
-
- IActiveSearchListener l = new IActiveSearchListener() {
- private boolean gathered = false;
-
- public void searchCompleted(List<?> results)
- {
- lists.add(results);
- gathered = true;
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
- };
-
- // perform the search
- SearchPluginTestHelper.search(s, l);
-
- // do an inital search
- assertTrue("No collectors returned", lists.size() != 0);
- List<?> c = lists.get(0);
- assertEquals("Results not the right size", 3, c.size());
-
- MylarBugsPlugin.getBridge().removeFromLandmarksHash(astNodeType);
- MylarTasklistPlugin.getTaskListManager().deleteCategory(cat);
- }
-
- //TODO need to test a bug that wraps...should fail since we can only search on a single line
- public void testLocalBugFullyQual() throws InterruptedException{
- lists.clear();
-
- String bugPrefix = "Bugzilla-";
-
-
-// TaskList t = MylarTasklistPlugin.getTaskListManager().getTaskList();
-// MylarTasklistPlugin.getTaskListManager().setTaskList(t);
- TaskListManager manager = MylarTasklistPlugin.getTaskListManager();
- TaskCategory cat = new TaskCategory("Testing Category");
- manager.addCategory(cat);
- BugzillaTask bugTask1 = new BugzillaTask(bugPrefix + 94185, "<bugzilla info>", true);
- cat.addTask(bugTask1);
- while(bugTask1.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
-
- BugzillaTask bugTask2 = new BugzillaTask(bugPrefix + 9583, "<bugzilla info>", true);
- cat.addTask(bugTask2);
- while(bugTask2.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
- BugzillaTask bugTask3 = new BugzillaTask(bugPrefix + 3693, "<bugzilla info>", true);
- cat.addTask(bugTask3);
- while(bugTask3.getState() != BugTaskState.FREE){
- Thread.sleep(500);
- }
-
-
- BugzillaMylarSearch s = new BugzillaMylarSearch(BugzillaMylarSearch.LOCAL_QUAL, astNodeType);
-
- IActiveSearchListener l = new IActiveSearchListener() {
- private boolean gathered = false;
-
- public void searchCompleted(List<?> results)
- {
- lists.add(results);
- gathered = true;
- }
-
- public boolean resultsGathered() {
- return gathered;
- }
- };
-
- // perform the search
- SearchPluginTestHelper.search(s, l);
-
- // do an inital search
- assertTrue("No collectors returned", lists.size() != 0);
- List<?> c = lists.get(0);
- assertEquals("Results not the right size", 1, c.size());
-
- MylarBugsPlugin.getBridge().removeFromLandmarksHash(astNodeType);
- MylarTasklistPlugin.getTaskListManager().deleteCategory(cat);
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaStackTraceTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaStackTraceTest.java
deleted file mode 100644
index b61523f38..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/BugzillaStackTraceTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-////Created on Oct 12, 2004
-package org.eclipse.mylar.tasklist.tests.bugzilla;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.mylar.bugs.search.BugzillaMylarSearchOperation;
-import org.eclipse.mylar.bugzilla.core.internal.BugParser;
-import org.eclipse.mylar.bugzilla.core.search.BugzillaSearchHit;
-import org.eclipse.mylar.bugzilla.ui.tasklist.BugzillaReportNode;
-import org.eclipse.mylar.bugzilla.ui.tasklist.StackTrace;
-import org.eclipse.mylar.core.tests.MylarCoreTestsPlugin;
-import org.eclipse.mylar.core.tests.support.FileTool;
-
-
-/**
- * Class to test the Bridge methods that do not require server queries
- * @author Shawn Minto
- */
-public class BugzillaStackTraceTest extends TestCase {
-
- private static final String TEST_FILE_LOC = "testdata/BugzillaBridgeData/";
-
- private static final String BUGZILLA_SERVER_NAME = "https://bugs.eclipse.org/bugs";
-
- /**
- * Test that the regular expression escaping mechanism works properly
- */
- public void testREGEX(){
- String r = ".*+(){}[]^$|?/\\";
- String r2 = StackTrace.escapeForRegex(r);
- String ans = "\\.\\*\\+\\(\\)\\{\\}\\[\\]\\^\\$\\|\\?\\/\\\\";
- String msg = "Regular Expression matching wrong:\nwas: " + r2 + "\nshould be:" + ans;
- assertTrue(msg, r2.equals(ans));
- }
-
-// /**
-// * Test parsing the bug for multiple stacks in in
-// */
-// public void testMultipleStacksDiffComments(){
-// // BUG 4862 - 2 stack traces - 1 in description, 1 in comment - text before and after
-// performParse(4862, "4862.html", 2, false);
-// }
-
-// /**
-// * Test parsing the bug for a single stack in the description with some
-// * text before it
-// */
-// public void testSingleStackCodeBeforeInDescription(){
-// // BUG 76388 - 1 stack trace - description - text before and formatted ugly
-// performParse(76388, "76388.html", 1, false);
-// }
-
- /**
- * Test parsing the bug for a single stack trace in the description with
- * text before and after it
- */
- public void testSingleStackCodeBeforeAndAfterInDescription(){
-
- // BUG 76146 - 1 stack trace - description - text before and code after
- performParse(76146, "76146.html", 1, false);
- }
-
- /**
- * Test parsing a bug that has 1 stack trace in the description with no extra
- * text, but has lines in it that span 3 lines
- */
- public void testSingleStackPoorFormatInDescription(){
- // BUG 67395 - 1 stack trace - description - no extra text, 1 at line spans 3 lines
- performParse(67395, "67395.html", 1, false);
- }
-
- /**
- * Test parsing a bug with no stack traces and no qualified exception names
- */
- public void testNoStackNoQualified(){
- // BUG 4548 - no stack traces, no qualified reference to an exception
- performParse(4548, "4548.html", 0, false);
- }
-
- /**
- * Test parsing a bug with no stack traces, but a qualified reference to
- * an exception
- */
- public void testNoStackQual(){
- // BUG 1 - no stack traces, qualified reference to exception - made up bug
- performParse(1, "1.html", 0, false);
- }
-
-
- /**
- * Test parsing of a bug with 1 stack trace and multiple qualified references
- */
- public void testSingleStackQual(){
- // BUG 2 - 1 stack trace- 2 qual ref, stack trace, 1 qual ref - made up bug
- performParse(2, "2.html", 1, false);
- }
-
- /**
- * Test parsing of a bug with many stacks traces in a single comment
- */
- public void testMultipleStackSingleComment(){
- // BUG 40152 - 1 stack trace- 2 qual ref, stack trace, 1 qual ref - made up bug
- performParse(40152, "40152.html", 33, false);
- }
-
- /**
- * Print out the stack traces
- * @param l List of stack traces
- */
- private void printStackTraces(List<StackTrace> l){
- System.out.println("\n\n");
- for(int i = 0; i < l.size(); i++){
- StackTrace trace = l.get(i);
- System.out.println("*****************?????????????????*****************\n");
- System.out.println("OFFSET: " + trace.getOffset() + " LENGTH: " + trace.getLength());
- System.out.println(trace.getStackTrace());
- System.out.println("*****************?????????????????*****************\n\n");
- }
- }
-
- private void performParse(int bugNumber, String bugFileName, int numTracesExpected, boolean printStackTraces){
-
- BugzillaSearchHit hit = new BugzillaSearchHit(bugNumber,"","","","","","","","", "<TEST-SERVER>"); // stack trace in desc and com
-
- // create a new doi info
- BugzillaReportNode doi = new BugzillaReportNode(0, hit, false);
- try {
-
- // read the bug in from a file
- File f = FileTool.getFileInPlugin(MylarCoreTestsPlugin.getDefault(), new Path(TEST_FILE_LOC+bugFileName)); // used if run as a plugin test
-// File f = new File(TEST_FILE_LOC+bugFileName); // used if run as a standalone test
- Reader reader = new FileReader(f);
- doi.setBug(BugParser.parseBug(reader, hit.getId(), BUGZILLA_SERVER_NAME, true, null, null));
- reader.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- // do a second pass parse on the bug
- List<BugzillaReportNode> l = new ArrayList<BugzillaReportNode>();
- l.add(doi);
- BugzillaMylarSearchOperation.secondPassBugzillaParser(l);
-
- // make sure that we received the right number of stack traces back
-// System.out.println("*** BUG " + hit.getId() + " ***");
-// System.out.println("NumStackTraces = " + doi.getStackTraces().size());
- assertEquals("Wrong Number stack traces", numTracesExpected, doi.getStackTraces().size());
- if(printStackTraces)
- printStackTraces(doi.getStackTraces());
- }
-}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/MylarBugzillaTestsPlugin.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/MylarBugzillaTestsPlugin.java
deleted file mode 100644
index 130b18ef3..000000000
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/bugzilla/MylarBugzillaTestsPlugin.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.tests.bugzilla;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class MylarBugzillaTestsPlugin extends Plugin {
- //The shared instance.
- private static MylarBugzillaTestsPlugin plugin;
-
- /**
- * The constructor.
- */
- public MylarBugzillaTestsPlugin() {
- super();
- plugin = this;
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- }
-
- /**
- * Returns the shared instance.
- */
- public static MylarBugzillaTestsPlugin getDefault() {
- return plugin;
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/.classpath b/org.eclipse.mylyn.tasks.ui/.classpath
deleted file mode 100644
index 003e39624..000000000
--- a/org.eclipse.mylyn.tasks.ui/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="**/internal/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.tasks.ui/.cvsignore b/org.eclipse.mylyn.tasks.ui/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.mylyn.tasks.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.mylyn.tasks.ui/.project b/org.eclipse.mylyn.tasks.ui/.project
deleted file mode 100644
index 2537de5d3..000000000
--- a/org.eclipse.mylyn.tasks.ui/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.mylar.tasks</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.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a5958370b..000000000
--- a/org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Jun 30 08:33:53 PDT 2005
-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.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fffeca629..000000000
--- a/org.eclipse.mylyn.tasks.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Jul 20 11:42:29 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 68e9f0aed..000000000
--- a/org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Mylar TaskList Plug-in
-Bundle-SymbolicName: org.eclipse.mylar.tasklist; singleton:=true
-Bundle-Version: 0.4
-Bundle-Activator: org.eclipse.mylar.tasklist.MylarTasklistPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui.forms,
- org.eclipse.jdt.ui,
- org.eclipse.pde.ui,
- org.eclipse.mylar.core
-Eclipse-AutoStart: true
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: mylar-tasklist.jar
-Export-Package: org.eclipse.mylar.tasklist,
- org.eclipse.mylar.tasklist.internal,
- org.eclipse.mylar.tasklist.ui,
- org.eclipse.mylar.tasklist.ui.actions,
- org.eclipse.mylar.tasklist.ui.preferences,
- org.eclipse.mylar.tasklist.ui.views
diff --git a/org.eclipse.mylyn.tasks.ui/about.html b/org.eclipse.mylyn.tasks.ui/about.html
deleted file mode 100644
index 60ca57b4b..000000000
--- a/org.eclipse.mylyn.tasks.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0043)http://www.eclipse.org/legal/epl/about.html -->
-<HTML><HEAD><TITLE>About</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
-<BODY lang=EN-US>
-<H2>About This Content</H2>
-<P>February 24, 2005</P>
-<H3>License</H3>
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at <A
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the
-Content.</P></BODY></HTML>
diff --git a/org.eclipse.mylyn.tasks.ui/build-user.xml b/org.eclipse.mylyn.tasks.ui/build-user.xml
deleted file mode 100644
index 6097713f2..000000000
--- a/org.eclipse.mylyn.tasks.ui/build-user.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<target name="help">
- <echo message="Please run: $ ant -v -projecthelp"/>
-</target> \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/build.properties b/org.eclipse.mylyn.tasks.ui/build.properties
deleted file mode 100644
index 6313d6da2..000000000
--- a/org.eclipse.mylyn.tasks.ui/build.properties
+++ /dev/null
@@ -1,36 +0,0 @@
-###############################################################################
-# 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,\
- icons/,\
- lib/,\
- mylar-tasklist.jar,\
- META-INF/,\
- about.html,\
- schema/,\
- user/,\
- toc.xml,\
- book.css,\
- doc/
-src.includes = icons/,\
- plugin.xml,\
- tasklist.jar,\
- src/,\
- lib/,\
- META-INF/,\
- schema/,\
- about.html,\
- user/,\
- toc.xml,\
- book.css,\
- doc/
-jars.compile.order = mylar-tasklist.jar
-source.mylar-tasklist.jar = src/
-output.mylar-tasklist.jar = bin/
diff --git a/org.eclipse.mylyn.tasks.ui/build.xml b/org.eclipse.mylyn.tasks.ui/build.xml
deleted file mode 100644
index 555699e2e..000000000
--- a/org.eclipse.mylyn.tasks.ui/build.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:./build-user.xml">]>
-<!-- WARNING: Eclipse autogenerated file.
- Any modifications will be overwritten.
- Please edit build-user.xml instead.
--->
-<project basedir="." default="build" name="org.eclipse.mylar.tasklist">
- &buildfile;
- <property name="org.eclipse.mylar.core.location" value="C:/Dev/mylar-bootstrap/org.eclipse.mylar.core"/>
- <path id="project.classpath">
- <path refid="mainproject.classpath"/>
- <path refid="org.eclipse.mylar.core.classpath"/>
- </path>
- <path id="mainproject.classpath">
- <pathelement location="bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.forms_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jdt.ui_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.pde.ui_3.1.0.jar"/>
- </path>
- <path id="org.eclipse.mylar.core.classpath">
- <pathelement location="${org.eclipse.mylar.core.location}/bin"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.runtime_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.osgi_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.jface_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.commands_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.ui.workbench_3.2.0.jar"/>
- <pathelement location="C:/Apps/eclipse-3.2m2/plugins/org.eclipse.core.resources_3.1.0.jar"/>
- </path>
- <target name="init">
- <mkdir dir="bin"/>
- </target>
- <target name="clean">
- <delete dir="bin"/>
- </target>
- <target depends="init" name="build">
- <ant antfile="${org.eclipse.mylar.core.location}/build.xml" inheritAll="false"/>
- <echo message="${ant.project.name}: ${ant.file}"/>
- <javac destdir="bin">
- <src path="src"/>
- <classpath refid="project.classpath"/>
- </javac>
- </target>
-</project>
diff --git a/org.eclipse.mylyn.tasks.ui/doc/book.css b/org.eclipse.mylyn.tasks.ui/doc/book.css
deleted file mode 100644
index faa4199fe..000000000
--- a/org.eclipse.mylyn.tasks.ui/doc/book.css
+++ /dev/null
@@ -1 +0,0 @@
-@import "../../PRODUCT_PLUGIN/book.css";
diff --git a/org.eclipse.mylyn.tasks.ui/doc/bugzilla.html b/org.eclipse.mylyn.tasks.ui/doc/bugzilla.html
deleted file mode 100644
index 8eb706c39..000000000
--- a/org.eclipse.mylyn.tasks.ui/doc/bugzilla.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Preparing Eclipse
- </title>
- </head>
- <body>
- <h2>
- Bugzilla Client Integration</h2>
- Bug reports can be opened with either the Bug Editor or the Internal
- Web Browser.&nbsp; This can be set as a Task List preferences.&nbsp;
- When the Bug Editor is open you can click the hyperlink to show the
- report in the browser (e.g. to use a feature not yet available in
- the editor, such as voting).&nbsp; <p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/bugzilla-internal-browser.gif" width="344" height="157"></p>All bug reports are archived
- in a special category that is invisible by default.&nbsp; But if a
- you do a search, and the matches don't show in another category
- (e.g. because no query matches that report), the archive category,
- highlighted in blue below, gives access to that report.<p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasks-archive.gif" width="331" height="187"><p>If a bug report has information on it that has not been viewed, such
- as new comments, the blue &quot;incoming&quot; overlay is displayed.&nbsp; If
- a bug has changes on it that have been saved but have not been
- committed to Bugzilla, the gray &quot;outgoing&quot; overlay is displayed.&nbsp;
- A red overlay appears if there is a conflict.</p>
- <p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/bugzilla-synch.gif" width="323" height="186"></p>To create a custom Bugzilla query paste the query URL into the New
- Bugzilla Query dialog. This enables support of queries that can not
- be configured via the dialog, and as such some query hits may not
- open or format properly.<p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/bugzilla-query-custom.gif" width="483" height="106"></p>
-
- You can explicitly state
- whether you want to work with cached copies of Bugzilla reports and
- avoid refresh with the server.&nbsp; In offline mode the cached bug
- copy is always used.&nbsp; In online mode the Bugzilla server is
- always checked for the latest report.<p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasks-offline.gif" width="326" height="207">
-
- </body>
-</html>
-
diff --git a/org.eclipse.mylyn.tasks.ui/doc/images/tasklist-overview.gif b/org.eclipse.mylyn.tasks.ui/doc/images/tasklist-overview.gif
deleted file mode 100644
index 6cd496038..000000000
--- a/org.eclipse.mylyn.tasks.ui/doc/images/tasklist-overview.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/doc/planning.html b/org.eclipse.mylyn.tasks.ui/doc/planning.html
deleted file mode 100644
index e631dd1ef..000000000
--- a/org.eclipse.mylyn.tasks.ui/doc/planning.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Preparing Eclipse
- </title>
- </head>
- <body>
- <h2>
- Task Planning</h2>Set a reminder for a task when creating it, or by selecting the
- &quot;Summary&quot; tab of the Task Editor.&nbsp; When you start using Eclipse
- on the given day the reminders will come up.<p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasks-reminders.gif" width="452" height="154">
-
- </body>
-</html>
-
diff --git a/org.eclipse.mylyn.tasks.ui/doc/tasklist.html b/org.eclipse.mylyn.tasks.ui/doc/tasklist.html
deleted file mode 100644
index e30442f33..000000000
--- a/org.eclipse.mylyn.tasks.ui/doc/tasklist.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
- <link rel="stylesheet" href="book.css" charset="ISO-8859-1" type="text/css">
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="Content-Style-Type" content="text/css">
- <title>
- Preparing Eclipse
- </title>
- </head>
- <body>
- <h1>
- Mylar Task List</h1>
- <br>&nbsp;
- <table border="0" cellpadding="0" style="border-collapse: collapse"id="table1">
- <tr>
- <td valign="top">
- The Mylar Task List provides methods for creating and maintaining tasks
- and bug reports.&nbsp; In the order that they appear on the toolbar, the
- Task List provides the following features work managing task and bug
- reports:<ul>
- <li>Create task - add new task to Task List</li>
- <li>Create category - organize tasks and bug reports into groups</li>
- <li>Add or create new bugzilla report - add a bug report into Task List</li>
- <li>Add bugzilla query - creates a category that contains all bugzilla
- <br>
- reports that match the query</li>
- <li>Refresh - refresh all bug reports and bugzilla queries</li>
- <li>Filter tasks - set filters for Task List</li>
- </ul>
- <p>&nbsp;&nbsp;</td>
- <td valign="top">
- <img border="0" src="images/tasklist-overview.gif" width="378" height="287"></td>
- </tr>
- </table>
- <h3>Tasks</h3>
- <p>A task can be created with a description and a priority level. The
- priority level can be varied from P1 through P5 which is used for sorting
- and filtering the Task List. A task can be set to complete by right clicking
- and selecting &quot;Mark Complete&quot;. The completed tasks appear in the
- Task List
- with light gray font to distinguish it from incomplete tasks. More detailed
- information such as notes and related links can be added to the task by
- double clicking on the task, which will open an editor. A task can be
- activated by selecting the glasses icon in the first column, which will
- initiate the monitoring feature of mylar to store the task context. The
- active task and its category will appear in bold on the task list. The
- context stored for each task can be cleared by right clicking the task and
- selecting &quot;Clear Task Context&quot;.</p>
- <h3>Categories</h3>
- <p>A category can be created to organize the Task List. If a category is
- selected during task creation, the task will be added to that category. The
- drag and drop feature of the Task List allows tasks and bug reports to be
- moved from one category to another.</p>
- <h3>Bugzilla Reports</h3>
- <p>Bugzilla reports can be added to the Task List via two methods. An
- existing bug report can be downloaded from a bugzilla server or a new bug
- report can be created on a bugzilla server. The Task List shows the same
- details for the bug report as it does with tasks, but the icons are
- different. When the bug report is double clicked, the bug report will be
- opened by a bugzilla editor or an internal browser, which can be toggled in
- the preferences. A bugzilla report can be activated in the same manner as
- tasks.</p>
- <h3>Bugzilla Query</h3>
- <p>A bugzilla query is a category that is made up of all bug reports that
- match a specified query. When it is created, the user is presented with a
- dialog that presents query options similar to the search page on the
- bugzilla server. All hits form the query are added to the query and can be
- used like standard bug reports.</p>
- <h3>Filters</h3>
- <p>Filters are available to manage the Task List. There are two filters, one
- for filtering completed tasks, and one for filtering based on priorities.</p>
-<table cellpadding="10" cellspacing="0" width="600" id="table2">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>New context menu actions</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFFFFF">The task list now contains
- actions for collapsing all nodes, navigating, and specifying
- preferences for file closing behavior on task activation.</span><p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasklist-actions.gif" width="264" height="185"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table3">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Focus on a single task category</b></p>
- </td>
- <td width="70%" valign="top">
- <span style="background-color: #FFFFFF">To see only the tasks for a single category
- select the &quot;Go Into Category&quot; action from the context menu.&nbsp; To
- go back to viewing all tasks and categories under the root use the
- &quot;Go Up To Root&quot; action in the Task List's toolbar pull down menu
- (visible above).</span><p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasks-go-navigation.gif" width="284" height="74"></p>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table5">
- <tr>
- <td>
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table4">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Task history navigation</b></p>
- </td>
- <td width="70%" valign="top">
- Navigate between previously
- activate tasks using the Task List view's pull down menu (upper
- right-hand corner of the toolbar).<p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasks-history.gif"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table6">
- <tr>
- <td width="30%" valign="top" align="left">
- <p align="right"><b>Quick filter</b></p>
- </td>
- <td width="70%" valign="top">
- To filter task by name or
- regexp type the filter text into the field and all matched tasks
- will display.&nbsp; Note that this will temporarily suppress all
- other filters.&nbsp; To clear the query press the &quot;x&quot; button to the
- right of the text field.<p>
- <img border="0" src="../../org.eclipse.mylar.doc/doc/images/tasks-quick-filter.gif" width="315" height="173"></p>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
-</table>
-
-<table cellpadding="10" cellspacing="0" width="600" id="table7">
- <tr>
- <td align="left" valign="top" width="30%">
- <p align="right"><b>Context highlighters</b></p>
- </td>
- <td valign="top" width="70%">
- You can associate a task with a highlighter. This can be useful if
- you are using Mylar without the filtering support.&nbsp; It also
- allows you to distinguish between task contexts if you have multiple
- tasks active.<p>
- <img
- src="../../org.eclipse.mylar.doc/doc/images/highlight.gif"></p>
-
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <hr>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
-
diff --git a/org.eclipse.mylyn.tasks.ui/doc/toc.xml b/org.eclipse.mylyn.tasks.ui/doc/toc.xml
deleted file mode 100644
index 1bacafd3c..000000000
--- a/org.eclipse.mylyn.tasks.ui/doc/toc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc link_to="../org.eclipse.mylar.doc/doc/toc.xml#tasklist" label="Task List">
- <topic label="Task List" href="doc/tasklist.html">
- <topic label="Task Planning" href="doc/planning.html"/>
- <topic label="Bugzilla Integration" href="doc/bugzilla.html"/>
- </topic>
-</toc>
-
-
diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/collapseall.png b/org.eclipse.mylyn.tasks.ui/icons/elcl16/collapseall.png
deleted file mode 100644
index 611a8c5c1..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/collapseall.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/delete.gif b/org.eclipse.mylyn.tasks.ui/icons/elcl16/delete.gif
deleted file mode 100644
index b6922ac11..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/delete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-complete.gif b/org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-complete.gif
deleted file mode 100644
index 13ac9f725..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-complete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-priority.gif b/org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-priority.gif
deleted file mode 100644
index 55816a55a..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/filter-priority.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/refresh.gif b/org.eclipse.mylyn.tasks.ui/icons/elcl16/refresh.gif
deleted file mode 100644
index 634306d4c..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/remove.gif b/org.eclipse.mylyn.tasks.ui/icons/elcl16/remove.gif
deleted file mode 100644
index 2cd9c5444..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/remove.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/category-archive.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/category-archive.gif
deleted file mode 100644
index 69000c9a9..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/category-archive.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/category-new.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/category-new.gif
deleted file mode 100644
index d3f43d977..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/category-new.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/category.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/category.gif
deleted file mode 100644
index 7efb86ec1..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/category.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/copy.png b/org.eclipse.mylyn.tasks.ui/icons/etool16/copy.png
deleted file mode 100644
index bb5451c36..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/copy.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/go-into.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/go-into.gif
deleted file mode 100644
index 98d316dd0..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/go-into.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/go-up.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/go-up.gif
deleted file mode 100644
index 73e336e5a..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/go-up.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-next.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-next.gif
deleted file mode 100644
index 8933a21a7..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-next.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gif
deleted file mode 100644
index cf81b050f..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-active.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task-active.gif
deleted file mode 100644
index 758e83e64..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-active.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-complete.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task-complete.gif
deleted file mode 100644
index 9cacb96dc..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-complete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-context.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task-context.gif
deleted file mode 100644
index 1cc0cdcd7..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-context.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-inactive.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task-inactive.gif
deleted file mode 100644
index f01d0a722..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-inactive.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-incomplete.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task-incomplete.gif
deleted file mode 100644
index f6b9f8a59..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-incomplete.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gif
deleted file mode 100644
index 8ce54634b..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task-new.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/etool16/task.gif b/org.eclipse.mylyn.tasks.ui/icons/etool16/task.gif
deleted file mode 100644
index 946c6e694..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/etool16/task.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/eview16/task-bug.gif b/org.eclipse.mylyn.tasks.ui/icons/eview16/task-bug.gif
deleted file mode 100644
index 99e9e98f2..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/eview16/task-bug.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif b/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif
deleted file mode 100644
index 6ab2668f7..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/eview16/task.gif b/org.eclipse.mylyn.tasks.ui/icons/eview16/task.gif
deleted file mode 100644
index 946c6e694..000000000
--- a/org.eclipse.mylyn.tasks.ui/icons/eview16/task.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/plugin.xml b/org.eclipse.mylyn.tasks.ui/plugin.xml
deleted file mode 100644
index a798129e9..000000000
--- a/org.eclipse.mylyn.tasks.ui/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension-point id="providers" name="Tasklist Providers" schema="schema/providers.exsd"/>
- <extension-point id="editors" name="Task Editors" schema="schema/editors.exsd"/>
-
- <extension
- name="Mylar Task List Startup"
- point="org.eclipse.ui.startup">
- </extension>
-
- <extension point = "org.eclipse.ui.popupMenus">
- <objectContribution
- id="org.eclipse.mylar.tasklist.ui"
- objectClass="org.eclipse.mylar.tasklist.ITaskListCategory">
- <action
- label="Go Into Category"
- tooltip="Go Into Category"
- menubarPath="tasks"
- id="org.eclipse.mylar.tasklist.actions.category.gointo"
- class="org.eclipse.mylar.tasklist.ui.actions.GoIntoAction"
- icon="icons/etool16/go-into.gif"
- enablesFor="1"/>
- </objectContribution>
- </extension>
-
- <extension
- id="org.eclipse.mylar.helpDocs"
- name="Mylar Help"
- point="org.eclipse.help.toc">
- <toc
- file="doc/toc.xml"
- primary="false">
- </toc>
- </extension>
-
- <extension point="org.eclipse.ui.newWizards">
- <wizard
- category="org.eclipse.mylar.wizards"
- class="org.eclipse.mylar.tasklist.planner.ui.MylarTaskPlannerWizard"
- icon="icons/eview16/task-list.gif"
- id="org.eclipse.mylar.tasklist.report.ui.planningGameWizard"
- name="Mylar Task Planner">
- </wizard>
- </extension>
-
- <extension point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaPerspective">
- <viewShortcut id="org.eclipse.mylar.tasks.ui.views.TaskListView"/>
- <view id="org.eclipse.mylar.tasks.ui.views.TaskListView"
- relative="org.eclipse.ui.views.ContentOutline"
- relationship="top"/>
- </perspectiveExtension>
- <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
- <viewShortcut id="org.eclipse.mylar.tasks.ui.views.TaskListView"/>
- </perspectiveExtension>
- </extension>
-
- <extension point="org.eclipse.ui.views">
-
- <view name="Mylar Tasks"
- icon="icons/eview16/task-list.gif"
- category="org.eclipse.mylar"
- class="org.eclipse.mylar.tasklist.ui.views.TaskListView"
- id="org.eclipse.mylar.tasks.ui.views.TaskListView" />
- </extension>
- <extension
- point="org.eclipse.ui.editors">
- <editor
- icon="icons/eview16/task.gif"
- class="org.eclipse.mylar.tasklist.ui.TaskEditor"
- name="Task Viewer"
- id="org.eclipse.mylar.tasklist.ui.taskEditor"/>
- <editor
- icon="icons/eview16/task.gif"
- class="org.eclipse.mylar.tasklist.ui.CategoryEditor"
- name="Category Editor"
- id="org.eclipse.mylar.tasklist.ui.catEditor"/>
- <editor
- icon="icons/eview16/task-list.gif"
- class="org.eclipse.mylar.tasklist.planner.ui.MylarTaskPlannerEditorPart"
- name="Mylar Task Planner"
- id="org.eclipse.mylar.tasklist.ui.planner.editor"/>
-
- </extension>
-
- <extension point="org.eclipse.ui.commands">
- </extension>
- <extension point="org.eclipse.ui.preferencePages">
- <page
- name="Task List"
- class="org.eclipse.mylar.tasklist.ui.preferences.MylarTasklistPreferencePage"
- id="org.eclipse.mylar.tasklist.ui.preferences"
- category="org.eclipse.mylar.ui.preferences">
- </page>
- </extension>
-</plugin>
diff --git a/org.eclipse.mylyn.tasks.ui/schema/editors.exsd b/org.eclipse.mylyn.tasks.ui/schema/editors.exsd
deleted file mode 100644
index 5ad6bbefa..000000000
--- a/org.eclipse.mylyn.tasks.ui/schema/editors.exsd
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.mylar.tasklist">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.mylar.tasklist" id="editors" name="Task Editors"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="editorFactory" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="editorFactory">
- <complexType>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.mylyn.tasks.ui/schema/providers.exsd b/org.eclipse.mylyn.tasks.ui/schema/providers.exsd
deleted file mode 100644
index e286c806e..000000000
--- a/org.eclipse.mylyn.tasks.ui/schema/providers.exsd
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.mylar.tasks">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.mylar.tasks" id="taskListContributor" name="taskListContributor"/>
- </appInfo>
- <documentation>
- no description
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="taskHandler" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="taskListener" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="dynamicPopupMenu" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="taskHandler">
- <complexType>
- <attribute name="externalizerClass" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="taskHandlerClass" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="taskListener">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="dynamicPopupMenu">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java
deleted file mode 100644
index 1bcd841ff..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IContextEditorFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.mylar.core.IMylarContext;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * TODO: move to UI
- *
- * @author Mik Kersten
- */
-public interface IContextEditorFactory {
-
- public IEditorPart createEditor();
-
- public IEditorInput createEditorInput(IMylarContext context);
-
- public String getTitle();
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java
deleted file mode 100644
index 1d76b1c32..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQuery.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import java.util.List;
-
-public interface IQuery extends ITaskListElement{
-
- public String getQueryString();
-
- public void setQueryString(String query);
-
- public List<IQueryHit> getChildren();
-
- public int getMaxHits();
-
- public void setMaxHits(int maxHits);
-
- public void addHit(IQueryHit hit);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java
deleted file mode 100644
index 316c993dd..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/IQueryHit.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-
-public interface IQueryHit extends ITaskListElement {
-
- public ITask getOrCreateCorrespondingTask();
-
- public abstract boolean hasCorrespondingActivatableTask();
-
- public void setAssociatedTask(ITask task);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITask.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITask.java
deleted file mode 100644
index e06ef0d89..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITask.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Jan 13, 2005
- */
-package org.eclipse.mylar.tasklist;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-
-/**
- * @author Mik Kersten
- *
- * TODO: make IDs be handles, clean up
- */
-public interface ITask extends Serializable, ITaskListElement {
-
- public abstract String getPath();
-
- public abstract void setPath(String path);
-
- public abstract ITask getParent();
-
- public abstract void setParent(ITask parent);
-
- public abstract boolean isActive();
-
- public abstract void setActive(boolean active, boolean isStalled);
-
- public abstract void addPlan(String plan);
-
- public List<String> getPlans();
-
- public abstract void setCompleted(boolean completed);
-
- public abstract List<String> getRelatedLinks();
-
- public abstract void setRelatedLinks(List<String> relatedLinks);
-
- public abstract void addLink(String url);
-
- public abstract void removeLink(String url);
-
- public abstract void setIssueReportURL(String url);
-
- public abstract String getIssueReportURL();
-
- public abstract String getNotes();
-
- public abstract void setNotes(String notes);
-
- public abstract String getElapsedTime();
-
- public abstract long getElapsedTimeLong();
-
- public abstract void setElapsedTime(String elapsed);
-
- public abstract int getEstimateTime();
-
- public abstract String getEstimateTimeForDisplay();
-
- public abstract void setEstimatedTime(int estimated);
-
- public abstract List<ITask> getChildren();
-
- public abstract void addSubTask(ITask t);
-
- public abstract void removeSubTask(ITask t);
-
- public abstract String getDeleteConfirmationMessage();
-
- public abstract void setPriority(String priority);
-
- public abstract void setCategory(ITaskListCategory cat);
-
- public abstract ITaskListCategory getCategory();
-
- public abstract String getElapsedTimeForDisplay();
-
- public abstract Date getEndDate();
-
- public abstract void setEndDate(String date);
-
- public abstract String getEndDateString();
-
- public abstract Date getCreationDate();
-
- public abstract void setCreationDate(String date);
-
- public abstract String getCreationDateString();
-
-
- public abstract void setReminderDate(Date date);
-
- public abstract void setReminderDate(String date);
-
- public abstract Date getReminderDate();
-
- public abstract String getReminderDateString(boolean forDisplay);
-
- public abstract boolean hasBeenReminded();
-
- public abstract void setReminded(boolean reminded);
-
- abstract void internalSetCategory(TaskCategory category);
-
- public abstract boolean participatesInTaskHandles();
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivationListener.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivationListener.java
deleted file mode 100644
index 2c7d180db..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivationListener.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-/**
- * @author Mik Kersten
- *
- */
-public interface ITaskActivationListener {
-
- public abstract void taskActivated(ITask task);
-
- public abstract void taskDeactivated(ITask task);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivityListener.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivityListener.java
deleted file mode 100644
index 6aa280fdd..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskActivityListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Jan 13, 2005
- */
-package org.eclipse.mylar.tasklist;
-
-import java.util.List;
-
-/**
- * @author Mik Kersten
- */
-public interface ITaskActivityListener {
-
- public abstract void taskActivated(ITask task);
-
- public abstract void tasksActivated(List<ITask> tasks);
-
- public abstract void taskDeactivated(ITask task);
-
- public abstract void taskPropertyChanged(ITask updatedTask, String property);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskFilter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskFilter.java
deleted file mode 100644
index 92b47942c..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskFilter.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-/**
-* @author Ken Sueda
-*/
-public interface ITaskFilter {
- public abstract boolean select(Object element);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHandler.java
deleted file mode 100644
index b3fb6f333..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.IWorkbenchPage;
-
-public interface ITaskHandler {
-
- public abstract void itemDeleted(ITaskListElement element);
-
- public abstract void taskCompleted(ITask task);
-
- public abstract void itemOpened(ITaskListElement element);
-
- public abstract void taskClosed(ITask element, IWorkbenchPage page);
-
- public abstract boolean acceptsItem(ITaskListElement element);
-
- public abstract void dropItem(ITaskListElement element,
- TaskCategory category);
-
- public abstract ITask taskAdded(ITask newTask);
-
- /**
- * This is called both before and after the tasklist is read
- */
- public abstract void restoreState(TaskListView taskListView);
-
- public abstract boolean enableAction(Action action, ITaskListElement element);
-
- public abstract void itemRemoved(ITaskListElement element, ITaskListCategory category);
-
- public abstract ITask dropItemToPlan(ITaskListElement element);
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHighlighter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHighlighter.java
deleted file mode 100644
index 5b7e73274..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskHighlighter.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @author Mik Kersten
- */
-public interface ITaskHighlighter {
-
- public Color getHighlightColor(ITask task);
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskInfo.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskInfo.java
deleted file mode 100644
index 3d388ece3..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskInfo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-/**
- * @author Mik Kersten
- */
-public interface ITaskInfo {
-
- public String getHandle();
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java
deleted file mode 100644
index 0ce22ef5c..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListCategory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import java.util.List;
-
-
-public interface ITaskListCategory extends ITaskListElement {
-
- public List<ITask> getChildren();
-
- public void removeTask(ITask task);
-
- public boolean isArchive();
-
- public void setIsArchive(boolean isArchive);
-
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListDynamicSubMenuContributor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListDynamicSubMenuContributor.java
deleted file mode 100644
index 39e25ebbd..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListDynamicSubMenuContributor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-public interface ITaskListDynamicSubMenuContributor {
-
- public abstract MenuManager getSubMenuManager(TaskListView view,
- ITaskListElement selection);
-
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListElement.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListElement.java
deleted file mode 100644
index cd1799ab6..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListElement.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author Ken Sueda
- */
-public interface ITaskListElement {
-
- public static final Font BOLD = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);
- public static final Font ITALIC = JFaceResources.getFontRegistry().getItalic(JFaceResources.DEFAULT_FONT);
-
- public Color GRAY_VERY_LIGHT = new Color(Display.getDefault(), 200, 200, 200); // TODO: use theme?
-
- public abstract Image getIcon();
-
- public abstract Image getStatusIcon();
-
- public abstract String getPriority();
-
- public abstract String getDescription(boolean label);
-
- public abstract void setDescription(String description);
-
- public abstract String getHandle();
-
- public abstract void setHandle(String id);
-
- public abstract boolean isDirectlyModifiable();
-
- public abstract boolean isActivatable();
-
- public abstract boolean isDragAndDropEnabled();
-
- public abstract Color getForeground();
-
- public abstract Font getFont();
-
- public abstract String getToolTipText();
-
- public abstract boolean isCompleted();
-
- public abstract String getStringForSortingDescription();
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListExternalizer.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListExternalizer.java
deleted file mode 100644
index 22c250a5f..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ITaskListExternalizer.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.mylar.tasklist.internal.MylarExternalizerException;
-import org.eclipse.mylar.tasklist.internal.TaskList;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Used to externalize things like tasks and bug reports along with the task list
- * so that information about them can be persisted across invocations.
- *
- * @author Mik Kersten
- * @author Ken Sueda
- *
- * TODO: consider merging tasks and categories
- */
-public interface ITaskListExternalizer {
-
- /**
- * Note that registries get read as a normal category, but get
- * written out first.
- */
- public abstract void createRegistry(Document doc, Node parent);
-
- public abstract String getCategoryTagName();
-
- public abstract String getTaskTagName();
-
- public abstract String getQueryTagNameForElement(IQuery query);
-
- public abstract String getQueryHitTagName();
-
- public abstract boolean canCreateElementFor(ITaskListCategory category);
-
- /**
- * @return the element that was created, null if failed
- */
- public abstract Element createCategoryElement(ITaskListCategory category, Document doc, Element parent);
-
- public abstract boolean canCreateElementFor(ITask task);
-
- /**
- * @return the element that was created, null if failed
- */
- public abstract Element createTaskElement(ITask task, Document doc, Element parent);
-
- public abstract boolean canReadCategory(Node node);
-
- public abstract void readCategory(Node node, TaskList tlist) throws MylarExternalizerException;
-
- public abstract boolean canReadTask(Node node);
-
- public abstract ITask readTask(Node node, TaskList tlist, ITaskListCategory category, ITask parent) throws MylarExternalizerException;
-
-
-
- public abstract boolean canCreateElementFor(IQuery category);
-
- public abstract Element createQueryElement(IQuery query, Document doc, Element parent);
-
- public abstract boolean canReadQuery(Node node);
-
- public abstract void readQuery(Node node, TaskList tlist) throws MylarExternalizerException;
-
-
- public abstract boolean canCreateElementFor(IQueryHit queryHit);
-
- public abstract Element createQueryHitElement(IQueryHit queryHit, Document doc, Element parent);
-
- public abstract boolean canReadQueryHit(Node node);
-
- public abstract void readQueryHit(Node node, TaskList tlist, IQuery query) throws MylarExternalizerException;
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java
deleted file mode 100644
index 6592848a3..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/MylarTasklistPlugin.java
+++ /dev/null
@@ -1,519 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.internal.TaskListExternalizer;
-import org.eclipse.mylar.tasklist.planner.internal.ReminderRequiredCollector;
-import org.eclipse.mylar.tasklist.planner.internal.TaskReportGenerator;
-import org.eclipse.mylar.tasklist.ui.TasksReminderDialog;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.events.ShellListener;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * @author Mik Kersten
- *
- * TODO: this class is in serious need of refactoring
- */
-public class MylarTasklistPlugin extends AbstractUIPlugin implements IStartup {
-
- private static MylarTasklistPlugin plugin;
- private static TaskListManager taskListManager;
- private TaskListExternalizer externalizer;
- private List<ITaskHandler> taskHandlers = new ArrayList<ITaskHandler>(); // TODO: use extension points
- private List<IContextEditorFactory> contextEditors = new ArrayList<IContextEditorFactory>();
-
- public static final String PLANNING_GAME_WIZARD_ID = "org.eclipse.mylar.tasklist.ui.planner.wizard";
- public static final String PLANNING_GAME_EDITOR_ID = "org.eclipse.mylar.tasklist.ui.planner.editor";
- public static final String REPORT_OPEN_EDITOR = "org.eclipse.mylar.tasklist.report.open.editor";
- public static final String REPORT_OPEN_INTERNAL = "org.eclipse.mylar.tasklist.report.open.internal";
- public static final String REPORT_OPEN_EXTERNAL = "org.eclipse.mylar.tasklist.report.open.external";
- public static final String MULTIPLE_ACTIVE_TASKS = "org.eclipse.mylar.tasklist.active.multipe";
-
- public static final String FILE_EXTENSION = ".xml";
- public static final String TASK_ID = "org.eclipse.mylar.tasklist.userid";
- public static final String DEFAULT_TASK_LIST_FILE = "tasklist" + FILE_EXTENSION;
- public static final String TASK_EDITOR_ID = "org.eclipse.mylar.tasklist.ui.taskEditor";
- public static final String CATEGORY_EDITOR_ID = "org.eclipse.mylar.tasklist.ui.catEditor";
- public static final String SELECTED_PRIORITY = "org.eclipse.mylar.tasklist.filter.priority";
- public static final String FILTER_COMPLETE_MODE = "org.eclipse.mylar.tasklist.filter.complete";
- public static final String FILTER_INCOMPLETE_MODE = "org.eclipse.mylar.tasklist.filter.incomplete";
- public static final String SAVE_TASKLIST_MODE = "org.eclipse.mylar.tasklist.save.mode";
- public static final String PREVIOUS_SAVE_DATE = "org.eclipse.mylar.tasklist.save.last";
- public static final String DEFAULT_URL_PREFIX = "org.eclipse.mylar.tasklist.defaultUrlPrefix";
-
- private ResourceBundle resourceBundle;
- private long AUTOMATIC_BACKUP_SAVE_INTERVAL = 1*3600*1000; // every hour
- private static Date lastBackup = new Date();
- private ITaskHighlighter highlighter;
-
- public enum TaskListSaveMode {
- ONE_HOUR,
- THREE_HOURS,
- DAY;
- @Override
- public String toString() {
- switch(this) {
- case ONE_HOUR: return "1 hour";
- case THREE_HOURS: return "3 hours";
- case DAY: return "1 day";
- default: return "3 hours";
- }
- }
- public static TaskListSaveMode fromString(String string) {
- if (string == null) return null;
- if (string.equals("1 hour")) return ONE_HOUR;
- if (string.equals("3 hours")) return THREE_HOURS;
- if (string.equals("1 day")) return DAY;
- return null;
- }
- public static long fromStringToLong(String string) {
- long hour = 3600*1000;
- switch(fromString(string)) {
- case ONE_HOUR:
- return hour;
- case THREE_HOURS:
- return hour * 3;
- case DAY:
- return hour * 24;
- default:
- return hour * 3;
- }
- }
- }
-
- public enum ReportOpenMode {
- EDITOR,
- INTERNAL_BROWSER,
- EXTERNAL_BROWSER;
- }
-
- public enum PriorityLevel {
- P1,
- P2,
- P3,
- P4,
- P5;
-
- @Override
- public String toString() {
- switch(this) {
- case P1: return "P1";
- case P2: return "P2";
- case P3: return "P3";
- case P4: return "P4";
- case P5: return "P5";
- default: return "P5";
- }
- }
- public static PriorityLevel fromString(String string) {
- if (string == null) return null;
- if (string.equals("P1")) return P1;
- if (string.equals("P2")) return P2;
- if (string.equals("P3")) return P3;
- if (string.equals("P4")) return P4;
- if (string.equals("P5")) return P5;
- return null;
- }
- }
-
- private static ITaskActivityListener CONTEXT_MANAGER_TASK_LISTENER = new ITaskActivityListener() {
-
- public void taskActivated(ITask task) {
- MylarPlugin.getContextManager().contextActivated(task.getHandle(), task.getPath());
- }
-
- public void tasksActivated(List<ITask> tasks) {
- for (ITask task : tasks) {
- MylarPlugin.getContextManager().contextActivated(task.getHandle(), task.getPath());
- }
- }
-
- public void taskDeactivated(ITask task) {
- MylarPlugin.getContextManager().contextDeactivated(task.getHandle(), task.getPath());
- }
-
- public void taskPropertyChanged(ITask updatedTask, String property) {
- // don't care about property change
- }
-
- };
-
- /**
- * TODO: move into reminder mechanims
- */
- private static ShellListener SHELL_LISTENER = new ShellListener() {
-
- public void shellClosed(ShellEvent arg0) {
- // ignore
- }
-
- /**
- * bug 1002249: too slow to save state here
- */
- public void shellDeactivated(ShellEvent arg0) {
- // ignore
- }
-
- public void shellActivated(ShellEvent arg0) {
- getDefault().checkTaskListBackup();
- getDefault().checkReminders();
- }
-
- public void shellDeiconified(ShellEvent arg0) {
- // ingore
- }
-
- public void shellIconified(ShellEvent arg0) {
- // ignore
- }
- };
-
- private static IPropertyChangeListener PREFERENCE_LISTENER = new IPropertyChangeListener() {
-
- public void propertyChange(PropertyChangeEvent event) {
- // TODO Auto-generated method stub
- if (event.getProperty().equals(MylarPlugin.MYLAR_DIR)) {
- if (event.getOldValue() instanceof String) {
- String prevDir = (String) event.getOldValue();
- MylarPlugin.getContextManager().updateMylarDirContents(prevDir);
- getTaskListManager().updateTaskscapeReference(prevDir);
-
- String path = MylarPlugin.getDefault().getMylarDataDirectory() + File.separator + DEFAULT_TASK_LIST_FILE;
- getTaskListManager().setTaskListFile(new File(path));
- }
- } else if (event.getProperty().equals(MULTIPLE_ACTIVE_TASKS)) {
- TaskListView.getDefault().togglePreviousAction(!getPrefs().getBoolean(MULTIPLE_ACTIVE_TASKS));
- TaskListView.getDefault().toggleNextAction(!getPrefs().getBoolean(MULTIPLE_ACTIVE_TASKS));
- TaskListView.getDefault().clearTaskHistory();
- } else {
- }
- }
- };
-
- public MylarTasklistPlugin() {
- super();
- plugin = this;
- initializeDefaultPreferences(getPrefs());
- externalizer = new TaskListExternalizer();
-
- String path = MylarPlugin.getDefault().getMylarDataDirectory() + File.separator + DEFAULT_TASK_LIST_FILE;
- File taskListFile = new File(path);
- taskListManager = new TaskListManager(taskListFile);
- taskListManager.addListener(CONTEXT_MANAGER_TASK_LISTENER);
- }
-
- public void earlyStartup() {
- final IWorkbench workbench = PlatformUI.getWorkbench();
-
- workbench.getDisplay().asyncExec(new Runnable() {
- public void run() {
- Workbench.getInstance().getActiveWorkbenchWindow().getShell().addShellListener(SHELL_LISTENER);
- Workbench.getInstance().getActiveWorkbenchWindow().getShell().addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- if (getDefault() != null) getDefault().saveTaskListAndContexts();
- }
- });
- MylarPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(PREFERENCE_LISTENER);
- taskListManager.readTaskList();
- }
- });
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- resourceBundle = null;
- }
-
- @Override
- protected void initializeDefaultPreferences(IPreferenceStore store) {
- store.setDefault(MylarPlugin.TASKLIST_EDITORS_CLOSE, true);
- store.setDefault(SELECTED_PRIORITY, "P5");
- store.setDefault(REPORT_OPEN_EDITOR, true);
- store.setDefault(REPORT_OPEN_INTERNAL, false);
- store.setDefault(REPORT_OPEN_EXTERNAL, false);
- store.setDefault(MULTIPLE_ACTIVE_TASKS, false);
- store.setDefault(SAVE_TASKLIST_MODE, TaskListSaveMode.THREE_HOURS.toString());
- }
-
- public static TaskListManager getTaskListManager() {
- return taskListManager;
- }
-
- /**
- * Returns the shared instance.
- */
- public static MylarTasklistPlugin 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 = MylarTasklistPlugin.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("taskListPlugin.TaskListPluginPluginResources");
- } catch (MissingResourceException x) {
- resourceBundle = null;
- }
- return resourceBundle;
- }
-
- public static IPreferenceStore getPrefs() {
- return MylarPlugin.getDefault().getPreferenceStore();
- }
-
- /**
- * TODO: make private
- */
- public void saveTaskListAndContexts() {
- taskListManager.saveTaskList();
- for(ITask task : taskListManager.getTaskList().getActiveTasks()) {
- MylarPlugin.getContextManager().saveContext(task.getHandle(), task.getPath());
- }
-// lastSave = new Date();
-// plugin.getPreferenceStore().setValue(PREVIOUS_SAVE_DATE, lastSave.getTime());
- }
-
- private void checkTaskListBackup() {
-// if (getPrefs().contains(PREVIOUS_SAVE_DATE)) {
-// lastSave = new Date(getPrefs().getLong(PREVIOUS_SAVE_DATE));
-// } else {
-// lastSave = new Date();
-// getPrefs().setValue(PREVIOUS_SAVE_DATE, lastSave.getTime());
-// }
- Date currentTime = new Date();
- if (currentTime.getTime() > lastBackup.getTime() + AUTOMATIC_BACKUP_SAVE_INTERVAL ) {//TaskListSaveMode.fromStringToLong(getPrefs().getString(SAVE_TASKLIST_MODE))) {
- MylarTasklistPlugin.getDefault().createTaskListBackupFile();
- lastBackup = new Date();
-// plugin.getPreferenceStore().setValue(PREVIOUS_SAVE_DATE, lastSave.getTime());
- }
- }
-
- private void checkReminders() {
-// if (getPrefs().getBoolean(REMINDER_CHECK)) {
-// getPrefs().setValue(REMINDER_CHECK, false);
- final TaskReportGenerator parser = new TaskReportGenerator(MylarTasklistPlugin.getTaskListManager().getTaskList());
- parser.addCollector(new ReminderRequiredCollector());
- parser.checkTasks();
- if (!parser.getTasks().isEmpty()) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- TasksReminderDialog dialog = new TasksReminderDialog(Workbench.getInstance().getDisplay().getActiveShell(), parser.getTasks());
- dialog.setBlockOnOpen(false);
- dialog.open();
- }
- });
- }
-// }
- }
-
- public static void setPriorityLevel(PriorityLevel pl) {
- getPrefs().setValue(SELECTED_PRIORITY, pl.toString());
- }
-
- public static String getPriorityLevel() {
- if(getPrefs().contains(SELECTED_PRIORITY)) {
- return getPrefs().getString(SELECTED_PRIORITY);
- } else {
- return PriorityLevel.P5.toString();
- }
- }
-
- public void setFilterCompleteMode(boolean isFilterOn) {
- getPrefs().setValue(FILTER_COMPLETE_MODE, isFilterOn);
- }
-
- public boolean isFilterCompleteMode() {
- if (getPrefs().contains(FILTER_COMPLETE_MODE)) {
- return getPrefs().getBoolean(FILTER_COMPLETE_MODE);
- } else {
- return false;
- }
- }
-
- public void setFilterInCompleteMode(boolean isFilterOn) {
- getPrefs().setValue(FILTER_INCOMPLETE_MODE, isFilterOn);
- }
-
- public boolean isFilterInCompleteMode() {
- if (getPrefs().contains(FILTER_INCOMPLETE_MODE)) {
- return getPrefs().getBoolean(FILTER_INCOMPLETE_MODE);
- } else {
- return false;
- }
- }
-
- public ReportOpenMode getReportMode() {
- if (getPrefs().getBoolean(REPORT_OPEN_EDITOR)) {
- return ReportOpenMode.EDITOR;
- } else if (getPrefs().getBoolean(REPORT_OPEN_INTERNAL)) {
- return ReportOpenMode.INTERNAL_BROWSER;
- } else {
- return ReportOpenMode.EXTERNAL_BROWSER;
- }
- }
-
- public TaskListExternalizer getTaskListExternalizer() {
- return externalizer;
- }
-
- public List<ITaskHandler> getTaskHandlers() {
- return taskHandlers;
- }
-
- public ITaskHandler getTaskHandlerForElement(ITaskListElement element){
- for(ITaskHandler taskHandler: taskHandlers){
- if(taskHandler.acceptsItem(element)) return taskHandler;
- }
- return null;
- }
-
- public void addTaskHandler(ITaskHandler taskHandler) {
- taskHandlers.add(taskHandler);
- }
-
- public void restoreTaskHandlerState(){
- for(ITaskHandler handler: taskHandlers){
- handler.restoreState(TaskListView.getDefault());
- }
- }
-
- private List<ITaskListDynamicSubMenuContributor> menuContributors = new ArrayList<ITaskListDynamicSubMenuContributor>();
-
- public List<ITaskListDynamicSubMenuContributor> getDynamicMenuContributers() {
- return menuContributors;
- }
-
- public void addDynamicPopupContributor(ITaskListDynamicSubMenuContributor contributor) {
- menuContributors.add(contributor);
- }
-
- private List<ITaskActivationListener> taskListListeners = new ArrayList<ITaskActivationListener>();
-
- public List<ITaskActivationListener> getTaskListListeners() {
- return taskListListeners;
- }
-
- public void addTaskListListener(ITaskActivationListener taskListListner) {
- taskListListeners.add(taskListListner);
- }
-
- public void createTaskListBackupFile() {
- String path = MylarPlugin.getDefault().getMylarDataDirectory() + File.separator + DEFAULT_TASK_LIST_FILE;
- File taskListFile = new File(path);
- String backup = path.substring(0, path.lastIndexOf('.')) + "-backup.xml";
- copy(taskListFile, new File(backup));
- }
-
- public String getBackupFilePath(){
- String path = MylarPlugin.getDefault().getMylarDataDirectory() + File.separator + DEFAULT_TASK_LIST_FILE;
- return path.substring(0, path.lastIndexOf('.')) + "-backup.xml";
- }
-
- public void reverseBackup() {
- String path = MylarPlugin.getDefault().getMylarDataDirectory() + File.separator + DEFAULT_TASK_LIST_FILE;
- File taskListFile = new File(path);
- String backup = path.substring(0, path.lastIndexOf('.')) + "-backup.xml";
- copy(new File(backup), taskListFile);
- }
-
- private boolean copy(File src, File dst) {
- try {
- InputStream in = new FileInputStream(src);
- OutputStream out = new FileOutputStream(dst);
-
- // Transfer bytes from in to out
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- in.close();
- out.close();
- return true;
- } catch (IOException ioe) {
- return false;
- }
- }
-
- public boolean isMultipleMode() {
- return getPrefs().getBoolean(MULTIPLE_ACTIVE_TASKS);
- }
-
- public String[] getSaveOptions() {
- String[] options = {TaskListSaveMode.ONE_HOUR.toString(),
- TaskListSaveMode.THREE_HOURS.toString(),
- TaskListSaveMode.DAY.toString()};
- return options;
- }
-
- public ITaskHighlighter getHighlighter() {
- return highlighter;
- }
-
- public void setHighlighter(ITaskHighlighter highlighter) {
- this.highlighter = highlighter;
- }
-
- public List<IContextEditorFactory> getContextEditors() {
- return contextEditors;
- }
-
- public void addContextEditor(IContextEditorFactory contextEditor) {
- if (contextEditor != null) this.contextEditors.add(contextEditor);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/Task.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/Task.java
deleted file mode 100644
index c8cb860dd..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/Task.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.core.util.DateUtil;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.TaskEditorInput;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten
- */
-public class Task implements ITask {
-
- public static final long INACTIVITY_TIME_MILLIS = MylarPlugin.getContextManager().getActivityTimeoutSeconds() * 1000;
-
- private static final long serialVersionUID = 3545518391537382197L;
- private boolean active = false;
- protected String handle = "-1";
- private boolean category = false;
- private boolean hasReminded = false;
-
- /**
- * Either to local resource or URL.
- * TODO: consider changing to java.net.URL
- */
- private String contextPath;
- private String label;
- private String priority = "P3";
- private String notes = "";
- private int estimatedTime = 0;
- private boolean completed;
- private List<String> links = new ArrayList<String>();
- private List<String> plans = new ArrayList<String>();
- private String issueReportURL = "";
- private ITaskListCategory parentCategory = null;
-
- private Date timeActivated = null;
- private Date endDate = null;
- private Date creationDate = null;
- private Date reminderDate=null;
- private long elapsed;
-
- /**
- * null if root
- */
- private transient ITask parent;
-
- private List<ITask> children = new ArrayList<ITask>();
-
- @Override
- public String toString() {
- return label;
- }
-
- public String getPath() {
- // returns relative contextPath Mylar Directory
- return contextPath;
- }
-
- public void setPath(String path) {
- if (path.startsWith(".mylar")) {
- this.contextPath = path.substring(path.lastIndexOf('/')+1, path.length());
- } else if (!path.equals("")) {
- this.contextPath = path;
- }
- }
-
- public Task(String handle, String label, boolean newTask) {
- this.handle = handle;
- this.label = label;
- this.contextPath = handle;
- if(newTask){
- creationDate = new Date();
- }
- }
-
- public String getHandle() {
- return handle;
- }
- public void setHandle(String id) {
- this.handle = id;
- }
-
- public ITask getParent() {
- return parent;
- }
-
- public void setParent(ITask parent) {
- this.parent = parent;
- }
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /**
- * Package visible in order to prevent sets that don't update the index.
- */
- public void setActive(boolean active, boolean isStalled) {
- this.active = active;
- if (active && !isStalled) {
- timeActivated = new Date();
- } else {
- calculateElapsedTime(isStalled);
- timeActivated = null;
- }
- }
-
- private void calculateElapsedTime(boolean isStalled) {
- if (timeActivated == null)
- return;
- elapsed += new Date().getTime() - timeActivated.getTime();
- if(isStalled){
- elapsed-= INACTIVITY_TIME_MILLIS;
- }
- if (isActive()) {
- timeActivated = new Date();
- } else {
- timeActivated = null;
- }
- }
-
- public boolean isActive() {
- return active;
- }
-
- public void openTaskInEditor(boolean offline) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- openTaskEditor();
- }
- });
- }
-
- /**
- * Opens the task in an editor.
- * @return Resulting <code>IStatus</code> of the operation
- */
- protected void openTaskEditor() {
-
- // get the active page so that we can reuse it
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- // if we couldn't get a page, get out
- if (page == null) {
- return;
- }
-
- IEditorInput input = new TaskEditorInput(this);
- try
- {
- // try to open an editor on the input task
- page.openEditor(input, MylarTasklistPlugin.TASK_EDITOR_ID);
-
- }
- catch (PartInitException ex)
- {
- MylarPlugin.log(ex, "open failed");
- }
- }
-
- /**
- * Refreshes the tasklist viewer.
- *
- * TODO: shouldn't be coupled to the TaskListView
- */
- public void notifyTaskDataChange() {
- final Task task = this;
- if (Workbench.getInstance() != null && !Workbench.getInstance().getDisplay().isDisposed()) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- if (TaskListView.getDefault() != null) TaskListView.getDefault().notifyTaskDataChanged(task);
- }
- });
- }
- }
-
- public String getToolTipText() {
- return getDescription(true);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof Task && obj != null) {
- return this.getHandle().compareTo(((Task)obj).getHandle()) == 0;
- } else {
- return false;
- }
- }
-
- @Override
- public int hashCode() {
- return this.getHandle().hashCode();
- }
- public boolean isCompleted() {
- return completed;
- }
- public void setCompleted(boolean completed) {
- if (completed) {
- endDate = new Date();
- }
- this.completed = completed;
- }
-
- public boolean isCategory() {
- return category;
- }
-
- public void setIsCategory(boolean category) {
- this.category = category;
- }
-
- public String getPriority() {
- return priority;
- }
-
- public void setPriority(String priority) {
- this.priority = priority;
- }
-
- public List<String> getRelatedLinks() {
- // TODO: removed check for null once xml updated.
- if (links == null) {
- links = new ArrayList<String>();
- }
- return links;
- }
-
- public void setRelatedLinks(List<String> relatedLinks) {
- this.links = relatedLinks;
- }
-
- public void addLink(String url) {
- links.add(url);
- }
-
- public void removeLink(String url) {
- links.remove(url);
- }
-
- public void setIssueReportURL(String url){
- issueReportURL = url;
- }
-
- public String getIssueReportURL(){
- return issueReportURL;
- }
-
- public String getNotes() {
- // TODO: removed check for null once xml updated.
- if (notes == null) {
- notes = "";
- }
- return notes;
- }
-
- public void setNotes(String notes) {
- this.notes = notes;
- }
-
- public String getElapsedTime() {
- if (isActive()) {
- calculateElapsedTime(false);
- }
- return "" + elapsed;
- }
-
- public long getElapsedTimeLong() {
- if (isActive()) {
- calculateElapsedTime(false);
- }
- return elapsed;
- }
- public void setElapsedTime(String elapsedString) {
- if (elapsedString.equals("")) {
- elapsed = 0;
- } else {
- elapsed = Long.parseLong(elapsedString);
- }
- }
-
-// public String getEstimatedTimeForDisplay() {
-// if (estimatedTime == 0) {
-// return "";
-// } else {
-// return "" + estimatedTime * 10;
-// }
-// }
-
- public int getEstimateTime() {
- return estimatedTime;
- }
-
- public void setEstimatedTime(int estimated) {
- this.estimatedTime = estimated;
- }
-
- public List<ITask> getChildren() {
- return children;
- }
-
- public void addSubTask(ITask t) {
- children.add(t);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public void removeSubTask(ITask t) {
- children.remove(t);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public void setCategory(ITaskListCategory cat) {
- this.parentCategory = cat;
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public void internalSetCategory(TaskCategory cat) {
- this.parentCategory = cat;
- }
-
- public ITaskListCategory getCategory() {
- return parentCategory;
- }
-
- public Image getIcon() {
- return TaskListImages.getImage(TaskListImages.TASK);
- }
-
- public String getDescription(boolean label) {
- return this.label;
- }
-
- /**
- * TODO: tasks hsouldn't know about images, or the context manager
- */
- public Image getStatusIcon() {
- if (isActive()) {
- return TaskListImages.getImage(TaskListImages.TASK_ACTIVE);
- } else {
- if (MylarPlugin.getContextManager().hasContext(getPath())) {
- return TaskListImages.getImage(TaskListImages.TASK_INACTIVE_CONTEXT);
- } else {
- return TaskListImages.getImage(TaskListImages.TASK_INACTIVE);
- }
- }
- }
-
- public String getElapsedTimeForDisplay() {
- calculateElapsedTime(false);
- return DateUtil.getFormattedDuration(elapsed);
- }
-
- public boolean canEditDescription() {
- return true;
- }
-
- public String getDeleteConfirmationMessage() {
- return "Delete the selected task and discard task context?";
- }
-
- public boolean isDirectlyModifiable() {
- return true;
- }
-
- public boolean isActivatable() {
- return true;
- }
-
- public boolean isDragAndDropEnabled() {
- return true;
- }
-
- public boolean participatesInTaskHandles() {
- return true;
- }
-
- public Color getForeground() {
- if (isCompleted()){
- return GRAY_VERY_LIGHT;
- } else {
- return null;
- }
- }
-
- public Font getFont(){
- if (isActive()) return BOLD;
- for (ITask child : getChildren()) {
- if (child.isActive())
- return BOLD;
- }
- return null;
- }
-
- public Date getEndDate() {
- return endDate;
- }
-
- public String getEndDateString() {
- if (endDate != null) {
- String f = "yyyy-MM-dd HH:mm:ss.S z";
- SimpleDateFormat format = new SimpleDateFormat(f, Locale.ENGLISH);
- return format.format(endDate);
- } else {
- return "";
- }
- }
-
- public void setEndDate(String date) {
- if (!date.equals("")) {
- String formatString = "yyyy-MM-dd HH:mm:ss.S z";
- SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
- try {
- endDate = format.parse(date);
- } catch (ParseException e) {
- MylarPlugin.log(e, "Could not parse end date");
- endDate = null;
- }
- } else {
- if (isCompleted()) {
- endDate = new Date(0);
- }
- }
- }
-
- public void setReminderDate(Date date) {
- reminderDate = date;
- }
-
- public void setReminderDate(String date) {
- if (!date.equals("")) {
- String formatString = "yyyy-MM-dd HH:mm:ss.S z";
- SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
- try {
- reminderDate = format.parse(date);
- } catch (ParseException e) {
- MylarPlugin.log(e, "Could not parse end date");
- reminderDate = null;
- }
- } else {
- reminderDate = null;
- }
-
- }
-
- public Date getReminderDate() {
- return reminderDate;
- }
-
- public String getReminderDateString(boolean forDisplay) {
- if (reminderDate != null) {
- String f = "";
- if (forDisplay) {
- f = "EEE, yyyy-MM-dd";
- } else {
- f = "yyyy-MM-dd HH:mm:ss.S z";
- }
- SimpleDateFormat format = new SimpleDateFormat(f, Locale.ENGLISH);
- return format.format(reminderDate);
- } else {
- return "";
- }
- }
-
- public boolean hasBeenReminded() {
- return hasReminded;
- }
-
- public void setReminded(boolean reminded) {
- this.hasReminded = reminded;
- }
-
- public String getReminderDateForDisplay() {
- if (reminderDate != null) {
-
- String f = "EEE, yyyy-MM-dd";
- SimpleDateFormat format = new SimpleDateFormat(f, Locale.ENGLISH);
- return format.format(reminderDate);
- } else {
- return "";
- }
- }
-
- public Date getCreationDate() {
- return creationDate;
- }
-
- public void setCreationDate(String date) {
- if (!date.equals("")) {
- String formatString = "yyyy-MM-dd HH:mm:ss.S z";
- SimpleDateFormat format = new SimpleDateFormat(formatString, Locale.ENGLISH);
- try {
- creationDate = format.parse(date);
- } catch (ParseException e) {
- MylarPlugin.log(e, "Could not parse end date");
- creationDate = null;
- }
- } else {
-
- }
- }
-
- public String getCreationDateString() {
- if (creationDate != null) {
- String f = "yyyy-MM-dd HH:mm:ss.S z";
- SimpleDateFormat format = new SimpleDateFormat(f, Locale.ENGLISH);
- return format.format(creationDate);
- } else {
- return "";
- }
- }
-
- public void setDescription(String description) {
- this.label = description;
- }
-
- public String getStringForSortingDescription() {
- return getDescription(true);
- }
-
- public String getEstimateTimeForDisplay() {
- return estimatedTime / 10 + " Hours";
- }
-
- public void addPlan(String plan) {
- if (plan != null && !plans.contains(plan)) plans.add(plan);
- }
-
- public List<String> getPlans() {
- return plans;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskActiveTimerListener.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskActiveTimerListener.java
deleted file mode 100644
index a4ea89d22..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskActiveTimerListener.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.tasklist;
-
-import org.eclipse.mylar.core.InteractionEvent;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.core.internal.ActivityTimerThread;
-import org.eclipse.mylar.core.util.IActiveTimerListener;
-import org.eclipse.mylar.core.util.IInteractionEventListener;
-
-/**
- * @author Shawn Minto
- */
-public class TaskActiveTimerListener implements IActiveTimerListener, IInteractionEventListener {
-
- private ActivityTimerThread timer;
-
- private ITask task;
-
- private boolean isTaskStalled = false;
-
- public TaskActiveTimerListener(ITask task){
- this.task = task;
- timer = new ActivityTimerThread(MylarPlugin.getContextManager().getActivityTimeoutSeconds());
- timer.addListener(this);
- timer.start();
- MylarPlugin.getDefault().addInteractionListener(this);
- }
-
- public void fireTimedOut() {
- task.setActive(task.isActive(), true);
- isTaskStalled = true;
- timer.resetTimer();
- }
-
- public void interactionObserved(InteractionEvent event) {
- timer.resetTimer();
-
- if(isTaskStalled){
- task.setActive(task.isActive(), false);
- }
- isTaskStalled = false;
- }
-
- public void start() {}
-
- public void stopTimer() {
- timer.killThread();
- MylarPlugin.getDefault().removeInteractionListener(this);
- }
-
- public void stop() {}
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListImages.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListImages.java
deleted file mode 100644
index 81b406c8d..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListImages.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Apr 20, 2004
- */
-package org.eclipse.mylar.tasklist;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author Mik Kersten
- */
-public class TaskListImages {
-
- private static Map<ImageDescriptor, Image> imageMap = new HashMap<ImageDescriptor, Image>();
-
- public static Color BACKGROUND_WHITE = new Color(Display.getDefault(), 255, 255, 255);
- public static Color BACKGROUND_ARCHIVE = new Color(Display.getDefault(), 190, 210, 238);
-
- private static final String T_ELCL = "elcl16";
- private static final String T_TOOL = "etool16";
- private static final URL baseURL = MylarTasklistPlugin.getDefault().getBundle().getEntry("/icons/");
-
- public static final ImageDescriptor REMOVE = create(T_ELCL, "remove.gif");
- public static final ImageDescriptor ERASE_TASKSCAPE = create(T_ELCL, "context-clear.gif");
-
- public static final ImageDescriptor FILTER_COMPLETE = create(T_ELCL, "filter-complete.gif");
- public static final ImageDescriptor FILTER_PRIORITY = create(T_ELCL, "filter-priority.gif");
-
- public static final ImageDescriptor COLOR_PALETTE = create(T_ELCL, "color-palette.gif");
-
- public static final ImageDescriptor TASK2 = create(T_TOOL, "task.gif");
- public static final ImageDescriptor TASK = createWithOverlay(TASK2, null);
-
- public static final ImageDescriptor TASK_NEW = create(T_TOOL, "task-new.gif");
- public static final ImageDescriptor CATEGORY = create(T_TOOL, "category.gif");
- public static final ImageDescriptor CATEGORY_NEW = create(T_TOOL, "category-new.gif");
- public static final ImageDescriptor CATEGORY_ARCHIVE = create(T_TOOL, "category-archive.gif");
-
- public static final ImageDescriptor NAVIGATE_PREVIOUS = create(T_TOOL, "navigate-previous.gif");
- public static final ImageDescriptor NAVIGATE_NEXT = create(T_TOOL, "navigate-next.gif");
-
- public static final ImageDescriptor COPY = create(T_TOOL, "copy.png");
- public static final ImageDescriptor GO_UP = create(T_TOOL, "go-up.gif");
- public static final ImageDescriptor GO_INTO = create(T_TOOL, "go-into.gif");
-
- public static final ImageDescriptor TASK_ACTIVE = create(T_TOOL, "task-active.gif");
- public static final ImageDescriptor TASK_INACTIVE = create(T_TOOL, "task-inactive.gif");
- public static final ImageDescriptor TASK_INACTIVE_CONTEXT = create(T_TOOL, "task-context.gif");
- public static final ImageDescriptor TASK_COMPLETE = create(T_TOOL, "task-complete.gif");
- public static final ImageDescriptor TASK_INCOMPLETE = create(T_TOOL, "task-incomplete.gif");
-
- public static final ImageDescriptor COLLAPSE_ALL = create(T_ELCL, "collapseall.png");
-
- private static ImageDescriptor create(String prefix, String name) {
- try {
- return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
- } catch (MalformedURLException e) {
- return ImageDescriptor.getMissingImageDescriptor();
- }
- }
-
- private static ImageDescriptor createWithOverlay(ImageDescriptor base, ImageDescriptor overlay) {
- return new MylarTasklistOverlayDescriptor(base, overlay);
- }
-
- private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
- if (baseURL == null)
- throw new MalformedURLException();
-
- StringBuffer buffer= new StringBuffer(prefix);
- buffer.append('/');
- buffer.append(name);
- return new URL(baseURL, buffer.toString());
- }
-
- /**
- * Lazily initializes image map.
- */
- public static Image getImage(ImageDescriptor imageDescriptor) {
- Image image = imageMap.get(imageDescriptor);
- if (image == null) {
- image = imageDescriptor.createImage();
- imageMap.put(imageDescriptor, image);
- }
- return image;
- }
-
- /**
- * TODO: get rid of this
- */
- public static ImageDescriptor getImageDescriptor(Image image) {
- for (ImageDescriptor imageDescriptor : imageMap.keySet()) {
- if (image.equals(imageMap.get(imageDescriptor))) return imageDescriptor;
- }
- return null;
- }
-
-
- public static class MylarTasklistOverlayDescriptor extends CompositeImageDescriptor {
-
- private ImageData base;
- private ImageData overlay;
- private Point fSize;
-
- public MylarTasklistOverlayDescriptor(ImageDescriptor baseDesc, ImageDescriptor overlayDesc) {
- this.base = getImageData(baseDesc);
- if(overlayDesc != null)
- this.overlay = getImageData(overlayDesc);
- Point size = new Point(base.width, base.height);
- setImageSize(size);
- }
-
- @Override
- protected void drawCompositeImage(int width, int height) {
- drawImage(base, 0, 0);
- if(overlay != null)
- drawImage(overlay, base.width - overlay.width, 0);
- }
-
- private ImageData getImageData(ImageDescriptor descriptor) {
- ImageData data= descriptor.getImageData(); // see bug 51965: getImageData can return null
- if (data == null) {
- data= DEFAULT_IMAGE_DATA;
- }
- return data;
- }
-
- /**
- * Sets the size of the image created by calling <code>createImage()</code>.
- *
- * @param size the size of the image returned from calling <code>createImage()</code>
- * @see ImageDescriptor#createImage()
- */
- public void setImageSize(Point size) {
- Assert.isNotNull(size);
- Assert.isTrue(size.x >= 0 && size.y >= 0);
- fSize= size;
- }
-
- @Override
- protected Point getSize() {
- return new Point(fSize.x, fSize.y);
- }
-
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListManager.java
deleted file mode 100644
index 2cda5683f..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/TaskListManager.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Dec 26, 2004
- */
-package org.eclipse.mylar.tasklist;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.internal.RelativePathUtil;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.internal.TaskList;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-
-/**
- * @author Mik Kersten
- */
-public class TaskListManager {
-
- private Map<ITask, TaskActiveTimerListener> listenerMap = new HashMap<ITask, TaskActiveTimerListener>();
-
- private File taskListFile;
- private TaskList taskList = new TaskList();
- private List<ITaskActivityListener> listeners = new ArrayList<ITaskActivityListener>();
- private int nextTaskId;
-
- public TaskListManager(File file) {
- this.taskListFile = file;
- if (MylarPlugin.getDefault() != null && MylarPlugin.getDefault().getPreferenceStore().contains(MylarTasklistPlugin.TASK_ID)) { // TODO: fix to MylarTasklistPlugin
- nextTaskId = MylarPlugin.getDefault().getPreferenceStore().getInt(MylarTasklistPlugin.TASK_ID);
- } else {
- nextTaskId = 1;
- }
- }
-
- public TaskList createNewTaskList() {
- taskList = new TaskList();
- return taskList;
- }
-
- public String genUniqueTaskId() {
- return "task-" + nextTaskId++;
- }
-
- public boolean readTaskList() {
- MylarTasklistPlugin.getDefault().getTaskListExternalizer().initExtensions();
- try {
- if (taskListFile.exists()) {
- MylarTasklistPlugin.getDefault().getTaskListExternalizer().readTaskList(taskList, taskListFile);
- int maxHandle = taskList.findLargestTaskHandle();
- if (maxHandle >= nextTaskId) {
- nextTaskId = maxHandle + 1;
- }
- for (ITaskActivityListener listener : listeners) listener.tasksActivated(taskList.getActiveTasks());
- } else {
- MylarTasklistPlugin.getTaskListManager().createNewTaskList();
- }
- if (TaskListView.getDefault() != null) {
- TaskListView.getDefault().getViewer().refresh();
- }
- } catch (Exception e) {
- MylarPlugin.log(e, "Could not read task list");
- return false;
- }
- return true;
- }
-
- public void saveTaskList() {
- try {
- MylarTasklistPlugin.getDefault().getTaskListExternalizer().writeTaskList(taskList, taskListFile);
- MylarPlugin.getDefault().getPreferenceStore().setValue(MylarTasklistPlugin.TASK_ID, nextTaskId);
- } catch (Exception e) {
- MylarPlugin.fail(e, "Could not save task list", true);
- }
- }
-
- public TaskList getTaskList() {
- return taskList;
- }
-
- public void setTaskList(TaskList taskList) {
- this.taskList = taskList;
- }
-
- public void addRootTask(ITask task) {
- taskList.addRootTask(task);
- }
-
- public void addCategory(ITaskListCategory cat) {
- taskList.addCategory(cat);
- }
-
- public void addQuery(IQuery cat) {
- taskList.addQuery(cat);
- }
-
- public void deleteTask(ITask task) {
- TaskActiveTimerListener activeListener = listenerMap.remove(task);
- if(activeListener != null)
- activeListener.stopTimer();
- taskList.setActive(task, false, false);
- taskList.deleteTask(task);
- }
-
- public void deleteCategory(ITaskListCategory cat) {
- taskList.deleteCategory(cat);
- }
-
- public void deleteQuery(IQuery query) {
- taskList.deleteQuery(query);
- }
-
- public void addListener(ITaskActivityListener listener) {
- listeners.add(listener);
- }
-
- public void removeListener(ITaskActivityListener listener) {
- listeners.remove(listener);
- }
-
- public void activateTask(ITask task) {
- if (!MylarTasklistPlugin.getDefault().isMultipleMode()) {
- if(taskList.getActiveTasks().size() > 0 && taskList.getActiveTasks().get(0).getHandle().compareTo(task.getHandle()) != 0) {
- for (ITask t : taskList.getActiveTasks()) {
- for (ITaskActivityListener listener : listeners) listener.taskDeactivated(t);
- }
- taskList.clearActiveTasks();
- }
- }
- taskList.setActive(task, true, false);
- TaskActiveTimerListener activeListener = new TaskActiveTimerListener(task);
- listenerMap.put(task, activeListener);
- for (ITaskActivityListener listener : listeners) listener.taskActivated(task);
- }
-
- public void deactivateTask(ITask task) {
- TaskActiveTimerListener activeListener = listenerMap.remove(task);
- if(activeListener != null) activeListener.stopTimer();
- taskList.setActive(task, false, false);
- for (ITaskActivityListener listener : listeners) listener.taskDeactivated(task);
- }
-
- public void taskPropertyChanged(ITask task, String property) {
- for (ITaskActivityListener listener : listeners) listener.taskPropertyChanged(task, property);
- }
-
- public void updateTaskscapeReference(String prevDir) {
- List<ITask> rootTasks = this.getTaskList().getRootTasks();
- for (TaskCategory cat : taskList.getTaskCategories()) {
- updateTaskscapeReferenceHelper(cat.getChildren(), prevDir);
- }
- updateTaskscapeReferenceHelper(rootTasks, prevDir);
-
- }
-
- public void updateTaskscapeReferenceHelper(List<ITask> list, String prevDir) {
- for (ITask task : list) {
- if (!task.getPath().startsWith("task-")) {
- if (task.getPath().startsWith("..")) {
- String path = task.getPath();
- File d = new File(prevDir);
- while (path.startsWith("..")) {
- d = d.getParentFile();
- path = path.substring(3, path.length());
- }
-
- String absPath = d.getPath() + "/" + path + MylarTasklistPlugin.FILE_EXTENSION;
- absPath = absPath.replaceAll("\\\\", "/");
- String rel = RelativePathUtil.findRelativePath(MylarPlugin.getDefault().getMylarDataDirectory() + "/", absPath);
- task.setPath(rel);
- taskPropertyChanged(task, "Path");
- } else {
- String absPath = prevDir + "/" + task.getPath() + MylarTasklistPlugin.FILE_EXTENSION;
- absPath = absPath.replaceAll("\\\\", "/");
- String rel = RelativePathUtil.findRelativePath(MylarPlugin.getDefault().getMylarDataDirectory(), absPath);
- task.setPath(rel);
- taskPropertyChanged(task, "Path");
- }
- }
-// updateTaskscapeReferenceHelper(task.getChildren(), prevDir);
- }
- }
-
- public void setTaskListFile(File f) {
- if (this.taskListFile.exists()) {
- this.taskListFile.delete();
- }
- this.taskListFile = f;
- }
-
- public ITask getTaskForHandle(String handle, boolean lookInArchives) {
- return taskList.getTaskForHandle(handle, lookInArchives);
- }
-
- public String toXmlString() {
- try {
- return MylarTasklistPlugin.getDefault().getTaskListExternalizer().getTaskListXml(taskList);
- } catch (Exception e) {
- MylarPlugin.fail(e, "Could not save task list", true);
- }
- return null;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/contribution/DatePicker.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/contribution/DatePicker.java
deleted file mode 100644
index 6f87cda1f..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/contribution/DatePicker.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.contribution;
-
-import java.text.DateFormatSymbols;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Temporary date picker from patch posted to:
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=19945
- *
- * see bug# 19945
- *
- * TODO: remove this class when an SWT date picker is added
- *
- * @author Bahadir Yagan
- * @author Mik Kersten
- */
-public class DatePicker extends Composite {
-
- private Text dateText = null;
-
- private Button pickButton = null;
-
- private Calendar date = null;
-
- private Shell pickerShell = null;
-
- private DatePickerPanel datePickerPanel = null;
-
- public DatePicker(Composite parent, int style) {
- super(parent, style);
- initialize();
- }
-
- private void initialize() {
- GridData gridData1 = new org.eclipse.swt.layout.GridData();
- gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData1.grabExcessHorizontalSpace = true;
- gridData1.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
- GridData gridData = new org.eclipse.swt.layout.GridData();
- gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.END;
- gridData.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.horizontalSpacing = 2;
- gridLayout.verticalSpacing = 2;
- gridLayout.marginWidth = 0;
- gridLayout.marginHeight = 2;
- gridLayout.makeColumnsEqualWidth = false;
- this.setLayout(gridLayout);
- setSize(new org.eclipse.swt.graphics.Point(103, 28));
- dateText = new Text(this, SWT.BORDER | SWT.READ_ONLY);
- dateText.setBackground(Display.getCurrent().getSystemColor(
- SWT.COLOR_WHITE));
- dateText.setLayoutData(gridData1);
- pickButton = new Button(this, SWT.ARROW | SWT.DOWN);
- pickButton.setLayoutData(gridData);
- pickButton.addSelectionListener(new SelectionListener() {
-
- public void widgetSelected(SelectionEvent arg0) {
- Display display = Display.getCurrent();
- showDatePicker(display.getCursorLocation().x,
- display.getCursorLocation().y);
- updateDateText();
- }
-
- public void widgetDefaultSelected(SelectionEvent arg0) {
- // TODO Auto-generated method stub
-
- }
- });
- }
-
- public void addPickerSelectionListener(SelectionListener listener) {
- pickButton.addSelectionListener(listener);
- }
-
- public Calendar getDate() {
- return date;
- }
-
- public void setDate(Calendar date) {
- this.date = date;
- updateDateText();
- }
-
- public Point computeSize(int wHint, int hHint, boolean changed) {
- this.layout();
- return new Point(this.getSize().x, this.getSize().y);
- }
-
- private void showDatePicker(int x, int y) {
- Display display = Display.getCurrent();
- pickerShell = new Shell(SWT.APPLICATION_MODAL | SWT.ON_TOP);
- pickerShell.setText("Shell");
- pickerShell.setLayout(new FillLayout());
- datePickerPanel = new DatePickerPanel(pickerShell, SWT.NONE);
- if (date == null) {
- date = new GregorianCalendar();
- }
- datePickerPanel.setDate(date);
- pickerShell.setSize(new Point(225, 180));
- pickerShell.setLocation(new Point(x, y));
- pickerShell.open();
-
- while (!pickerShell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- this.date = datePickerPanel.getDate();
- pickerShell.dispose();
- }
-
- private void updateDateText() {
- dateText.setText(date.get(Calendar.DAY_OF_MONTH) + "/"
- + date.get(Calendar.MONTH) + "/" + date.get(Calendar.YEAR));
- }
-
- public void setDateText(String text) {
- dateText.setText(text);
- }
-} // @jve:decl-index=0:visual-constraint="10,10"
-
-class DatePickerPanel extends Composite {
-
- private Combo monthCombo = null;
-
- private Spinner yearSpinner = null;
-
- private Composite headerComposite = null;
-
- private Composite calendarComposite = null;
-
- private Calendar date = null;
-
- private DateFormatSymbols dateFormatSymbols = null;
-
- private Label[] calendarLabels = null;
-
- public DatePickerPanel(Composite parent, int style) {
- super(parent, style);
- initialize();
- updateCalendar();
- }
-
- private void initialize() {
- date = new GregorianCalendar();
- dateFormatSymbols = new DateFormatSymbols();
- calendarLabels = new Label[42];
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.horizontalSpacing = 3;
- gridLayout.verticalSpacing = 3;
- this.setLayout(gridLayout);
- setSize(new org.eclipse.swt.graphics.Point(277, 200));
- createCombo();
- createYearSpinner();
- createComposite();
- createComposite1();
- createCalendarData();
- }
-
- /**
- * This method initializes combo
- *
- */
- private void createCombo() {
- monthCombo = new Combo(this, SWT.READ_ONLY);
- monthCombo.setItems(dateFormatSymbols.getMonths());
- monthCombo.remove(12);
- monthCombo.select(date.get(Calendar.MONTH));
- monthCombo.setVisibleItemCount(12);
- monthCombo.addModifyListener(new ModifyListener() {
-
- public void modifyText(ModifyEvent arg0) {
- date.set(Calendar.MONTH, monthCombo.getSelectionIndex());
- updateCalendar();
- }
-
- });
- }
-
- private void createYearSpinner() {
- GridData gridData1 = new org.eclipse.swt.layout.GridData();
- gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.BEGINNING;
- gridData1.grabExcessVerticalSpace = false;
- gridData1.grabExcessHorizontalSpace = false;
- gridData1.heightHint = -1;
- gridData1.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
- yearSpinner = new Spinner(this, SWT.BORDER | SWT.READ_ONLY);
- yearSpinner.setMinimum(1900);
- yearSpinner.setBackground(Display.getDefault().getSystemColor(
- SWT.COLOR_WHITE));
- yearSpinner.setDigits(0);
- yearSpinner.setMaximum(3000);
- yearSpinner.setLayoutData(gridData1);
- yearSpinner.setSelection(date.get(Calendar.YEAR));
- yearSpinner.addModifyListener(new ModifyListener() {
-
- public void modifyText(ModifyEvent arg0) {
- date.set(Calendar.YEAR, yearSpinner.getSelection());
- updateCalendar();
- }
-
- });
- }
-
- /**
- * This method initializes composite
- *
- */
- private void createComposite() {
- String[] weekDays = dateFormatSymbols.getWeekdays();
- GridLayout gridLayout1 = new GridLayout();
- gridLayout1.numColumns = 7;
- gridLayout1.makeColumnsEqualWidth = true;
- GridData gridData = new org.eclipse.swt.layout.GridData();
- gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = false;
- gridData.horizontalSpan = 2;
- gridData.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
- headerComposite = new Composite(this, SWT.NONE);
- headerComposite.setLayoutData(gridData);
- headerComposite.setLayout(gridLayout1);
- GridData labelGridData = new org.eclipse.swt.layout.GridData();
- labelGridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
- labelGridData.grabExcessHorizontalSpace = true;
- labelGridData.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
- for (int i = 1; i < 8; ++i) {
- Label headerLabel = new Label(headerComposite, SWT.CENTER);
- headerLabel.setText(weekDays[i].substring(0, 3));
- headerLabel.setLayoutData(labelGridData);
- }
- }
-
- /**
- * This method initializes composite1
- *
- */
- private void createComposite1() {
- GridLayout gridLayout2 = new GridLayout();
- gridLayout2.numColumns = 7;
- gridLayout2.makeColumnsEqualWidth = true;
- GridData gridData1 = new org.eclipse.swt.layout.GridData();
- gridData1.horizontalSpan = 2;
- gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData1.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData1.grabExcessVerticalSpace = true;
- gridData1.grabExcessHorizontalSpace = true;
- calendarComposite = new Composite(this, SWT.BORDER);
- calendarComposite.setBackground(Display.getDefault().getSystemColor(
- SWT.COLOR_WHITE));
- calendarComposite.setLayout(gridLayout2);
- calendarComposite.setLayoutData(gridData1);
- }
-
- private void createCalendarData() {
- GridData gridData = new org.eclipse.swt.layout.GridData();
- gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData.grabExcessHorizontalSpace = true;
- gridData.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
- for (int i = 0; i < 42; ++i) {
- Label headerLabel = new Label(calendarComposite, SWT.CENTER);
- headerLabel.setText("99");
- headerLabel.setLayoutData(gridData);
- calendarLabels[i] = headerLabel;
- headerLabel.addMouseListener(new MouseListener() {
-
- public void mouseDoubleClick(MouseEvent arg0) {
- // TODO Auto-generated method stub
-
- }
-
- public void mouseDown(MouseEvent arg0) {
- unSellectAll();
- Label label = (Label) arg0.getSource();
- if (!label.getText().equals("")) {
- label.setBackground(Display.getDefault()
- .getSystemColor(SWT.COLOR_LIST_SELECTION));
- label.setForeground(Display.getDefault()
- .getSystemColor(SWT.COLOR_WHITE));
- }
- }
-
- public void mouseUp(MouseEvent arg0) {
- Label label = (Label) arg0.getSource();
- if (!label.getText().equals("")) {
- date.set(Calendar.YEAR, yearSpinner.getSelection());
- date
- .set(Calendar.MONTH, monthCombo
- .getSelectionIndex());
- date.set(Calendar.DAY_OF_MONTH, Integer.parseInt(label
- .getText()));
- DatePickerPanel.this.getShell().close();
- }
- }
-
- });
- }
- }
-
- private void updateCalendar() {
- unSellectAll();
- // Fill Labels
- Calendar cal = new GregorianCalendar(date.get(Calendar.YEAR), date
- .get(Calendar.MONTH), 1);
- int dayofWeek = cal.get(Calendar.DAY_OF_WEEK) - 1;
-
- for (int i = 0; i < dayofWeek; ++i) {
- calendarLabels[i].setText("");
- }
-
- for (int i = 1; i <= cal.getActualMaximum(Calendar.DAY_OF_MONTH); ++i) {
- calendarLabels[i + dayofWeek - 1].setText("" + i);
- }
-
- for (int i = cal.getActualMaximum(Calendar.DAY_OF_MONTH) + dayofWeek; i < 42; ++i) {
- calendarLabels[i].setText("");
- }
-
- calendarLabels[date.get(Calendar.DAY_OF_MONTH) + dayofWeek]
- .setBackground(Display.getDefault().getSystemColor(
- SWT.COLOR_LIST_SELECTION));
- calendarLabels[date.get(Calendar.DAY_OF_MONTH) + dayofWeek]
- .setForeground(Display.getDefault().getSystemColor(
- SWT.COLOR_WHITE));
-
- }
-
- private void unSellectAll() {
- for (int i = 0; i < 42; ++i) {
- calendarLabels[i].setForeground(Display.getDefault()
- .getSystemColor(SWT.COLOR_BLACK));
- calendarLabels[i].setBackground(Display.getCurrent()
- .getSystemColor(SWT.COLOR_WHITE));
- }
- }
-
- public Calendar getDate() {
- return date;
- }
-
- public void setDate(Calendar date) {
- this.date = date;
- updateCalendar();
- }
-
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/DefaultTaskListExternalizer.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/DefaultTaskListExternalizer.java
deleted file mode 100644
index e6a7c26d1..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/DefaultTaskListExternalizer.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListExternalizer;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.ui.actions.TaskActivateAction;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class DefaultTaskListExternalizer implements ITaskListExternalizer {
-
- public static final String TAG_QUERY = "Query";
- public static final String TAG_QUERY_HIT = "QueryHit";
- public static final String MAX_HITS = "MaxHits";
- public static final String QUERY_STRING = "QueryString";
-
- public static final String LABEL = "Label";
- public static final String HANDLE = "Handle";
- public static final String TAG_CATEGORY = "Category";
- public static final String TAG_TASK = "Task";
- public static final String TAG_TASK_CATEGORY = "Task" + TAG_CATEGORY;
-
- public static final String LINK = "Link";
- public static final String PLAN = "Plan";
- public static final String ESTIMATED = "Estimated";
- public static final String ELAPSED = "Elapsed";
- public static final String ISSUEURL = "IssueURL";
- public static final String NOTES = "Notes";
- public static final String BUGZILLA = "Bugzilla";
- public static final String ACTIVE = "Active";
- public static final String COMPLETE = "Complete";
- public static final String PRIORITY = "Priority";
- public static final String PATH = "Path";
- public static final String FALSE = "false";
- public static final String TRUE = "true";
- public static final String NAME = "Name";
- public static final String END_DATE = "EndDate";
- public static final String CREATION_DATE = "CreationDate";
- public static final String REMINDER_DATE = "ReminderDate";
- public static final String REMINDED = "Reminded";
-
- private List<ITaskListExternalizer> externalizers = new ArrayList<ITaskListExternalizer>();
-
- void setExternalizers(List<ITaskListExternalizer> externalizers) {
- this.externalizers = externalizers;
- }
-
- public boolean canCreateElementFor(ITaskListCategory category) {
- return category instanceof TaskCategory;
- }
-
- public Element createCategoryElement(ITaskListCategory category, Document doc, Element parent) {
- if(category.isArchive())
- return parent;
- Element node = doc.createElement(getCategoryTagName());
- node.setAttribute(NAME, category.getDescription(false));
-
- for (ITask task : ((TaskCategory)category).getChildren()) {
- try {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(task)) element = externalizer.createTaskElement(task, doc, node);
- }
- if (element == null) createTaskElement(task, doc, node);
- } catch (Exception e) {
- MylarPlugin.log(e, e.getMessage());
- }
-
- }
- parent.appendChild(node);
- return node;
- }
-
- public boolean canCreateElementFor(ITask task) {
- return true;
- }
-
- public Element createTaskElement(ITask task, Document doc, Element parent) {
- Element node = doc.createElement(getTaskTagName());
- node.setAttribute(PATH, task.getPath());
- node.setAttribute(LABEL, task.getDescription(false));
- node.setAttribute(HANDLE, task.getHandle());
- node.setAttribute(PRIORITY, task.getPriority());
-
- if (task.isCompleted()) {
- node.setAttribute(COMPLETE, TRUE);
- } else {
- node.setAttribute(COMPLETE, FALSE);
- }
- if (task.isActive()) {
- node.setAttribute(ACTIVE, TRUE);
- } else {
- node.setAttribute(ACTIVE, FALSE);
- }
- node.setAttribute(BUGZILLA, FALSE); // TODO: this is not great
-
- node.setAttribute(ISSUEURL, task.getIssueReportURL());
- node.setAttribute(NOTES, task.getNotes());
- node.setAttribute(ELAPSED, task.getElapsedTime());
- node.setAttribute(ESTIMATED, ""+task.getEstimateTime());
- node.setAttribute(END_DATE, task.getEndDateString());
- node.setAttribute(CREATION_DATE, task.getCreationDateString());
- node.setAttribute(REMINDER_DATE, task.getReminderDateString(false));
- if (task.hasBeenReminded()) {
- node.setAttribute(REMINDED, TRUE);
- } else {
- node.setAttribute(REMINDED, FALSE);
- }
- List<String> rl = task.getRelatedLinks();
- int i = 0;
- for (String link : rl) {
- node.setAttribute(LINK+i, link);
- i++;
- }
- List<String> plans = task.getPlans();
- int currPlan = 0;
- for (String plan : plans) {
- node.setAttribute(PLAN+currPlan, plan);
- currPlan++;
- }
-
- for (ITask t : task.getChildren()) {
- createTaskElement(t, doc, node);
- }
- parent.appendChild(node);
- return node;
- }
-
- public boolean canReadCategory(Node node) {
- return node.getNodeName().equals(getCategoryTagName());
- }
-
- public void readCategory(Node node, TaskList tlist) throws MylarExternalizerException {
- boolean hasCaughtException = false;
- Element element = (Element) node;
- TaskCategory category = new TaskCategory(element.getAttribute("Name"));
- tlist.internalAddCategory(category);
- NodeList list = node.getChildNodes();
- for (int i = 0; i < list.getLength(); i++) {
- Node child = list.item(i);
- boolean read = false;
- try {
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canReadTask(child)) {
- category.internalAddTask(externalizer.readTask(child, tlist,
- category, null));
- read = true;
- }
- }
- if (!read && canReadTask(child)) {
- category.internalAddTask(readTask(child, tlist, category, null));
- }
- } catch (MylarExternalizerException e) {
- hasCaughtException = true;
- }
- }
- if (hasCaughtException) throw new MylarExternalizerException("Failed to load all tasks");
- }
-
- public boolean canReadTask(Node node) {
- return node.getNodeName().equals(getTaskTagName());
- }
-
- public ITask readTask(Node node, TaskList tlist, ITaskListCategory category, ITask parent) throws MylarExternalizerException {
- Element element = (Element) node;
- String handle;
- String label;
- if (element.hasAttribute(HANDLE)) {
- handle = element.getAttribute(HANDLE);
- } else {
- throw new MylarExternalizerException("Handle not stored for task");
- }
- if (element.hasAttribute(LABEL)) {
- label = element.getAttribute(LABEL);
- } else {
- label = "Description was corrupted in stored tasklist";
- }
- Task task = new Task(handle, label, false);
- readTaskInfo(task, tlist, element, category, parent);
- return task;
- }
-
- protected void readTaskInfo(ITask task, TaskList tlist, Element element, ITaskListCategory category, ITask parent) throws MylarExternalizerException{
- if (element.hasAttribute(PRIORITY)) {
- task.setPriority(element.getAttribute(PRIORITY));
- } else {
- task.setPriority("P3");
- }
- if (element.hasAttribute(PATH)) {
- task.setPath(element.getAttribute(PATH));
- } else {
- task.setPath(task.getHandle());
- }
-
- if (element.getAttribute(ACTIVE).compareTo(TRUE) == 0) {
- task.setActive(true, false);
- tlist.setActive(task, true, false);
- new TaskActivateAction().run(task);
- } else {
- task.setActive(false, false);
- }
- if (element.hasAttribute(ISSUEURL)) {
- task.setIssueReportURL(element.getAttribute(ISSUEURL));
- } else {
- task.setIssueReportURL("");
- }
- if (element.hasAttribute(NOTES)) {
- task.setNotes(element.getAttribute(NOTES));
- } else {
- task.setNotes("");
- }
- if (element.hasAttribute(ELAPSED)) {
- task.setElapsedTime(element.getAttribute(ELAPSED));
- } else {
- task.setElapsedTime("");
- }
- if (element.hasAttribute(ESTIMATED)) {
- String est = element.getAttribute(ESTIMATED);
- try {
- int estimate = Integer.parseInt(est);
- task.setEstimatedTime(estimate);
- } catch (Exception e) {
- task.setEstimatedTime(0);
- }
- } else {
- task.setEstimatedTime(0);
- }
- // NOTE: do not change the order of complete and end date!!
- if (element.getAttribute(COMPLETE).compareTo(TRUE) == 0) {
- task.setCompleted(true);
- } else {
- task.setCompleted(false);
- }
- if (element.hasAttribute(END_DATE)) {
- task.setEndDate(element.getAttribute(END_DATE));
- } else {
- task.setEndDate("");
- }
- if (element.hasAttribute(CREATION_DATE)) {
- task.setCreationDate(element.getAttribute(CREATION_DATE));
- } else {
- task.setCreationDate("");
- }
- if (element.hasAttribute(REMINDER_DATE)) {
- task.setReminderDate(element.getAttribute(REMINDER_DATE));
- } else {
- task.setReminderDate("");
- }
- if (element.hasAttribute(REMINDED) && element.getAttribute(REMINDED).compareTo(TRUE) == 0) {
- task.setReminded(true);
- } else {
- task.setReminded(false);
- }
- int i = 0;
- while (element.hasAttribute(LINK+i)) {
- task.getRelatedLinks().add(element.getAttribute(LINK+i));
- i++;
- }
- int ii = 0;
- while (element.hasAttribute(PLAN+ii)) {
- task.getPlans().add(element.getAttribute(PLAN+i));
- ii++;
- }
- if (category != null) {
- task.internalSetCategory((TaskCategory) category);
- } else {
- task.internalSetCategory(null);
- }
- task.setParent(parent);
- NodeList list = element.getChildNodes();
- for (int j = 0; j < list.getLength(); j++) {
- Node child = list.item(j);
- task.addSubTask(readTask(child, tlist, null, task));
- }
- }
-
- public String getCategoryTagName() {
- return TAG_TASK_CATEGORY;
- }
-
- public String getTaskTagName() {
- return TAG_TASK;
- }
-
- public void createRegistry(Document doc, Node parent) {
- // nothing to do
- }
-
- public boolean canCreateElementFor(IQuery category) {
- return true;
- }
-
- public Element createQueryElement(IQuery query, Document doc, Element parent) {
- Element node = doc.createElement(getQueryTagNameForElement(query));
- node.setAttribute(NAME, query.getDescription(false));
- node.setAttribute(MAX_HITS, query.getMaxHits()+"");
- node.setAttribute(QUERY_STRING, query.getQueryString());
- for(IQueryHit hit: query.getChildren()){
- try {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(hit)) element = externalizer.createQueryHitElement(hit, doc, node);
- }
- if (element == null) createQueryHitElement(hit, doc, node);
- } catch (Exception e) {
- MylarPlugin.log(e, e.getMessage());
- }
- }
- parent.appendChild(node);
- return node;
- }
-
- public boolean canReadQuery(Node node) {
- return false;
- }
-
- public void readQuery(Node node, TaskList tlist) throws MylarExternalizerException {
- // doesn't know how to read any queries
-
- }
-
- public String getQueryTagNameForElement(IQuery query) {
- return "";
- }
-
- public String getQueryHitTagName() {
- return TAG_QUERY_HIT;
- }
-
- public boolean canCreateElementFor(IQueryHit queryHit) {
- return true;
- }
-
- public Element createQueryHitElement(IQueryHit queryHit, Document doc, Element parent) {
- Element node = doc.createElement(getQueryHitTagName());
- node.setAttribute(NAME, queryHit.getDescription(false));
- node.setAttribute(HANDLE, queryHit.getHandle());
- node.setAttribute(PRIORITY, queryHit.getPriority());
- if (queryHit.isCompleted()) {
- node.setAttribute(COMPLETE, TRUE);
- } else {
- node.setAttribute(COMPLETE, FALSE);
- }
- parent.appendChild(node);
- return null;
- }
-
- public boolean canReadQueryHit(Node node) {
- return false;
- }
-
- public void readQueryHit(Node node, TaskList tlist, IQuery query) throws MylarExternalizerException {
- // doesn't know how to read a query hit
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/MylarExternalizerException.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/MylarExternalizerException.java
deleted file mode 100644
index f7aeb5f9c..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/MylarExternalizerException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class MylarExternalizerException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 5804522104992031907L;
-
- public MylarExternalizerException() {
- super();
- }
-
- public MylarExternalizerException(String detailMessage) {
- super(detailMessage);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/RelativePathUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/RelativePathUtil.java
deleted file mode 100644
index 4aedb2def..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/RelativePathUtil.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-public class RelativePathUtil {
- public static String findRelativePath(String baseDirectory, String filePath) {
- if (filePath.startsWith(baseDirectory)) {
- return filePath.substring(baseDirectory.length(), filePath.lastIndexOf('.'));
- } else {
- StringBuffer result = new StringBuffer(filePath.length());
- String[] rootFolders = baseDirectory.split("/");
- String[] pathFolders = filePath.split("/");
- int diff = 0;
- for (int i = 0; i < pathFolders.length; i++) {
- if (!rootFolders[i].equals(pathFolders[i])) {
- diff = i;
- while (i < rootFolders.length) {
- result.append('.');
- result.append('.');
- result.append('/');
- i++;
- }
- while(diff < pathFolders.length - 1){
- result.append(pathFolders[diff]);
- diff++;
- }
- result.append(pathFolders[diff].substring(0, pathFolders[diff].lastIndexOf('.')));
- }
- }
- return result.toString();
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCategory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCategory.java
deleted file mode 100644
index a07463346..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCategory.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Dec 26, 2004
- */
-package org.eclipse.mylar.tasklist.internal;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.CategoryEditorInput;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.Workbench;
-
-
-/**
- * @author Mik Kersten
- */
-public class TaskCategory implements ITaskListCategory, Serializable {
-
- private static final long serialVersionUID = 3834024740813027380L;
-
- private List<ITask> tasks = new ArrayList<ITask>();
-
- protected String description = "";
- private String handle = "";
- private boolean isArchive = false;
- public TaskCategory(String description) {
- this.description = description;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.mylar.tasklist.ITaskListCategory#getDescription(boolean)
- */
- public String getDescription(boolean label) {
- return description;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.mylar.tasklist.ITaskListCategory#getHandle()
- */
- public String getHandle() {
- return handle;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.mylar.tasklist.ITaskListCategory#setDescription(java.lang.String)
- */
- public void setDescription(String description) {
- this.description = description;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.mylar.tasklist.ITaskListCategory#setHandle(java.lang.String)
- */
- public void setHandle(String handle) {
- this.handle = handle;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.mylar.tasklist.ITaskListCategory#getStatusIcon()
- */
- public Image getStatusIcon() {
- return null;
- }
-
- public Image getIcon() {
- if(isArchive()){
- return TaskListImages.getImage(TaskListImages.CATEGORY_ARCHIVE);
- } else {
- return TaskListImages.getImage(TaskListImages.CATEGORY);
- }
- }
-
-
- public String getPriority() {
- String highestPriority = "P5";
- if (tasks.isEmpty()) {
- return "P1";
- }
- for (ITask task : tasks) {
- if (highestPriority.compareTo(task.getPriority()) > 0) {
- highestPriority = task.getPriority();
- }
- }
- return highestPriority;
- }
-
- public void addTask(ITask task) {
- tasks.add(task);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- /**
- * So it can be used by other externalizers
- */
- public void internalAddTask(ITask task) {
- tasks.add(task);
- }
-
- public void removeTask(ITask task) {
- tasks.remove(task);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public List<ITask> getChildren() {
- return tasks;
- }
-
- @Override
- public boolean equals(Object object) {
- if (object == null) return false;
- if (object instanceof TaskCategory) {
- TaskCategory compare = (TaskCategory)object;
- return this.getDescription(false).equals(compare.getDescription(false));
- } else {
- return false;
- }
- }
-
- public ITask getOrCreateCorrespondingTask() {
- return null;
- }
- public boolean hasCorrespondingActivatableTask() {
- return false;
- }
-
- public boolean isDirectlyModifiable() {
- return true;
- }
-
- public boolean isActivatable() {
- return false;
- }
-
- public boolean isDragAndDropEnabled() {
- return false;
- }
-
- public Color getForeground() {
- return null;
- }
-
- public Font getFont() {
- for (ITask child : getChildren()) {
- if (child.isActive())
- return BOLD;
- }
- return null;
- }
- public boolean isCompleted(){
- return false;
- }
-
- public String getToolTipText() {
- if (tasks.size() == 1) {
- return "1 task";
- } else {
- return tasks.size() + " tasks";
- }
- }
-
- public boolean isArchive() {
- return isArchive;
- }
-
- public void setIsArchive(boolean isArchive) {
- this.isArchive = isArchive;;
- }
-
- public String getStringForSortingDescription() {
- return getDescription(true);
- }
-
- public void openCategoryInEditor(boolean offline) {
- Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
- public void run() {
- openCategory();
- }
- });
- }
-
- public void openCategory() {
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (page == null) {
- return;
- }
-
- IEditorInput input = new CategoryEditorInput(this);
- try {
- page.openEditor(input, MylarTasklistPlugin.CATEGORY_EDITOR_ID);
- } catch (PartInitException ex) {
- MylarPlugin.log(ex, "open failed");
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCompleteFilter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCompleteFilter.java
deleted file mode 100644
index f9e09e5ce..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskCompleteFilter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskFilter;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-
-/**
- * @author Ken Sueda
- */
-public class TaskCompleteFilter implements ITaskFilter {
-
- public boolean select(Object element) {
- if (element instanceof ITask) {
- ITask task = (ITask)element;
- if (task.isActive()) {
- return true;
- }
- return !task.isCompleted();
- } else if(element instanceof IQueryHit){
- if(((IQueryHit)element).hasCorrespondingActivatableTask()){
- ITask task = ((IQueryHit)element).getOrCreateCorrespondingTask();
- if (task.isActive()) {
- return true;
- }
- }
- IQueryHit hit = (IQueryHit)element;
- return !hit.isCompleted();
- } else if(element instanceof ITaskListElement){
- ITaskListElement taskElement = (ITaskListElement)element;
- return !taskElement.isCompleted();
- }
- return false;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskList.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskList.java
deleted file mode 100644
index 768e6502d..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskList.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Dec 22, 2004
- */
-package org.eclipse.mylar.tasklist.internal;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-
-
-/**
- * @author Mik Kersten
- */
-public class TaskList implements Serializable {
-
- private static final long serialVersionUID = 3618984485791021105L;
-
- private List<ITask> rootTasks = new ArrayList<ITask>();
- private List<ITaskListCategory> categories = new ArrayList<ITaskListCategory>();
- private List<IQuery> queries = new ArrayList<IQuery>();
- private transient List<ITask> activeTasks = new ArrayList<ITask>();
-
- public void addRootTask(ITask task) {
- rootTasks.add(task);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- void internalAddRootTask(ITask task) {
- rootTasks.add(task);
- }
-
- public void addCategory(ITaskListCategory cat) {
- categories.add(cat);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public void addQuery(IQuery query) {
- queries.add(query);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- /**
- * XXX Only public so that other externalizers can use it
- */
- public void internalAddCategory(ITaskListCategory cat) {
- categories.add(cat);
- }
-
- /**
- * XXX Only public so that other externalizers can use it
- */
- public void internalAddQuery(IQuery query) {
- queries.add(query);
- }
-
- public void setActive(ITask task, boolean active, boolean isStalled) {
- task.setActive(active, isStalled);
- if (active && !activeTasks.contains(task)) {
- activeTasks.add(task);
- } else if(!active){
- activeTasks.remove(task);
- }
-
- }
-
- public void deleteTask(ITask task) {
- boolean deleted = deleteTaskHelper(rootTasks, task);
- if (!deleted) {
- for (TaskCategory cat : getTaskCategories()) {
- deleted = deleteTaskHelper(cat.getChildren(), task);
- if (deleted) {
- return;
- }
- }
- }
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- private boolean deleteTaskHelper(List<ITask> tasks, ITask t) {
- for (ITask task : tasks) {
- if (task.getHandle().equals(t.getHandle())) {
- tasks.remove(task);
- return true;
- } else {
- if (deleteTaskHelper(task.getChildren(), t))
- return true;
- }
- }
- return false;
- }
-
- public void deleteCategory(ITaskListCategory category) {
- categories.remove(category);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public void deleteQuery(IQuery query) {
- queries.remove(query);
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- public ITask getTaskForHandle(String handle, boolean lookInArchives) {
- ITask t = null;
- for (ITaskListCategory cat : categories) {
- if(!lookInArchives && cat.isArchive())
- continue;
- if ((t = findTaskHelper(cat.getChildren(), handle)) != null) {
- return t;
- }
- }
- for (IQuery query : queries) {
- if ((t = findTaskHelper(query.getChildren(), handle)) != null) {
- return t;
- }
- }
- return findTaskHelper(rootTasks, handle);
- }
-
- private ITask findTaskHelper(List<? extends ITaskListElement> elements, String handle) {
- for (ITaskListElement element : elements) {
- if(element instanceof ITask){
- if(element.getHandle().compareTo(handle) == 0)
- return (ITask)element;
- } else if(element instanceof IQueryHit){
- IQueryHit hit = (IQueryHit)element;
- if (hit.getHandle().compareTo(handle) == 0 && hit.hasCorrespondingActivatableTask()) {
- return hit.getOrCreateCorrespondingTask();
- }
- }
-
- // for subtasks
- if(element instanceof ITask){
- ITask searchTask = (ITask)element;
- ITask t = findTaskHelper(searchTask.getChildren(), handle);
- if (t != null) {
- return t;
- }
- }
- }
- return null;
- }
-
- public List<ITask> getActiveTasks() {
- return activeTasks;
- }
-
- public List<ITask> getRootTasks() {
- return rootTasks;
- }
-
- public List<ITaskListCategory> getCategories() {
- return categories;
- }
-
- public List<IQuery> getQueries(){
- return queries;
- }
-
- public int findLargestTaskHandle() {
- int max = 0;
- max = Math.max(largestTaskHandleHelper(rootTasks), max);
- for (TaskCategory cat : getTaskCategories()) {
- max = Math.max(largestTaskHandleHelper(cat.getChildren()), max);
- }
- return max;
- }
-
- private int largestTaskHandleHelper(List<ITask> tasks) {
- int ihandle = 0;
- int max = 0;
- for (ITask t : tasks) {
- if(t.participatesInTaskHandles()) {
- String string = t.getHandle().substring(t.getHandle().indexOf('-')+1, t.getHandle().length());
- if (string != "") {
- ihandle = Integer.parseInt(string);
- }
- }
- max = Math.max(ihandle, max);
- ihandle = largestTaskHandleHelper(t.getChildren());
- max = Math.max(ihandle, max);
- }
- return max;
- }
-
- public List<Object> getRoots() {
- List<Object> roots = new ArrayList<Object>();
- for (ITask t : rootTasks) roots.add(t);
- for (ITaskListCategory cat : categories) roots.add(cat);
- for (IQuery query : queries) roots.add(query);
- return roots;
- }
-
- public List<TaskCategory> getTaskCategories() {
- List<TaskCategory> cats = new ArrayList<TaskCategory>();
- for (ITaskListCategory cat : categories) {
- if (cat instanceof TaskCategory) {
- cats.add((TaskCategory)cat);
- }
- }
- return cats;
- }
-
- public void clear() {
- activeTasks.clear();
- categories.clear();
- rootTasks.clear();
- }
- public void clearActiveTasks() {
- for (ITask task : activeTasks) {
- task.setActive(false, false);
- }
- activeTasks.clear();
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java
deleted file mode 100644
index 797e5f328..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExtensionReader.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.IContextEditorFactory;
-import org.eclipse.mylar.tasklist.ITaskActivationListener;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.ITaskListDynamicSubMenuContributor;
-import org.eclipse.mylar.tasklist.ITaskListExternalizer;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-
-/**
- * @author Shawn Minto
- */
-public class TaskListExtensionReader {
-
- public static final String EXTENSION_TASK_CONTRIBUTOR = "org.eclipse.mylar.tasklist.providers";
- public static final String TASK_HANDLER_ELEMENT = "taskHandler";
- public static final String EXTERNALIZER_CLASS_ID = "externalizerClass";
- public static final String ACTION_CONTRIBUTOR_CLASS_ID = "taskHandlerClass";
- public static final String TASK_LISTENER_ELEMENT = "taskListener";
- public static final String TASK_LISTENER_CLASS_ID = "class";
- public static final String DYNAMIC_POPUP_ELEMENT = "dynamicPopupMenu";
- public static final String DYNAMIC_POPUP_CLASS_ID = "class";
-
- public static final String EXTENSION_EDITORS = "org.eclipse.mylar.tasklist.editors";
- public static final String EDITOR_FACTORY = "editorFactory";
- public static final String EDITOR_FACTORY_CLASS = "class";
-
- private static boolean extensionsRead = false;
- private static TaskListExtensionReader thisReader = new TaskListExtensionReader();
-
- // read the extensions and load the required plugins
- public static void initExtensions(List<ITaskListExternalizer> externalizers, DefaultTaskListExternalizer defaultExternalizer) {
- // code from "contributing to eclipse" with modifications for deprecated code
- if(!extensionsRead){
- IExtensionRegistry registry = Platform.getExtensionRegistry();
- IExtensionPoint extensionPoint = registry.getExtensionPoint(EXTENSION_TASK_CONTRIBUTOR);
- IExtension[] extensions = extensionPoint.getExtensions();
- for(int i = 0; i < extensions.length; i++){
- IConfigurationElement[] elements = extensions[i].getConfigurationElements();
- for(int j = 0; j < elements.length; j++){
- if(elements[j].getName().compareTo(TASK_HANDLER_ELEMENT) == 0){
- readTaskHandler(elements[j], externalizers);
- } else if(elements[j].getName().compareTo(TASK_LISTENER_ELEMENT) == 0){
- readTaskListener(elements[j]);
- } else if(elements[j].getName().compareTo(DYNAMIC_POPUP_ELEMENT) == 0){
- readDynamicPopupContributor(elements[j]);
- }
- }
- }
-
- IExtensionPoint editorsExtensionPoint = registry.getExtensionPoint(EXTENSION_EDITORS);
- IExtension[] editors = editorsExtensionPoint.getExtensions();
- for(int i = 0; i < editors.length; i++){
- IConfigurationElement[] elements = editors[i].getConfigurationElements();
- for(int j = 0; j < elements.length; j++){
- if(elements[j].getName().compareTo(EDITOR_FACTORY) == 0){
- readEditorFactory(elements[j]);
- }
- }
- }
- defaultExternalizer.setExternalizers(externalizers);
- extensionsRead = true;
- }
- }
-
- private static void readEditorFactory(IConfigurationElement element) {
- try {
- Object editor = element.createExecutableExtension(EDITOR_FACTORY_CLASS);
- if (editor instanceof IContextEditorFactory) {
- MylarTasklistPlugin.getDefault().addContextEditor((IContextEditorFactory)editor);
- } else {
- MylarPlugin.log("Could not load editor: " + editor.getClass().getCanonicalName() + " must implement " + IContextEditorFactory.class.getCanonicalName(), thisReader);
- }
- } catch (CoreException e){
- MylarPlugin.log(e, "Could not load tasklist listener extension");
- }
- }
-
- private static void readTaskListener(IConfigurationElement element) {
- try{
- Object taskListener = element.createExecutableExtension(TASK_LISTENER_CLASS_ID);
- if (taskListener instanceof ITaskActivationListener) {
- MylarTasklistPlugin.getDefault().addTaskListListener((ITaskActivationListener) taskListener);
- } else {
- MylarPlugin.log("Could not load tasklist listener: " + taskListener.getClass().getCanonicalName() + " must implement " + ITaskActivationListener.class.getCanonicalName(), thisReader);
- }
- } catch (CoreException e){
- MylarPlugin.log(e, "Could not load tasklist listener extension");
- }
- }
-
- private static void readDynamicPopupContributor(IConfigurationElement element) {
- try{
- Object dynamicPopupContributor = element.createExecutableExtension(DYNAMIC_POPUP_CLASS_ID);
- if (dynamicPopupContributor instanceof ITaskListDynamicSubMenuContributor) {
- MylarTasklistPlugin.getDefault().addDynamicPopupContributor((ITaskListDynamicSubMenuContributor) dynamicPopupContributor);
- } else {
- MylarPlugin.log("Could not load dyanmic popup menu: " + dynamicPopupContributor.getClass().getCanonicalName() + " must implement " + ITaskListDynamicSubMenuContributor.class.getCanonicalName(), thisReader);
- }
- } catch (CoreException e){
- MylarPlugin.log(e, "Could not load dynamic popup extension");
- }
- }
-
- private static void readTaskHandler(IConfigurationElement element, List<ITaskListExternalizer> externalizers) {
- try{
- Object externalizer = element.createExecutableExtension(EXTERNALIZER_CLASS_ID);
- if (externalizer instanceof ITaskListExternalizer) {
- externalizers.add((ITaskListExternalizer) externalizer);
- } else {
- MylarPlugin.log("Could not load externalizer: " + externalizer.getClass().getCanonicalName() + " must implement " + ITaskListExternalizer.class.getCanonicalName(), thisReader);
- }
-
- Object taskHandler = element.createExecutableExtension(ACTION_CONTRIBUTOR_CLASS_ID);
- if (taskHandler instanceof ITaskHandler) {
- MylarTasklistPlugin.getDefault().addTaskHandler((ITaskHandler) taskHandler);
-
- }else {
- MylarPlugin.log("Could not load contributor: " + taskHandler.getClass().getCanonicalName() + " must implement " + ITaskHandler.class.getCanonicalName(), thisReader);
- }
- } catch (CoreException e){
- MylarPlugin.log(e, "Could not load task handler extension");
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExternalizer.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExternalizer.java
deleted file mode 100644
index 298066a82..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListExternalizer.java
+++ /dev/null
@@ -1,888 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.ITaskListExternalizer;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda
- */
-public class TaskListExternalizer {
-
- private List<ITaskListExternalizer> externalizers = new ArrayList<ITaskListExternalizer>();
- private DefaultTaskListExternalizer defaultExternalizer = new DefaultTaskListExternalizer();
-
- private String readVersion = "";
- private boolean hasCaughtException = false;
-
- public void initExtensions() {
- TaskListExtensionReader.initExtensions(externalizers, defaultExternalizer);
- }
-
- public void removeExternalizer(ITaskListExternalizer externalizer) {
- externalizers.remove(externalizer);
- }
-
- public void writeTaskList(TaskList tlist, File outFile) {
- initExtensions();
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db;
- Document doc = null;
-
- try {
- db = dbf.newDocumentBuilder();
- doc = db.newDocument();
- } catch (ParserConfigurationException e) {
- MylarPlugin.log(e, "could not create document");
- e.printStackTrace();
- }
-
- Element root = doc.createElement("TaskList");
- root.setAttribute("Version", "1.0.1");
-
- for (ITaskListExternalizer externalizer : externalizers) {
- externalizer.createRegistry(doc, root);
- }
-
- for (ITaskListCategory category : tlist.getCategories()) {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(category))
- element = externalizer.createCategoryElement(category, doc, root);
- }
- if (element == null && defaultExternalizer.canCreateElementFor(category)) {
- defaultExternalizer.createCategoryElement(category, doc, root);
- } else if(element == null){
- MylarPlugin.log("Did not externalize: " + category, this);
- }
- }
-
- for (IQuery query: tlist.getQueries()) {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(query)) element = externalizer.createQueryElement(query, doc, root);
- }
- if (element == null && defaultExternalizer.canCreateElementFor(query)) {
- defaultExternalizer.createQueryElement(query, doc, root);
- } else if(element == null){
- MylarPlugin.log("Did not externalize: " + query, this);
- }
- }
-
- for (ITask task : tlist.getRootTasks()) {
- try {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(task)) element = externalizer.createTaskElement(task, doc, root);
- }
- if (element == null && defaultExternalizer.canCreateElementFor(task)) {
- defaultExternalizer.createTaskElement(task, doc, root);
- } else if(element == null){
- MylarPlugin.log("Did not externalize: " + task, this);
- }
- }catch (Exception e) {
- MylarPlugin.log(e, e.getMessage());
- }
- }
- doc.appendChild(root);
- writeDOMtoFile(doc, outFile);
- return;
- }
-
- /**
- * Writes an XML file from a DOM.
- *
- * doc - the document to write
- * file - the file to be written to
- */
- private void writeDOMtoFile(Document doc, File file) {
- try {
- // A file output stream is an output stream for writing data to a File
- //
- OutputStream outputStream = new FileOutputStream(file);
- writeDOMtoStream(doc, outputStream);
- outputStream.flush();
- outputStream.close();
- } catch (Exception fnfe) {
- MylarPlugin.log(fnfe, "Tasklist could not be found");
- }
- }
-
- /**
- * Writes the provided XML document out to the specified output stream.
- *
- * doc - the document to be written
- * outputStream - the stream to which the document is to be written
- */
- private void writeDOMtoStream(Document doc, OutputStream outputStream) {
- // Prepare the DOM document for writing
- // DOMSource - Acts as a holder for a transformation Source tree in the
- // form of a Document Object Model (DOM) tree
- //
- Source source = new DOMSource(doc);
-
- // StreamResult - Acts as an holder for a XML transformation result
- // Prepare the output stream
- //
- Result result = new StreamResult(outputStream);
-
- // An instance of this class can be obtained with the
- // TransformerFactory.newTransformer method. This instance may
- // then be used to process XML from a variety of sources and write
- // the transformation output to a variety of sinks
- //
-
- Transformer xformer = null;
- try {
- xformer = TransformerFactory.newInstance().newTransformer();
- //Transform the XML Source to a Result
- //
- xformer.transform(source, result);
- } catch (TransformerConfigurationException e) {
- e.printStackTrace();
- } catch (TransformerFactoryConfigurationError e) {
- e.printStackTrace();
- } catch (TransformerException e1) {
- e1.printStackTrace();
- }
- }
-
- public void readTaskList(TaskList tlist, File inFile) {
- initExtensions();
- MylarTasklistPlugin.getDefault().restoreTaskHandlerState();
- hasCaughtException = false;
- try {
- // parse file
- //
- if (!inFile.exists())
- return;
- Document doc = openAsDOM(inFile);
- if (doc == null) {
- handleException(inFile, null, new MylarExternalizerException("Tasklist was not well formed XML"));
- return;
- }
- // read root node to get version number
- //
- Element root = doc.getDocumentElement();
- readVersion = root.getAttribute("Version");
-
- if (readVersion.equals("1.0.0")) {
- MylarPlugin.log("version: " + readVersion + " not supported", this);
-// NodeList list = root.getChildNodes();
-// for (int i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// readTasksToNewFormat(child, tlist);
-// //tlist.addRootTask(readTaskAndSubTasks(child, null, tlist));
-// }
- } else {
- NodeList list = root.getChildNodes();
- for (int i = 0; i < list.getLength(); i++) {
- Node child = list.item(i);
- boolean wasRead = false;
- try {
- if (child.getNodeName().endsWith(DefaultTaskListExternalizer.TAG_CATEGORY)) {
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canReadCategory(child)) {
- externalizer.readCategory(child, tlist);
- wasRead = true;
- break;
- }
- }
- if (!wasRead && defaultExternalizer.canReadCategory(child)) {
- defaultExternalizer.readCategory(child, tlist);
- } else {
- // MylarPlugin.log("Did not read: " +
- // child.getNodeName(), this);
- }
- } else if (child.getNodeName().endsWith(DefaultTaskListExternalizer.TAG_QUERY)) {
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canReadQuery(child)) {
- externalizer.readQuery(child, tlist);
- wasRead = true;
- break;
- }
- }
- if (!wasRead && defaultExternalizer.canReadCategory(child)) {
- defaultExternalizer.readQuery(child, tlist);
- } else {
- // MylarPlugin.log("Did not read: " +
- // child.getNodeName(), this);
- }
- }else {
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canReadTask(child)) {
- // TODO add the tasks properly
- ITask newTask = externalizer.readTask(child, tlist, null, null);
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(newTask);
- if(taskHandler != null){
- newTask = taskHandler.taskAdded(newTask);
- }
- tlist.internalAddRootTask(newTask);
-
- wasRead = true;
- break;
- }
- }
- if (!wasRead && defaultExternalizer.canReadTask(child)) {
- tlist.internalAddRootTask(defaultExternalizer.readTask(child, tlist, null, null));
- } else {
- // MylarPlugin.log("Did not read: " + child.getNodeName(), this);
- }
- }
- } catch (Exception e) {
- handleException(inFile, child, e);
- }
- }
- }
- } catch (Exception e) {
- handleException(inFile, null, e);
- }
- if (hasCaughtException) {
- // if exception was caught, write out the new task file, so that it doesn't happen again.
- // this is OK, since the original (corrupt) tasklist is saved.
- // TODO: The problem with this is that if the orignal tasklist has tasks and bug reports, but a
- // task is corrupted, the new tasklist that is written will not include the bug reports (since the
- // bugzilla externalizer is not loaded. So there is a potentila that we can lose bug reports.
- writeTaskList(tlist, inFile);
- }
- MylarTasklistPlugin.getDefault().restoreTaskHandlerState();
- }
-
- /**
- * Opens the specified XML file and parses it into a DOM Document.
- *
- * Filename - the name of the file to open
- * Return - the Document built from the XML file
- * Throws - XMLException if the file cannot be parsed as XML
- * - IOException if the file cannot be opened
- */
- private Document openAsDOM(File inputFile) throws IOException {
-
- // A factory API that enables applications to obtain a parser
- // that produces DOM object trees from XML documents
- //
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
- // Using DocumentBuilder, obtain a Document from XML file.
- //
- DocumentBuilder builder = null;
- Document document = null;
- try {
- // create new instance of DocumentBuilder
- //
- builder = factory.newDocumentBuilder();
- } catch (ParserConfigurationException pce) {
- inputFile.renameTo(new File(inputFile.getName() + "save.xml"));
- MylarPlugin.log(pce, "Failed to load XML file");
- }
- try {
- // Parse the content of the given file as an XML document
- // and return a new DOM Document object. Also throws IOException
- document = builder.parse(inputFile);
- } catch (SAXException se) {
- File backup = new File(MylarTasklistPlugin.getDefault().getBackupFilePath());
- String message = "Restoring the tasklist failed. Would you like to attempt to restore from the backup?\n\nTasklist XML File location: " + inputFile.getAbsolutePath() + "\n\nBackup tasklist XML file location: " + backup.getAbsolutePath();
- if(backup.exists() && MessageDialog.openQuestion(null, "Restore From Backup", message)){
- try {
- document = builder.parse(backup);
- MylarTasklistPlugin.getDefault().reverseBackup();
- } catch (SAXException s) {
- inputFile.renameTo(new File(inputFile.getName() + "save.xml"));
- MylarPlugin.log(s, "Failed to recover from backup restore");
- }
- }
- }
- return document;
- }
-
- private void handleException(File inFile, Node child, Exception e) {
- hasCaughtException = true;
- String name = inFile.getAbsolutePath();
- name = name.substring(0, name.lastIndexOf('.')) + "-save1.xml";
- File save = new File(name);
- int i = 2;
- while(save.exists()) {
- name = name.substring(0, name.lastIndexOf('.')-1) + i + ".xml";
- save = new File(name);
- i++;
- }
- if (!copy(inFile, save)) {
- inFile.renameTo(new File(name));
- }
- if (child == null) {
- MylarPlugin.log(e, "Could not read task list");
- } else {
- MylarPlugin.log(e, "Tasks may have been lost from " + child.getNodeName());
- }
- }
- private boolean copy(File src, File dst) {
- try {
- InputStream in = new FileInputStream(src);
- OutputStream out = new FileOutputStream(dst);
-
- // Transfer bytes from in to out
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- in.close();
- out.close();
- return true;
- } catch (IOException ioe) {
- return false;
- }
- }
-
-
-
-
-
-
-
-
- /*
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- */
-
-
-
-
-
-
-
- private Document openAsDOM(String input) throws IOException {
-
- // A factory API that enables applications to obtain a parser
- // that produces DOM object trees from XML documents
- //
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
- // Using DocumentBuilder, obtain a Document from XML file.
- //
- DocumentBuilder builder = null;
- Document document = null;
- try {
- // create new instance of DocumentBuilder
- //
- builder = factory.newDocumentBuilder();
- } catch (ParserConfigurationException pce) {
- MylarPlugin.log(pce, "Failed to load XML file");
- }
- try {
- // Parse the content of the given file as an XML document
- // and return a new DOM Document object. Also throws IOException
- StringReader s = new StringReader(input);
- InputSource in = new InputSource(s);
- document = builder.parse(in);
- } catch (SAXException se) {
- MylarPlugin.log(se, "Failed to parse XML file");
- }
- return document;
- }
-
- public void readTaskList(TaskList tlist, String input) {
- initExtensions();
- try {
-
- Document doc = openAsDOM(input);
- if (doc == null) {
- return;
- }
- // read root node to get version number
- //
- Element root = doc.getDocumentElement();
- readVersion = root.getAttribute("Version");
-
- if (readVersion.equals("1.0.0")) {
- MylarPlugin.log("version: " + readVersion + " not supported", this);
-// NodeList list = root.getChildNodes();
-// for (int i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// readTasksToNewFormat(child, tlist);
-// //tlist.addRootTask(readTaskAndSubTasks(child, null, tlist));
-// }
- } else {
- NodeList list = root.getChildNodes();
- for (int i = 0; i < list.getLength(); i++) {
- Node child = list.item(i);
- boolean wasRead = false;
- try {
- if (child.getNodeName().endsWith(DefaultTaskListExternalizer.TAG_CATEGORY)) {
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canReadCategory(child)) {
- externalizer.readCategory(child, tlist);
- wasRead = true;
- break;
- }
- }
- if (!wasRead && defaultExternalizer.canReadCategory(child)) {
- defaultExternalizer.readCategory(child, tlist);
- } else {
- // MylarPlugin.log("Did not read: " +
- // child.getNodeName(), this);
- }
- } else {
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canReadTask(child)) {
- // TODO add the tasks properly
- ITask newTask = externalizer.readTask(child, tlist, null, null);
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(newTask);
- if(taskHandler != null){
- newTask = taskHandler.taskAdded(newTask);
- }
- tlist.internalAddRootTask(newTask);
-
- wasRead = true;
- break;
- }
- }
- if (!wasRead && defaultExternalizer.canReadTask(child)) {
- tlist.internalAddRootTask(defaultExternalizer.readTask(child, tlist, null, null));
- } else {
- // MylarPlugin.log("Did not read: " + child.getNodeName(), this);
- }
- }
- } catch (Exception e) {
- MylarPlugin.log(e, "can't read xml string");
- }
- }
- }
- } catch (Exception e) {
- MylarPlugin.log(e, "can't read xml string");
- }
- }
-
- public String getTaskListXml(TaskList tlist) {
- // TODO make this and writeTaskList use the same base code
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db;
- Document doc = null;
-
- try {
- db = dbf.newDocumentBuilder();
- doc = db.newDocument();
- } catch (ParserConfigurationException e) {
- MylarPlugin.log(e, "could not create document");
- e.printStackTrace();
- }
-
- Element root = doc.createElement("TaskList");
- root.setAttribute("Version", "1.0.1");
-
- for (ITaskListExternalizer externalizer : externalizers) {
- externalizer.createRegistry(doc, root);
- }
-
- for (ITaskListCategory category : tlist.getCategories()) {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(category)) element = externalizer.createCategoryElement(category, doc, root);
- }
- if (element == null && defaultExternalizer.canCreateElementFor(category)) {
- defaultExternalizer.createCategoryElement(category, doc, root);
- } else if(element == null){
- MylarPlugin.log("Did not externalize: " + category, this);
- }
- }
- for (ITask task : tlist.getRootTasks()) {
- try {
- Element element = null;
- for (ITaskListExternalizer externalizer : externalizers) {
- if (externalizer.canCreateElementFor(task)) element = externalizer.createTaskElement(task, doc, root);
- }
- if (element == null && defaultExternalizer.canCreateElementFor(task)) {
- defaultExternalizer.createTaskElement(task, doc, root);
- } else if(element == null){
- MylarPlugin.log("Did not externalize: " + task, this);
- }
- }catch (Exception e) {
- MylarPlugin.log(e, e.getMessage());
- }
- }
- doc.appendChild(root);
- StringWriter sw = new StringWriter();
-
- Source source = new DOMSource(doc);
-
- Result result = new StreamResult(sw);
-
- Transformer xformer = null;
- try {
- xformer = TransformerFactory.newInstance().newTransformer();
- //Transform the XML Source to a Result
- //
- xformer.transform(source, result);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return sw.toString();
- }
-
-
-// private static ITask readTaskAndSubTasks(Node node, ITask root, TaskList
-// tlist) {
-// //extract node and create new sub task
-// //
-// Element e = (Element) node;
-// ITask t;
-// String handle = "";
-// if (e.hasAttribute("ID")) {
-// handle = e.getAttribute("ID");
-// } else {
-// handle = e.getAttribute("Handle");
-// }
-//
-// String label = e.getAttribute("Label");
-// String priority = e.getAttribute("Priority");
-//
-// if (e.getAttribute("Bugzilla").compareTo("true") == 0) {
-// t = new BugzillaTask(handle, label, true);
-// BugzillaTask bt = (BugzillaTask) t;
-// bt.setState(BugTaskState.FREE);
-// bt.setLastRefresh(new Date(new Long(e.getAttribute("LastDate"))
-// .longValue()));
-// if (e.getAttribute("Dirty").compareTo("true") == 0) {
-// bt.setDirty(true);
-// } else {
-// bt.setDirty(false);
-// }
-// if (bt.readBugReport() == false) {
-// MylarPlugin.log("Failed to read bug report", null);
-// }
-// } else {
-// t = new Task(handle, label);
-// }
-// t.setPriority(priority);
-// t.setPath(e.getAttribute("Path"));
-//
-// if (e.getAttribute("Active").compareTo("true") == 0) {
-// t.setActive(true);
-// tlist.setActive(t, true);
-// } else {
-// t.setActive(false);
-// }
-//
-// if (e.getAttribute("Complete").compareTo("true") == 0) {
-// t.setCompleted(true);
-// } else {
-// t.setCompleted(false);
-// }
-// if (e.getAttribute("IsCategory").compareTo("true") == 0) {
-// t.setIsCategory(true);
-// } else {
-// t.setIsCategory(false);
-// }
-//
-// if (e.hasAttribute("Notes")) {
-// t.setNotes(e.getAttribute("Notes"));
-// } else {
-// t.setNotes("");
-// }
-// if (e.hasAttribute("Elapsed")) {
-// t.setElapsedTime(e.getAttribute("Elapsed"));
-// } else {
-// t.setElapsedTime("");
-// }
-// if (e.hasAttribute("Estimated")) {
-// t.setEstimatedTime(e.getAttribute("Estimated"));
-// } else {
-// t.setEstimatedTime("");
-// }
-//
-// int i = 0;
-// while (e.hasAttribute("link"+i)) {
-// t.getRelatedLinks().add(e.getAttribute("link"+i));
-// i++;
-// }
-//
-// if (!readVersion.equals("1.0.0")) {
-// // for newer revisions
-// }
-//
-// i = 0;
-// NodeList list = e.getChildNodes();
-// for (i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// t.addSubTask(readTaskAndSubTasks(child, t, tlist));
-// }
-// if (root != null) {
-// t.setParent(root);
-// }
-// return t;
-// }
-
-// private void readTaskCategory(Node node, TaskList tlist) {
-// Element e = (Element) node;
-// TaskCategory cat = new TaskCategory(e.getAttribute("Name"));
-// tlist.addCategory(cat);
-// NodeList list = node.getChildNodes();
-// for (int i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// cat.addTask(readTask(child, tlist, cat, null));
-// }
-// }
-
-
-// private ITask readTask(Node node, TaskList tlist, TaskCategory cat, ITask parent) {
-// Element e = (Element) node;
-// ITask t;
-// String handle = e.getAttribute("Handle");
-// String label = e.getAttribute("Label");
-// String priority = e.getAttribute("Priority");
-//
-//
-// } else {
-// t = new Task(handle, label);
-// }
-// t.setPriority(priority);
-// t.setPath(e.getAttribute("Path"));
-//
-// if (e.getAttribute("Active").compareTo("true") == 0) {
-// t.setActive(true);
-// tlist.setActive(t, true);
-// } else {
-// t.setActive(false);
-// }
-// if (e.getAttribute("Complete").compareTo("true") == 0) {
-// t.setCompleted(true);
-// } else {
-// t.setCompleted(false);
-// }
-// if (e.hasAttribute("Notes")) {
-// t.setNotes(e.getAttribute("Notes"));
-// } else {
-// t.setNotes("");
-// }
-// if (e.hasAttribute("Elapsed")) {
-// t.setElapsedTime(e.getAttribute("Elapsed"));
-// } else {
-// t.setElapsedTime("");
-// }
-// if (e.hasAttribute("Estimated")) {
-// t.setEstimatedTime(e.getAttribute("Estimated"));
-// } else {
-// t.setEstimatedTime("");
-// }
-//
-// int i = 0;
-// while (e.hasAttribute("link"+i)) {
-// t.getRelatedLinks().add(e.getAttribute("link"+i));
-// i++;
-// }
-// t.setCategory(cat);
-// t.setParent(parent);
-// NodeList list = e.getChildNodes();
-// for (i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// t.addSubTask(readTask(child, tlist, null, t));
-// }
-// return t;
-// }
-
-// private void readTasksToNewFormat(Node node, TaskList tlist) {
-// Element e = (Element) node;
-// ITask t;
-// String handle = e.getAttribute("Handle");
-// String label = e.getAttribute("Label");
-//
-// if (e.getAttribute("IsCategory").compareTo("true") == 0) {
-// TaskCategory c = new TaskCategory(label);
-// NodeList list = e.getChildNodes();
-// for (int i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// readSubTasksToNewFormat(child, tlist, c);
-// }
-// tlist.addCategory(c);
-// } else {
-// String priority = e.getAttribute("Priority");
-// if (e.getAttribute("Bugzilla").compareTo("true") == 0) {
-// t = new BugzillaTask(handle, label, true);
-// BugzillaTask bt = (BugzillaTask) t;
-// bt.setState(BugTaskState.FREE);
-// bt.setLastRefresh(new Date(new Long(e.getAttribute("LastDate"))
-// .longValue()));
-// if (e.getAttribute("Dirty").compareTo("true") == 0) {
-// bt.setDirty(true);
-// } else {
-// bt.setDirty(false);
-// }
-// if (bt.readBugReport() == false) {
-// MylarPlugin.log("Failed to read bug report", null);
-// }
-// } else {
-// t = new Task(handle, label);
-// }
-// t.setPriority(priority);
-// t.setPath(e.getAttribute("Path"));
-// t.setNotes(e.getAttribute("Notes"));
-// t.setElapsedTime(e.getAttribute("Elapsed"));
-// t.setEstimatedTime(e.getAttribute("Estimated"));
-//
-// if (e.getAttribute("Active").compareTo("true") == 0) {
-// t.setActive(true);
-// tlist.setActive(t, true);
-// } else {
-// t.setActive(false);
-// }
-// if (e.getAttribute("Complete").compareTo("true") == 0) {
-// t.setCompleted(true);
-// } else {
-// t.setCompleted(false);
-// }
-//
-// int i = 0;
-// while (e.hasAttribute("link" + i)) {
-// t.getRelatedLinks().add(e.getAttribute("link" + i));
-// i++;
-// }
-// tlist.addRootTask(t);
-// i = 0;
-// NodeList list = e.getChildNodes();
-// for (i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// readSubTasksToNewFormat(child, tlist, null);
-// }
-// }
-// }
-// private void readSubTasksToNewFormat(Node node, TaskList tlist, TaskCategory cat) {
-// Element e = (Element) node;
-// ITask t;
-// String handle = e.getAttribute("Handle");
-// String label = e.getAttribute("Label");
-// String priority = e.getAttribute("Priority");
-// if (e.getAttribute("Bugzilla").compareTo("true") == 0) {
-// t = new BugzillaTask(handle, label, true);
-// BugzillaTask bt = (BugzillaTask) t;
-// bt.setState(BugTaskState.FREE);
-// bt.setLastRefresh(new Date(new Long(e.getAttribute("LastDate"))
-// .longValue()));
-// if (e.getAttribute("Dirty").compareTo("true") == 0) {
-// bt.setDirty(true);
-// } else {
-// bt.setDirty(false);
-// }
-// if (bt.readBugReport() == false) {
-// MylarPlugin.log("Failed to read bug report", null);
-// }
-// } else {
-// t = new Task(handle, label);
-// }
-// t.setPriority(priority);
-// t.setPath(e.getAttribute("Path"));
-// t.setNotes(e.getAttribute("Notes"));
-// t.setElapsedTime(e.getAttribute("Elapsed"));
-// t.setEstimatedTime(e.getAttribute("Estimated"));
-//
-// if (e.getAttribute("Active").compareTo("true") == 0) {
-// t.setActive(true);
-// tlist.setActive(t, true);
-// } else {
-// t.setActive(false);
-// }
-// if (e.getAttribute("Complete").compareTo("true") == 0) {
-// t.setCompleted(true);
-// } else {
-// t.setCompleted(false);
-// }
-//
-// int i = 0;
-// while (e.hasAttribute("link" + i)) {
-// t.getRelatedLinks().add(e.getAttribute("link" + i));
-// i++;
-// }
-// if (cat == null) {
-// tlist.addRootTask(t);
-// } else {
-// cat.addTask(t);
-// t.setCategory(cat);
-// }
-//
-// i = 0;
-// NodeList list = e.getChildNodes();
-// for (i = 0; i < list.getLength(); i++) {
-// Node child = list.item(i);
-// readSubTasksToNewFormat(child, tlist, cat);
-// }
-// }
-}
-
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListPatternFilter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListPatternFilter.java
deleted file mode 100644
index 2c830c402..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskListPatternFilter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-import org.eclipse.ui.internal.dialogs.PatternFilter;
-
-public class TaskListPatternFilter extends PatternFilter {
-
- @Override
- public void setPattern(String patternString) {
- if(patternString == null || patternString.startsWith("*")) {
- super.setPattern(patternString);
- } else {
- super.setPattern("*" + patternString);
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskPriorityFilter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskPriorityFilter.java
deleted file mode 100644
index 1e670ce46..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/TaskPriorityFilter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.internal;
-
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskFilter;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-
-/**
- * @author Ken Sueda
- */
-public class TaskPriorityFilter implements ITaskFilter {
-
- private String priorityLevel = "P5";
-
- public TaskPriorityFilter() {
- displayPrioritiesAbove(MylarTasklistPlugin.getPriorityLevel());
- }
-
- public void displayPrioritiesAbove(String p) {
- priorityLevel = p;
- }
- public boolean select(Object element) {
-// System.out.println("Priority: " + priorityLevel);
- if (element instanceof ITaskListElement) {
- if(element instanceof IQueryHit && ((IQueryHit)element).hasCorrespondingActivatableTask()){
- element = ((IQueryHit)element).getOrCreateCorrespondingTask();
- }
-
- if (element instanceof ITask && ((ITask)element).isActive()) {
- return true;
- }
- if (!((ITaskListElement)element).getPriority().startsWith("P")) {
- return true;
- }
- if (priorityLevel.compareTo(((ITaskListElement)element).getPriority()) >= 0) {
- return true;
- }
- return false;
- }
- return false;
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/CompletedTaskCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/CompletedTaskCollector.java
deleted file mode 100644
index 41421a970..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/CompletedTaskCollector.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.internal;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public class CompletedTaskCollector implements ITasksCollector {
-
- private Map<String, ITask> completedTasks = new HashMap<String, ITask>();
- private Date cutOffDate = null;
- private long DAY = 24*3600*1000;
-
- public CompletedTaskCollector(int prevDays) {
- cutOffDate = new Date(new Date().getTime() - prevDays * DAY);
- }
-
- public String getLabel() {
- return "Completed Tasks";
- }
-
- public void consumeTask(ITask task) {
- if (task.isCompleted() && task.getEndDate() != null && task.getEndDate().compareTo(cutOffDate) > 0 && !completedTasks.containsKey(task.getHandle())) {
- completedTasks.put(task.getHandle(), task);
- }
- }
-
- public Collection<ITask> getTasks() {
- return completedTasks.values();
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ITasksCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ITasksCollector.java
deleted file mode 100644
index 663588735..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ITasksCollector.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.internal;
-
-import java.util.Collection;
-
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public interface ITasksCollector {
-
- public abstract void consumeTask(ITask task);
-
- public abstract Collection<ITask> getTasks();
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ReminderRequiredCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ReminderRequiredCollector.java
deleted file mode 100644
index ce8697522..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/ReminderRequiredCollector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.internal;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public class ReminderRequiredCollector implements ITasksCollector {
-
- private List<ITask> tasks = new ArrayList<ITask>();
- private Date curr = null;
-
- public ReminderRequiredCollector() {
- curr = new Date();
- }
-
- public void consumeTask(ITask task) {
- if (task.getReminderDate() != null && !task.hasBeenReminded() && task.getReminderDate().compareTo(curr) < 0) {
- task.setReminded(true);
- tasks.add(task);
- }
- }
-
- public List<ITask> getTasks() {
- return tasks;
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/TaskReportGenerator.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/TaskReportGenerator.java
deleted file mode 100644
index 449f72b7d..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/internal/TaskReportGenerator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.internal.TaskList;
-
-/**
- * @author Ken Sueda
- */
-public class TaskReportGenerator {
- // NOTE: might want a map of tasks instead of a flattened list of tasks
-
- private List<ITasksCollector> collectors = new ArrayList<ITasksCollector>();
- private List<ITask> tasks = new ArrayList<ITask>();
- private TaskList tasklist = null;
-
- public TaskReportGenerator(TaskList tlist) {
- tasklist = tlist;
- }
-
- public void addCollector(ITasksCollector collector) {
- collectors.add(collector);
- }
-
- private void getTasksForReport() {
- List<ITask> roots = tasklist.getRootTasks();
- for(int i = 0; i < roots.size(); i++) {
- ITask t = (ITask) roots.get(i);
- for (ITasksCollector collector : collectors) {
- collector.consumeTask(t);
- }
- }
- for (TaskCategory cat : tasklist.getTaskCategories()) {
- List<? extends ITaskListElement> sub = cat.getChildren();
- for (int j = 0; j < sub.size(); j++) {
- if (sub.get(j) instanceof ITask) {
- ITask element = (ITask) sub.get(j);
- for (ITasksCollector collector : collectors) {
- collector.consumeTask(element);
- }
- }
- }
- }
-
- // TODO need to support handling things in the bugzilla registry
- for (ITasksCollector collector : collectors) {
- tasks.addAll(collector.getTasks());
- }
- }
-
- public void checkTasks() {
- getTasksForReport();
- }
-
- public List<ITask> getTasks() {
- return tasks;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksContentProvider.java
deleted file mode 100644
index 181ce70ea..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksContentProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public class CompletedTasksContentProvider implements IStructuredContentProvider {
-
- private List<ITask> tasks = null;
-
- public CompletedTasksContentProvider(List<ITask> tasks) {
- this.tasks = tasks;
- }
- public Object[] getElements(Object inputElement) {
- return tasks.toArray();
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksEditorInput.java
deleted file mode 100644
index 201480193..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksEditorInput.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.internal.TaskList;
-import org.eclipse.mylar.tasklist.planner.internal.CompletedTaskCollector;
-import org.eclipse.mylar.tasklist.planner.internal.TaskReportGenerator;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * @author Ken Sueda
- */
-public class CompletedTasksEditorInput implements IEditorInput {
- private List<ITask> completedTasks = null;
- private TaskReportGenerator parser = null;
-
- public CompletedTasksEditorInput(int prevDays, TaskList tlist) {
- parser = new TaskReportGenerator(tlist);
- parser.addCollector(new CompletedTaskCollector(prevDays));
- parser.checkTasks();
- completedTasks = parser.getTasks();
- }
-
- /**
- * IEditorInput interface methods
- */
- public boolean exists() {
- return true;
- }
-
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- public String getName() {
- return "Task Planner";
- }
-
- public IPersistableElement getPersistable() {
- return null;
- }
-
- public String getToolTipText() {
- return "Planning Game Report";
- }
-
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /**
- * Methods
- */
- public List<ITask> getTasks() {
- return completedTasks;
- }
-
- public int getListSize() {
- return completedTasks.size();
- }
- public long getTotalTimeSpent() {
- long duration = 0;
- for(ITask t : completedTasks) {
- duration += t.getElapsedTimeLong();
- }
- return duration;
- }
-
- public TaskReportGenerator getReportGenerator() {
- return parser;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksLabelProvider.java
deleted file mode 100644
index 46e0a2496..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksLabelProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author Ken Sueda
- */
-public class CompletedTasksLabelProvider extends LabelProvider implements
- ITableLabelProvider {
-
- //private String[] columnNames = new String[] { "Description", "Priority", "Date Completed", "Duration"};
- public Image getColumnImage(Object element, int columnIndex) {
- if (! (element instanceof ITaskListElement)) {
- return null;
- }
- if (columnIndex == 0) {
- return ((ITaskListElement)element).getIcon();
- } else {
- return null;
- }
- }
-
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof ITask) {
- ITask task = (ITask) element;
- switch(columnIndex) {
- case 1:
- return task.getDescription(true);
- case 2:
- return task.getPriority();
- case 3:
- return task.getCreationDateString();
- case 4:
- return task.getEndDateString();
- case 5:
- return task.getElapsedTimeForDisplay();
- }
- }
- return null;
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksSorter.java
deleted file mode 100644
index 66e756fd3..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/CompletedTasksSorter.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public class CompletedTasksSorter extends ViewerSorter {
- /**
- * Constructor argument values that indicate to sort items by
- * different columns.
- */
- public final static int DESCRIPTION = 1;
- public final static int PRIORITY = 2;
- public final static int CREATION_DATE = 3;
- public final static int COMPLETED_DATE = 4;
- public final static int DURATION = 5;
-
- // Criteria that the instance uses
- private int criteria;
-
- /**
- * Creates a resource sorter that will use the given sort criteria.
- *
- * @param criteria the sort criterion to use: one of <code>NAME</code> or
- * <code>TYPE</code>
- */
- public CompletedTasksSorter(int criteria) {
- super();
- this.criteria = criteria;
- }
-
- @Override
- public int compare(Viewer viewer, Object obj1, Object obj2) {
- ITask t1 = (ITask) obj1;
- ITask t2 = (ITask) obj2;
-
- switch (criteria) {
- case DESCRIPTION:
- return compareDescription(t1, t2);
- case PRIORITY:
- return comparePriority(t1, t2);
- case CREATION_DATE:
- return compareCreationDate(t1, t2);
- case COMPLETED_DATE:
- return compareCompletedDate(t1, t2);
- case DURATION:
- return compareDuration(t1, t2);
- default:
- return 0;
- }
- }
-
- private int compareDescription(ITask task1, ITask task2) {
- return task1.getDescription(false).compareTo(task2.getDescription(false));
- }
-
- private int comparePriority(ITask task1, ITask task2) {
- return task1.getPriority().compareTo(task2.getPriority());
- }
-
- private int compareCompletedDate(ITask task1, ITask task2) {
- return task2.getEndDate().compareTo(task1.getEndDate());
- }
-
- private int compareCreationDate(ITask task1, ITask task2) {
- if(task1.getCreationDate() == null)
- return 1;
- else if(task2.getCreationDate() == null)
- return -1;
- else
- return task2.getCreationDate().compareTo(task1.getCreationDate());
- }
-
- private int compareDuration(ITask task1, ITask task2) {
- return task1.getElapsedTimeLong() < task2.getElapsedTimeLong() ? 1 : -1;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerEditorPart.java
deleted file mode 100644
index e23d6c174..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerEditorPart.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import java.util.Arrays;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.ViewerDropAdapter;
-import org.eclipse.mylar.core.util.DateUtil;
-import org.eclipse.mylar.dt.MylarWebRef;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda (original prototype)
- */
-public class MylarTaskPlannerEditorPart extends EditorPart {
-
- private CompletedTasksEditorInput editorInput = null;
- private Table completedTable;
- private TableViewer completedTableViewer;
- private String[] completedColumnNames = new String[] {".", "Description", "Priority", "Date Created", "Date Completed", "Duration"};
- private Table planTable;
- private TableViewer planTableViewer;
- private PlannedTasksContentProvider contentProvider = new PlannedTasksContentProvider();
- private ReminderCellEditor reminderEditor = null;
- private String[] planColumnNames = new String[] {".", "Description", "Priority", "Estimated Time", "Reminder Date"};
- private static final String[] ESTIMATE_TIMES = new String[] {"0 Hours", "1 Hours", "2 Hours", "3 Hours","4 Hours","5 Hours","6 Hours","7 Hours","8 Hours","9 Hours","10 Hours"};
- private OpenTaskEditorAction doubleClickAction = new OpenTaskEditorAction();
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- }
-
- @Override
- public void doSaveAs() {
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public void init(IEditorSite site, IEditorInput input)
- throws PartInitException {
- setSite(site);
- setInput(input);
- editorInput = (CompletedTasksEditorInput)input;
- setPartName(editorInput.getName());
- setTitleToolTip(editorInput.getToolTipText());
- }
-
- @Override
- public boolean isDirty() {
- return false;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- ScrolledForm sform = toolkit.createScrolledForm(parent);
- sform.getBody().setLayout(new TableWrapLayout());
- Composite editorComposite = sform.getBody();
-
- createSummarySection(editorComposite, toolkit);
- createCompletedSection(editorComposite, toolkit);
- createPlannedTasksSection(editorComposite, toolkit);
- }
-
- @Override
- public void setFocus() {
- }
-
- private void createSummarySection(Composite parent, FormToolkit toolkit) {
- Section summarySection = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- summarySection.setText("Mylar Task Planner");
- summarySection.setLayout(new TableWrapLayout());
- summarySection.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- Composite summaryContainer = toolkit.createComposite(summarySection);
- summarySection.setClient(summaryContainer);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 1;
- summaryContainer.setLayout(layout);
-
- int length = editorInput.getListSize();
- String numComplete = "Number of completed tasks: " + editorInput.getListSize();
- Label label = toolkit.createLabel(summaryContainer, numComplete, SWT.NULL);
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- String avgTime = "Average time spent: ";
- if (length > 0) {
- avgTime = avgTime + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpent() / editorInput.getListSize());
- } else {
- avgTime = avgTime + 0;
- }
- label = toolkit.createLabel(summaryContainer, avgTime, SWT.NULL);
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- String totalTime = "Total time spent: " + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpent());
- label = toolkit.createLabel(summaryContainer, totalTime, SWT.NULL);
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- }
-
- private void createCompletedSection(Composite parent, FormToolkit toolkit) {
- Section detailSection = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- detailSection.setText("Completed Tasks Details");
- detailSection.setLayout(new TableWrapLayout());
- detailSection.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- Composite detailContainer = toolkit.createComposite(detailSection);
- detailSection.setClient(detailContainer);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 2;
- detailContainer.setLayout(layout);
-
- createCompletedTable(detailContainer, toolkit);
- createCompletedTableViewer();
- }
-
- private void createCompletedTable(Composite parent, FormToolkit toolkit) {
- int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
- completedTable = toolkit.createTable(parent, style );
- TableLayout tlayout = new TableLayout();
- completedTable.setLayout(tlayout);
- TableWrapData wd = new TableWrapData(TableWrapData.FILL_GRAB);
- wd.heightHint = 300;
- wd.grabVertical = true;
- completedTable.setLayoutData(wd);
-
- completedTable.setLinesVisible(true);
- completedTable.setHeaderVisible(true);
- completedTable.setEnabled(true);
-
- TableColumn column = new TableColumn(completedTable, SWT.LEFT, 0);
- column.setText(completedColumnNames[0]);
- column.setWidth(30);
-
- column = new TableColumn(completedTable, SWT.LEFT, 1);
- column.setText(completedColumnNames[1]);
- column.setWidth(300);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- completedTableViewer.setSorter(new CompletedTasksSorter(CompletedTasksSorter.DESCRIPTION));
-
- }
- });
-
- column = new TableColumn(completedTable, SWT.LEFT, 2);
- column.setText(completedColumnNames[2]);
- column.setWidth(50);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- completedTableViewer.setSorter(new CompletedTasksSorter(CompletedTasksSorter.PRIORITY));
- }
- });
-
- column = new TableColumn(completedTable, SWT.LEFT, 3);
- column.setText(completedColumnNames[3]);
- column.setWidth(170);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- completedTableViewer.setSorter(new CompletedTasksSorter(CompletedTasksSorter.CREATION_DATE));
- }
- });
-
- column = new TableColumn(completedTable, SWT.LEFT, 4);
- column.setText(completedColumnNames[4]);
- column.setWidth(170);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- completedTableViewer.setSorter(new CompletedTasksSorter(CompletedTasksSorter.COMPLETED_DATE));
- }
- });
-
-
- column = new TableColumn(completedTable, SWT.LEFT, 5);
- column.setText(completedColumnNames[5]);
- column.setWidth(100);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- completedTableViewer.setSorter(new CompletedTasksSorter(CompletedTasksSorter.DURATION));
- }
- });
- }
-
- private void createCompletedTableViewer() {
- completedTableViewer = new TableViewer(completedTable);
- completedTableViewer.setUseHashlookup(true);
- completedTableViewer.setColumnProperties(completedColumnNames);
-
- completedTableViewer.setContentProvider(new CompletedTasksContentProvider(editorInput.getTasks()));
- completedTableViewer.setLabelProvider(new CompletedTasksLabelProvider());
- completedTableViewer.setInput(editorInput);
- }
-
- private void createPlannedTasksSection(Composite parent, FormToolkit toolkit) {
- Section planSection = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- planSection.setText("Planned Tasks");
- planSection.setLayout(new TableWrapLayout());
- planSection.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- Composite planContainer = toolkit.createComposite(planSection);
- planSection.setClient(planContainer);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 1;
- planContainer.setLayout(layout);
-
- createPlanTable(planContainer, toolkit);
- createPlanTableViewer();
- createRemoveButton(planContainer, toolkit);
- hookDoubleClickAction();
- }
-
- private void createPlanTable(Composite parent, FormToolkit toolkit) {
- int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
- planTable = toolkit.createTable(parent, style );
- TableLayout tlayout = new TableLayout();
- planTable.setLayout(tlayout);
- TableWrapData wd = new TableWrapData(TableWrapData.FILL_GRAB);
- wd.heightHint = 300;
- wd.grabVertical = true;
- planTable.setLayoutData(wd);
-
- planTable.setLinesVisible(true);
- planTable.setHeaderVisible(true);
- planTable.setEnabled(true);
-
- TableColumn column = new TableColumn(planTable, SWT.LEFT, 0);
- column.setText(planColumnNames[0]);
- column.setWidth(30);
-
- column = new TableColumn(planTable, SWT.LEFT, 1);
- column.setText(planColumnNames[1]);
- column.setWidth(300);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- planTableViewer.setSorter(new CompletedTasksSorter(PlannedTasksSorter.DESCRIPTION));
- }
- });
-
- column = new TableColumn(planTable, SWT.LEFT, 2);
- column.setText(planColumnNames[2]);
- column.setWidth(50);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- planTableViewer.setSorter(new CompletedTasksSorter(PlannedTasksSorter.PRIORITY));
- }
- });
-
- column = new TableColumn(planTable, SWT.LEFT, 3);
- column.setText(planColumnNames[3]);
- column.setWidth(170);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- planTableViewer.setSorter(new CompletedTasksSorter(PlannedTasksSorter.ESTIMATE));
- }
- });
-
-
- column = new TableColumn(planTable, SWT.LEFT, 4);
- column.setText(planColumnNames[4]);
- column.setWidth(170);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- planTableViewer.setSorter(new CompletedTasksSorter(PlannedTasksSorter.REMINDER));
- }
- });
-
- }
-
- private void createRemoveButton(Composite parent, FormToolkit toolkit) {
-// Composite composite = toolkit.createComposite(parent);
- Button delete = toolkit.createButton(parent, "Remove Task", SWT.PUSH | SWT.CENTER);
-
- delete.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ITask task = (ITask) ((IStructuredSelection) planTableViewer.getSelection()).getFirstElement();
- if (task != null) {
- contentProvider.removeTask(task);
- planTableViewer.refresh();
- }
- }
- });
- }
- private void createPlanTableViewer() {
- CellEditor[] editors = new CellEditor[planColumnNames.length];
-
- reminderEditor = new ReminderCellEditor(planTable);
- editors[0] = reminderEditor; // not used
- editors[1] = reminderEditor;// not used
- editors[2] = reminderEditor;// not used
- editors[3] = new ComboBoxCellEditor(planTable, ESTIMATE_TIMES,SWT.READ_ONLY);
- editors[4] = reminderEditor;
- reminderEditor.addListener(new ICellEditorListener() {
- public void applyEditorValue() {
- Object selection = ((IStructuredSelection)planTableViewer.getSelection()).getFirstElement();
- if (selection instanceof ITask) {
- ((ITask)selection).setReminderDate(reminderEditor.getReminderDate());
- planTableViewer.refresh();
- }
- }
-
- public void cancelEditor() {
- }
-
- public void editorValueChanged(boolean oldValidState, boolean newValidState) {
- }
-
- });
- planTableViewer = new TableViewer(planTable);
- planTableViewer.setCellEditors(editors);
- planTableViewer.setUseHashlookup(true);
- planTableViewer.setColumnProperties(planColumnNames);
-
- planTableViewer.setContentProvider(contentProvider);
- planTableViewer.setLabelProvider(new PlannedTasksLabelProvider());
- planTableViewer.setCellModifier(new PlannedTasksCellModifier());
- planTableViewer.setInput(editorInput);
-
- initDrop();
- }
-
- @MylarWebRef(name="Drag and drop article", url="http://www.eclipse.org/articles/Article-Workbench-DND/drag_drop.html")
- private void initDrop() {
- Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
-
- planTableViewer.addDropSupport(DND.DROP_MOVE, types, new ViewerDropAdapter(planTableViewer) {
- {
- setFeedbackEnabled(false);
- }
- @Override
- public boolean performDrop(Object data) {
- Object selectedObject = ((IStructuredSelection)TaskListView.getDefault().getViewer().getSelection()).getFirstElement();
- if (selectedObject instanceof ITask) {
- contentProvider.addTask((ITask)selectedObject);
- planTableViewer.refresh();
- return true;
- } else if (selectedObject instanceof ITaskListElement) {
- if (MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement)selectedObject) != null) {
- ITask t = MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement)selectedObject).dropItemToPlan((ITaskListElement)selectedObject);
- contentProvider.addTask(t);
- planTableViewer.refresh();
- return true;
- }
- return false;
- }
- return false;
- }
-
- @Override
- public boolean validateDrop(Object targetObject,int operation, TransferData transferType) {
- Object selectedObject = ((IStructuredSelection)TaskListView.getDefault().getViewer().getSelection()).getFirstElement();
- if (selectedObject instanceof ITaskListElement && ((ITaskListElement)selectedObject).isDragAndDropEnabled()) {
- return true;
- }
- return TextTransfer.getInstance().isSupportedType(transferType);
- }
- });
- }
-
- private class PlannedTasksCellModifier implements ICellModifier {
-
- public boolean canModify(Object element, String property) {
- int columnIndex = Arrays.asList(planColumnNames).indexOf(property);
- if (columnIndex == 4 || columnIndex == 3) {
- return true;
- }
- return false;
- }
-
- public Object getValue(Object element, String property) {
- if (element instanceof ITask) {
- int columnIndex = Arrays.asList(planColumnNames).indexOf(property);
- if (element instanceof ITask) {
- if (columnIndex == 4) {
- return ((ITask)element).getReminderDateString(true);
- } else if (columnIndex == 3) {
- return new Integer(Arrays.asList(ESTIMATE_TIMES).indexOf(((ITask)element).getEstimateTimeForDisplay()));
- }
-
- }
- }
- return null;
- }
-
- public void modify(Object element, String property, Object value) {
- int columnIndex = Arrays.asList(planColumnNames).indexOf(property);
- if (element instanceof ITask) {
- ITask task = (ITask) element;
- if (columnIndex == 3) {
- if (value instanceof Integer) {
- task.setEstimatedTime(((Integer) value).intValue() * 10);
- planTableViewer.refresh();
- }
- }
- }
- }
- }
-
- private void hookDoubleClickAction() {
- planTableViewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- doubleClickAction.run();
- }
- });
- }
- public class OpenTaskEditorAction extends Action {
- @Override
- public void run() {
- ISelection selection = planTableViewer.getSelection();
- Object obj = ((IStructuredSelection)selection).getFirstElement();
- if (obj instanceof Task) {
- ((Task)obj).openTaskInEditor(false);
- }
- planTableViewer.refresh(obj);
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizard.java
deleted file mode 100644
index 27f16d2ec..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizard.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-/**
- * @author Ken Sueda
- */
-public class MylarTaskPlannerWizard extends Wizard implements INewWizard {
-
- private MylarTaskPlannerWizardPage planningGamePage = null;
- public MylarTaskPlannerWizard() {
- super();
- init();
- }
-
- @Override
- public boolean performFinish() {
- try {
- int numDays = planningGamePage.getNumDays();
- IWorkbenchPage page = MylarTasklistPlugin.getDefault()
- .getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (page == null)
- return false;
- IEditorInput input = new CompletedTasksEditorInput(numDays,
- MylarTasklistPlugin.getTaskListManager().getTaskList());
- page.openEditor(input, MylarTasklistPlugin.PLANNING_GAME_EDITOR_ID);
- } catch (PartInitException ex) {
- MylarPlugin.log(ex, "couldn't open summary editor");
- }
- return true;
- }
-
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- }
-
- private void init() {
- planningGamePage = new MylarTaskPlannerWizardPage();
- super.setForcePreviousAndNextButtons(true);
- }
-
- @Override
- public void addPages() {
- addPage(planningGamePage);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizardPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizardPage.java
deleted file mode 100644
index 328984826..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/MylarTaskPlannerWizardPage.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda (original prototype)
- */
-public class MylarTaskPlannerWizardPage extends WizardPage {
-
- private static final String DEFAULT_DAYS = "7";
- private static final String TITLE = "Mylar Task Planner";
- private static final String DESCRIPTION =
- "Summarizes task activity and assists planning future tasks.";
-
- private Text numDays;
- private int num = 0;
-
- public MylarTaskPlannerWizardPage() {
- super(TITLE);
- setTitle(TITLE);
- setDescription(DESCRIPTION);
- }
-
- public void createControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout();
- container.setLayout(layout);
- layout.numColumns = 2;
-
- Label l = new Label(container, SWT.NULL);
- l.setText("Number of past days to report on: ");
- numDays = new Text(container, SWT.BORDER);
- numDays.setText(DEFAULT_DAYS);
- numDays.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- try{
- num = Integer.parseInt(numDays.getText());
- setErrorMessage(null);
- } catch (Exception ex) {
- setErrorMessage("Must be integer");
- num = 0;
- }
- }
- });
- setControl(container);
- }
-
- public int getNumDays() {
- return num;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksContentProvider.java
deleted file mode 100644
index c12dd96ff..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksContentProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public class PlannedTasksContentProvider implements IStructuredContentProvider {
-
- private List<ITask> tasks = new ArrayList<ITask>();
- public PlannedTasksContentProvider() {
- }
-
- public Object[] getElements(Object inputElement) {
- return tasks.toArray();
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- public void addTask(ITask t) {
- if (!tasks.contains(t)) {
- tasks.add(t);
- }
- }
-
- public void removeTask(ITask t) {
- tasks.remove(t);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksLabelProvider.java
deleted file mode 100644
index 8008a9a7e..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksLabelProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author Ken Sueda
- */
-public class PlannedTasksLabelProvider extends LabelProvider implements
- ITableLabelProvider {
-
- // {".", "Description", "Priority", "Estimated Time", "Reminder Date"};
- public Image getColumnImage(Object element, int columnIndex) {
- if (! (element instanceof ITaskListElement)) {
- return null;
- }
- if (columnIndex == 0) {
- return ((ITaskListElement)element).getIcon();
- } else {
- return null;
- }
-
- }
-
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof ITask) {
- ITask task = (ITask) element;
- switch(columnIndex) {
- case 1:
- return task.getDescription(true);
- case 2:
- return task.getPriority();
- case 3:
- return task.getEstimateTimeForDisplay();
- case 4:
- return task.getReminderDateString(true);
- }
- }
- return null;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksSorter.java
deleted file mode 100644
index 4d55c7eaa..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/PlannedTasksSorter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.tasklist.ITask;
-
-/**
- * @author Ken Sueda
- */
-public class PlannedTasksSorter extends ViewerSorter {
-
-// {".", "Description", "Priority", "Estimated Time", "Reminder Date"};
- public final static int DESCRIPTION = 1;
- public final static int PRIORITY = 2;
- public final static int ESTIMATE = 3;
- public final static int REMINDER = 4;
-
- private int criteria;
-
- public PlannedTasksSorter(int criteria) {
- super();
- this.criteria = criteria;
- }
-
- @Override
- public int compare(Viewer viewer, Object obj1, Object obj2) {
- ITask t1 = (ITask) obj1;
- ITask t2 = (ITask) obj2;
-
- switch (criteria) {
- case DESCRIPTION:
- return compareDescription(t1, t2);
- case PRIORITY:
- return comparePriority(t1, t2);
- case ESTIMATE:
- return compareEstimate(t1, t2);
- case REMINDER:
- return compareReminder(t1, t2);
- default:
- return 0;
- }
- }
-
- private int compareDescription(ITask task1, ITask task2) {
- return task1.getDescription(false).compareTo(task2.getDescription(false));
- }
-
- private int comparePriority(ITask task1, ITask task2) {
- return task1.getPriority().compareTo(task2.getPriority());
- }
-
- private int compareReminder(ITask task1, ITask task2) {
- return task2.getReminderDate().compareTo(task1.getReminderDate());
- }
-
- private int compareEstimate(ITask task1, ITask task2) {
- if (task1.getEstimateTime() > task2.getEstimateTime()) {
- return 1;
- } else {
- return -1;
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java
deleted file mode 100644
index 1a031c73b..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.planner.ui;
-
-import java.util.Date;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.IShellProvider;
-import org.eclipse.mylar.tasklist.contribution.DatePicker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-public class ReminderCellEditor extends DialogCellEditor {
-
- private Date reminderDate;
- public ReminderCellEditor(Composite parent) {
- super(parent, SWT.NONE);
- }
- @Override
- protected Object openDialogBox(Control cellEditorWindow) {
- ReminderDialog dialog = new ReminderDialog(cellEditorWindow.getShell());
- dialog.open();
- reminderDate = dialog.getDate();
- return reminderDate;
- }
-
- public Date getReminderDate() {
- return reminderDate;
- }
- private class ReminderDialog extends Dialog {
-
- private Date reminderDate = null;
- protected ReminderDialog(Shell parentShell) {
- super(parentShell);
- }
-
- protected ReminderDialog(IShellProvider parentShell) {
- super(parentShell);
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- final DatePicker datePicker = new DatePicker(composite, SWT.NULL);
- datePicker.setDateText("<reminder>");
- datePicker.addPickerSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent arg0) {
- reminderDate = datePicker.getDate().getTime();
- }
-
- public void widgetDefaultSelected(SelectionEvent arg0) {
- // ignore
- }
- });
- return composite;
- }
- public Date getDate() {
- return reminderDate;
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditor.java
deleted file mode 100644
index a9037e064..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditor.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * @author Ken Sueda
- */
-public class CategoryEditor extends EditorPart {
-
- private CategoryEditorInput input = null;
- private boolean isDirty = false;
- private Text description = null;
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- input.setCategoryName(description.getText());
- isDirty = false;
- if (TaskListView.getDefault() != null) TaskListView.getDefault().notifyTaskDataChanged(null);
- firePropertyChange(PROP_DIRTY);
- }
-
- @Override
- public void doSaveAs() {
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public void init(IEditorSite site, IEditorInput input)
- throws PartInitException {
- setSite(site);
- setInput(input);
- this.input = (CategoryEditorInput)input;
- setPartName(input.getName());
- setTitleToolTip(input.getToolTipText());
- }
-
- @Override
- public boolean isDirty() {
- return isDirty;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- ScrolledForm sform = toolkit.createScrolledForm(parent);
- sform.getBody().setLayout(new TableWrapLayout());
- Composite editorComposite = sform.getBody();
-
- createSummarySection(editorComposite, toolkit);
- }
-
- @Override
- public void setFocus() {
- }
-
- private void createSummarySection(Composite parent, FormToolkit toolkit) {
- Section summarySection = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- summarySection.setText("Category Summary");
- summarySection.setLayout(new TableWrapLayout());
- summarySection.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- Composite summaryContainer = toolkit.createComposite(summarySection);
- summarySection.setClient(summaryContainer);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 2;
- summaryContainer.setLayout(layout);
-
- Label label = toolkit.createLabel(summaryContainer, "Description: ", SWT.NULL);
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- description = toolkit.createText(summaryContainer, input.getCategoryName(), SWT.BORDER);
- description.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- description.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- markDirty();
- }
- });
- }
-
- private void markDirty() {
- isDirty = true;
- firePropertyChange(PROP_DIRTY);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditorInput.java
deleted file mode 100644
index a25773556..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/CategoryEditorInput.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * @author Ken Sueda
- */
-public class CategoryEditorInput implements IEditorInput {
-
- private ITaskListCategory category;
-
- public CategoryEditorInput(ITaskListCategory cat) {
- this.category = cat;
- }
- public boolean exists() {
- return true;
- }
-
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- public String getName() {
- return "Category Editor";
- }
-
- public IPersistableElement getPersistable() {
- return null;
- }
-
- public String getToolTipText() {
- return "Category Editor";
- }
-
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- public String getCategoryName() {
- return category.getDescription(false);
- }
-
- public void setCategoryName(String description) {
- category.setDescription(description);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java
deleted file mode 100644
index 318c2b8f2..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditor.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.IContextEditorFactory;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageSelectionProvider;
-
-/**
- * @author Mik Kersten
- * @author Eric Booth (initial prototype)
- */
-public class TaskEditor extends MultiPageEditorPart {
-
- private static final String TASK_INFO_PAGE_LABEL = "Task Info";
- private static final String ISSUE_WEB_PAGE_LABEL = "Web Link";
- protected ITask task;
- private TaskSummaryEditor taskSummaryEditor;
- private Browser issueBrowser;
- private TaskEditorInput taskEditorInput;
-
- private static class TaskEditorSelectionProvider extends MultiPageSelectionProvider {
- private ISelection globalSelection;
-
- public TaskEditorSelectionProvider(TaskEditor taskEditor) {
- super(taskEditor);
- }
-
- public ISelection getSelection() {
- IEditorPart activeEditor = ((TaskEditor) getMultiPageEditor()).getActiveEditor();
- if (activeEditor != null && activeEditor.getSite() != null) {
- ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
- if (selectionProvider != null)
- return selectionProvider.getSelection();
- }
- return globalSelection;
- }
-
- public void setSelection(ISelection selection) {
- IEditorPart activeEditor = ((TaskEditor) getMultiPageEditor()).getActiveEditor();
- if (activeEditor != null && activeEditor.getSite() != null) {
- ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
- if (selectionProvider != null) selectionProvider.setSelection(selection);
- } else {
- this.globalSelection = selection;
- fireSelectionChanged(new SelectionChangedEvent(this, globalSelection));
- }
- }
- }
-
- public TaskEditor() {
- super();
- IWorkbench workbench = MylarTasklistPlugin.getDefault().getWorkbench();
- IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- IWorkbenchPage activePage = window.getActivePage();
- TaskEditorListener listener = new TaskEditorListener();
- activePage.addPartListener(listener);
- taskSummaryEditor = new TaskSummaryEditor();
- }
-
- @Override
- protected void createPages() {
- try {
- int index = createTaskSummaryPage();
- if(task.getIssueReportURL().length() > 9){
- createTaskIssueWebPage();
- }
- for (IContextEditorFactory factory : MylarTasklistPlugin.getDefault().getContextEditors()) {
- taskSummaryEditor.setParentEditor(this);
- IEditorPart editor = factory.createEditor();
- index = addPage(editor, factory.createEditorInput(MylarPlugin.getContextManager().getActiveContext()));
- setPageText(index++, factory.getTitle());
- }
- } catch (PartInitException e) {
- MylarPlugin.fail(e, "failed to create task editor pages", false);
- }
- }
-
- private int createTaskSummaryPage() throws PartInitException {
- try {
- taskSummaryEditor.createPartControl(getContainer());
- taskSummaryEditor.setParentEditor(this);
- int index = addPage(taskSummaryEditor.getControl());
- setPageText(index, TASK_INFO_PAGE_LABEL);
- return index;
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not add task editor", false);
- }
- return 0;
- }
-
- /**
- * Creates page 2 of the multi-page editor,
- * which displays the task issue web page
- */
- private void createTaskIssueWebPage() {
- try {
- issueBrowser = new Browser(getContainer(), SWT.NONE);
- int index = addPage(issueBrowser);
- setPageText(index, ISSUE_WEB_PAGE_LABEL);
- issueBrowser.setUrl(task.getIssueReportURL());
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not open issue report web page", false);
- }
- }
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- taskSummaryEditor.doSave(monitor);
- if (issueBrowser != null){
- issueBrowser.setUrl(task.getIssueReportURL());
- }
- else if(task.getIssueReportURL().length() > 9){
- createTaskIssueWebPage();
- }
- }
-
- /**
- * Saves the multi-page editor's document as another file.
- * Also updates the text for page 0's tab, and updates this multi-page editor's input
- * to correspond to the nested editor's.
- *
- * @see org.eclipse.ui.ISaveablePart#doSaveAs()
- */
- @SuppressWarnings("deprecation")
- @Override
- public void doSaveAs() {
- IEditorPart editor = getEditor(0);
- editor.doSaveAs();
- setPageText(0, editor.getTitle());
- setInput(editor.getEditorInput());
- }
-
- @Override
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- taskEditorInput = (TaskEditorInput)input;
- super.init(site, input);
-
- setSite(site);
- site.setSelectionProvider(new TaskEditorSelectionProvider(this));
-
- /*
- * The task data is saved only once, at the initialization of the editor. This is
- * then passed to each of the child editors. This way, only one instance of
- * the task data is stored for each editor opened.
- */
- task = taskEditorInput.getTask();
- try {
- taskSummaryEditor.init(this.getEditorSite(), this.getEditorInput());
- taskSummaryEditor.setTask(task);
- // Set the title on the editor's tab
- this.setPartName(taskEditorInput.getLabel());
- } catch (Exception e) {
- throw new PartInitException(e.getMessage());
- }
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public boolean isDirty() {
- return taskSummaryEditor.isDirty();
- }
- /**
- * Class to listen for editor events
- */
- private class TaskEditorListener implements IPartListener
- {
-
- /**
- * @see org.eclipse.ui.IPartListener#partActivated(org.eclipse.ui.IWorkbenchPart)
- */
- public void partActivated(IWorkbenchPart part) {
- // don't care about this event
- }
-
- /**
- * @see org.eclipse.ui.IPartListener#partBroughtToTop(org.eclipse.ui.IWorkbenchPart)
- */
- public void partBroughtToTop(IWorkbenchPart part) {
- // don't care about this event
- }
-
- /**
- * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
- */
- public void partClosed(IWorkbenchPart part) {
- // don't care about this event
- }
-
- /**
- * @see org.eclipse.ui.IPartListener#partDeactivated(org.eclipse.ui.IWorkbenchPart)
- */
- public void partDeactivated(IWorkbenchPart part) {
- // don't care about this event
- }
-
- /**
- * @see org.eclipse.ui.IPartListener#partOpened(org.eclipse.ui.IWorkbenchPart)
- */
- public void partOpened(IWorkbenchPart part) {
- // don't care about this event
- }
- }
-
- public void updatePartName() {
- firePropertyChange(PROP_DIRTY);
- return;
- }
- @Override
- public void setFocus() {
-// taskSummaryEditor.setFocus();
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorCopyAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorCopyAction.java
deleted file mode 100644
index 557b86529..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorCopyAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on 20-Jan-2005
- */
-package org.eclipse.mylar.tasklist.ui;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * TODO: delete?
- */
-public class TaskEditorCopyAction extends Action {
-
- public TaskEditorCopyAction() {
- setText("TaskSummaryEditor.copy.text");
- }
-
- @Override
- public void run() {
-// if (editorPart instanceof TaskSummaryEditor)
-// ((TaskSummaryEditor)editorPart).getCurrentText().copy();
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorInput.java
deleted file mode 100644
index 49613e517..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskEditorInput.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on 19-Jan-2005
- */
-package org.eclipse.mylar.tasklist.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-
-/**
- * @author Eric Booth
- */
-public class TaskEditorInput implements IEditorInput {
-
- private ITask task;
-
- private String id;
-
- private String label;
-
- public TaskEditorInput(ITask task) {
- this.task = task;
- id = task.getHandle();
- label = task.getDescription(true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#exists()
- */
- public boolean exists() {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
- */
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getName()
- */
- public String getName() {
- return "Task #" + id;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getPersistable()
- */
- public IPersistableElement getPersistable() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getToolTipText()
- */
- public String getToolTipText() {
- return label;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /**
- * @return Returns the task.
- */
- public ITask getTask() {
- return task;
- }
-
- /**
- * @return Returns the id.
- */
- public String getId() {
- return id;
- }
-
- /**
- * @return Returns the label.
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * Returns true if the argument is a bug report editor input on the same bug id.
- */
- @Override
- public boolean equals(Object o) {
- if (o instanceof TaskEditorInput) {
- TaskEditorInput input = (TaskEditorInput) o;
- return getId() == input.getId();
- }
- return false;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java
deleted file mode 100644
index ce0ef1407..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java
+++ /dev/null
@@ -1,564 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on 19-Jan-2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.mylar.tasklist.ui;
-
-import java.util.Calendar;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskActivityListener;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.contribution.DatePicker;
-import org.eclipse.mylar.tasklist.internal.RelativePathUtil;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.events.IExpansionListener;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * For details on forms, go to:
- * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/pde-ui-home/working/EclipseForms/EclipseForms.html
- *
- * @author Mik Kersten
- * @author Ken Sueda (initial prototype)
- */
-public class TaskSummaryEditor extends EditorPart {
-
- private static final String DESCRIPTION_OVERVIEW = "Task Summary";
-
- /**
- * TODO: use workbench theme
- */
- public static final Color HYPERLINK = new Color(Display.getDefault(), 0, 0, 255);
-
- private DatePicker datePicker;
- private ITask task;
- private TaskEditorInput editorInput;
- private Composite editorComposite;
- private TaskEditorCopyAction copyAction;
- private RetargetAction pasteAction;
- private RetargetAction cutAction;
- private static final String cutActionDefId = "org.eclipse.ui.edit.cut";
- private static final String pasteActionDefId = "org.eclipse.ui.edit.paste";
-
- private Button browse;
- private Text pathText;
- private ScrolledForm form;
- private Text description;
- private Text issueReportURL;
- private Text notes;
- private Spinner estimated;
-
- private boolean isDirty = false;
- private TaskEditor parentEditor = null;
-
- private ITaskActivityListener TASK_LIST_LISTENER = new ITaskActivityListener() {
- public void taskActivated(ITask activeTask) {
- if (task != null && !browse.isDisposed() && activeTask.getHandle().equals(task.getHandle())) {
- browse.setEnabled(false);
- }
- }
-
- public void tasksActivated(List<ITask> tasks) {
- for (ITask t : tasks) {
- taskActivated(t);
- }
- }
-
- public void taskDeactivated(ITask deactiveTask) {
- if (task != null && !browse.isDisposed() && deactiveTask.getHandle().equals(task.getHandle())) {
- browse.setEnabled(true);
- }
- }
-
- public void taskPropertyChanged(ITask updatedTask, String property) {
- if (task != null && updatedTask.getHandle().equals(task.getHandle())) {
- if (property.equals("Description") && !description.isDisposed()) {
- description.setText(task.getDescription(false));
- } else if (property.equals("Path") && !pathText.isDisposed()) {
- pathText.setText("<Mylar_Dir>/" + task.getPath());
- }
- }
- }
- };
-
- public TaskSummaryEditor() {
- super();
-
- cutAction = new RetargetAction(ActionFactory.CUT.getId(),
- WorkbenchMessages.Workbench_cut);
- cutAction.setToolTipText(
- WorkbenchMessages.Workbench_cutToolTip);
- cutAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_CUT));
- cutAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_CUT));
- cutAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_CUT_DISABLED));
- cutAction.setAccelerator(SWT.CTRL | 'x');
- cutAction.setActionDefinitionId(cutActionDefId);
-
- pasteAction = new RetargetAction(ActionFactory.PASTE.getId(),
- WorkbenchMessages.Workbench_paste);
- pasteAction.setToolTipText(
- WorkbenchMessages.Workbench_pasteToolTip);
- pasteAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_PASTE));
- pasteAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_PASTE));
- pasteAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_PASTE_DISABLED));
- pasteAction.setAccelerator(SWT.CTRL | 'v');
- pasteAction.setActionDefinitionId(pasteActionDefId);
-
- copyAction = new TaskEditorCopyAction();
- copyAction.setText(
- WorkbenchMessages.Workbench_copy);
- copyAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_COPY));
- copyAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_COPY));
- copyAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(
- ISharedImages.IMG_TOOL_COPY_DISABLED));
- copyAction.setAccelerator(SWT.CTRL | 'c');
-
- copyAction.setEnabled(false);
- MylarTasklistPlugin.getTaskListManager().addListener(TASK_LIST_LISTENER);
- }
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- String label = description.getText();
- task.setDescription(label);
- task.setIssueReportURL(issueReportURL.getText());
- String note = notes.getText();
- task.setNotes(note);
- task.setEstimatedTime(estimated.getSelection());
-// links.clear();
-// TableItem[] items = table.getItems();
-// for (int i = 0; i < items.length; i++) {
-// if (items[i].getData() instanceof String) {
-// links.add((String)items[i].getData());
-// }
-// }
- //"<MylarDir>/" + res + ".xml"
- String path = pathText.getText();
- path = path.substring(path.indexOf('/') + 1, path.lastIndexOf('.'));
- task.setPath(path);
- if (datePicker != null && datePicker.getDate() != null) {
- task.setReminderDate(datePicker.getDate().getTime());
- }
- refreshTaskListView(task);
- markDirty(false);
- }
-
- @Override
- public void doSaveAs() {
- // don't support saving
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public void init(IEditorSite site, IEditorInput input) throws PartInitException {
- if (!(input instanceof TaskEditorInput)) {
- throw new PartInitException("Invalid Input: Must be TaskEditorInput");
- }
- setSite(site);
- setInput(input);
- editorInput = (TaskEditorInput)input;
- setPartName(editorInput.getLabel());
- }
-
- @Override
- public boolean isDirty() {
- return isDirty;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- form = toolkit.createScrolledForm(parent);
- form.getBody().setLayout(new TableWrapLayout());
- editorComposite = form.getBody();
-
-
- TableWrapLayout layout = new TableWrapLayout();
- layout.bottomMargin = 10;
- layout.topMargin = 10;
- layout.leftMargin = 10;
- layout.rightMargin = 10;
- layout.numColumns = 1;
- layout.makeColumnsEqualWidth = true;
- layout.verticalSpacing = 20;
- layout.horizontalSpacing = 10;
- editorComposite.setLayout(layout);
- //editorComposite.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-
- // Put the info onto the editor
- createContent(editorComposite, toolkit);
- form.setFocus();
- }
-
- @Override
- public void setFocus() {
- form.setFocus();
- }
-
- public Control getControl() {
- return form;
- }
-
- public void setTask(ITask task) throws Exception {
- if (task == null)
- throw new Exception("ITask object is null.");
- this.task = task;
- }
-
- private Composite createContent(Composite parent, FormToolkit toolkit) {
- TaskEditorInput taskEditorInput = (TaskEditorInput)getEditorInput();
-
- task = taskEditorInput.getTask();
- if (task == null) {
- MessageDialog.openError(parent.getShell(), "No such task", "No task exists with this id");
- return null;
- }
-
- try {
- createOverviewSection(parent, toolkit);
- createPlanningSection(parent, toolkit);
- createDocumentationSection(parent, toolkit);
-// createRelatedLinksSection(parent, toolkit);
- createDetailsSection(parent, toolkit);
- } catch (SWTException e) {
- MylarPlugin.log(e, "content failed");
- }
- return null;
- }
-
- private void createOverviewSection(Composite parent, FormToolkit toolkit) {
- Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- section.setText(DESCRIPTION_OVERVIEW);
- section.setLayout(new TableWrapLayout());
- section.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- section.addExpansionListener(new IExpansionListener() {
- public void expansionStateChanging(ExpansionEvent e) {
- form.reflow(true);
- }
- public void expansionStateChanged(ExpansionEvent e) {
- form.reflow(true);
- }
- });
-
- Composite container = toolkit.createComposite(section);
- section.setClient(container);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 2;
- container.setLayout(layout);
- container.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-
- Label l = toolkit.createLabel(container, "Description:");
- l.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- description = toolkit.createText(container, task.getDescription(true), SWT.BORDER);
- TableWrapData td = new TableWrapData(TableWrapData.FILL_GRAB);
-// td.colspan = 2;
- description.setLayoutData(td);
- if (!task.isDirectlyModifiable()) {
- description.setEnabled(false);
- } else {
- description.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- markDirty(true);
- }
- });
- }
-
- Label urlLabel = toolkit.createLabel(container, "Web Link:");
- urlLabel.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- issueReportURL = toolkit.createText(container, task.getIssueReportURL(), SWT.BORDER);
- issueReportURL.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-// issueReportURL.setForeground(HYPERLINK);
-
- if (!task.isDirectlyModifiable()) {
- issueReportURL.setEnabled(false);
- } else {
- issueReportURL.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- markDirty(true);
- }
- });
- }
- }
-
- private void createDocumentationSection(Composite parent, FormToolkit toolkit) {
- Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- section.setText("Documentation");
- section.setLayout(new TableWrapLayout());
- section.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- section.addExpansionListener(new IExpansionListener() {
- public void expansionStateChanging(ExpansionEvent e) {
- form.reflow(true);
- }
-
- public void expansionStateChanged(ExpansionEvent e) {
- form.reflow(true);
- }
- });
- Composite container = toolkit.createComposite(section);
- section.setClient(container);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 1;
- container.setLayout(layout);
-
- notes = toolkit.createText(container, task.getNotes(), SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
- TableWrapData tablewrap = new TableWrapData(TableWrapData.FILL_GRAB);
- tablewrap.heightHint = 200;
- tablewrap.grabVertical = true;
- notes.setLayoutData(tablewrap);
- notes.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- markDirty(true);
- }
- });
-
- toolkit.paintBordersFor(container);
- }
-
- private void createPlanningSection(Composite parent, FormToolkit toolkit) {
- Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
- section.setText("Planning");
- section.setLayout(new TableWrapLayout());
- section.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- section.addExpansionListener(new IExpansionListener() {
- public void expansionStateChanging(ExpansionEvent e) {
- form.reflow(true);
- }
-
- public void expansionStateChanged(ExpansionEvent e) {
- form.reflow(true);
- }
- });
- Composite container = toolkit.createComposite(section);
- section.setClient(container);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 3;
- container.setLayout(layout);
-
- Label label = toolkit.createLabel(container, "Reminder:");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- datePicker = new DatePicker(container, SWT.NULL);
- TableWrapData td = new TableWrapData(TableWrapData.LEFT);
- datePicker.setLayoutData(td);
- Calendar calendar = Calendar.getInstance();
- if (task.getReminderDate() != null) {
- calendar.setTime(task.getReminderDate());
- datePicker.setDate(calendar);
- }
- datePicker.setBackground(new Color(Display.getDefault(), 255, 255, 255));
- datePicker.addPickerSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent arg0) {
- TaskSummaryEditor.this.markDirty(true);
- }
-
- public void widgetDefaultSelected(SelectionEvent arg0) {
- // ignore
- }
- });
- label = toolkit.createLabel(container, " ");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- label = toolkit.createLabel(container, "Estimated time:");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- estimated = new Spinner(container, SWT.BORDER);
- estimated.setSelection(task.getEstimateTime());
- estimated.setDigits(1);
- estimated.setMaximum(100);
- estimated.setMinimum(0);
- estimated.setIncrement(5);
- estimated.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- TaskSummaryEditor.this.markDirty(true);
- }
- });
- label = toolkit.createLabel(container, "hours ");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
-
- label = toolkit.createLabel(container, "Elapsed time:");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- Text text2 = toolkit.createText(container,task.getElapsedTimeForDisplay(), SWT.BORDER);
- td = new TableWrapData(TableWrapData.FILL_GRAB);
- td.grabHorizontal = true;
- td.colspan = 2;
- text2.setLayoutData(td);
- text2.setEditable(false);
- text2.setEnabled(false);
-
- label = toolkit.createLabel(container, "Creation date:");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- Text creationDate = toolkit.createText(container,task.getCreationDateString(), SWT.BORDER);
- td = new TableWrapData(TableWrapData.FILL_GRAB);
- td.grabHorizontal = true;
- td.colspan = 2;
- creationDate.setLayoutData(td);
- creationDate.setEditable(false);
- creationDate.setEnabled(false);
-
- label = toolkit.createLabel(container, "Completion date:");
- label.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- Text endDate = toolkit.createText(container,task.getEndDateString(), SWT.BORDER);
- td = new TableWrapData(TableWrapData.FILL_GRAB);
- td.grabHorizontal = true;
- td.colspan = 2;
- endDate.setLayoutData(td);
- endDate.setEditable(false);
- endDate.setEnabled(false);
- }
-
- private void createDetailsSection(Composite parent, FormToolkit toolkit) {
- Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR | Section.TWISTIE);
- section.setText("Resources");
- section.setLayout(new TableWrapLayout());
- section.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- section.addExpansionListener(new IExpansionListener() {
- public void expansionStateChanging(ExpansionEvent e) {
- form.reflow(true);
- }
- public void expansionStateChanged(ExpansionEvent e) {
- form.reflow(true);
- }
- });
-
- Composite container = toolkit.createComposite(section);
- section.setClient(container);
- TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 3;
- container.setLayout(layout);
-
- Label l = toolkit.createLabel(container, "Task Handle:");
- l.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- Text handle = toolkit.createText(container, task.getHandle(), SWT.BORDER);
- TableWrapData td = new TableWrapData(TableWrapData.FILL_GRAB);
- td.colspan = 2;
- handle.setLayoutData(td);
- handle.setEditable(false);
- handle.setEnabled(false);
-
-
- Label l2 = toolkit.createLabel(container, "Task context file:");
- l2.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- pathText = toolkit.createText(container, "<Mylar_Dir>/"+task.getPath()+".xml", SWT.BORDER);
- pathText.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- pathText.setEditable(false);
- pathText.setEnabled(false);
-
- browse = toolkit.createButton(container, "Change", SWT.PUSH | SWT.CENTER);
- if (task.isActive()) {
- browse.setEnabled(false);
- } else {
- browse.setEnabled(true);
- }
- browse.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
-
- if (task.isActive()) {
- MessageDialog.openInformation(
- Display.getDefault().getActiveShell(),
- "Task Message",
- "Task can not be active when changing taskscape");
- } else {
- FileDialog dialog = new FileDialog(Display.getDefault()
- .getActiveShell(), SWT.OPEN);
- String[] ext = { "*.xml" };
- dialog.setFilterExtensions(ext);
-
- String mylarDir = MylarPlugin.getDefault().getMylarDataDirectory()
- + "/";
- mylarDir = mylarDir.replaceAll("\\\\", "/");
- // mylarDir = formatPath(mylarDir);
- dialog.setFilterPath(mylarDir);
-
- String res = dialog.open();
- if (res != null) {
- res = res.replaceAll("\\\\", "/");
- res = RelativePathUtil.findRelativePath(mylarDir, res);
- pathText.setText("<MylarDir>/" + res + ".xml");
-// task.setPath(res);
- markDirty(true);
- }
- }
- }
- });
- toolkit.createLabel(container, "");
- l = toolkit.createLabel(container, "Go to Mylar Preferences to change <Mylar_Dir>");
- l.setForeground(toolkit.getColors().getColor(FormColors.TITLE));
- }
-
- private void refreshTaskListView(ITask task) {
- if (TaskListView.getDefault() != null) TaskListView.getDefault().notifyTaskDataChanged(task);
- }
-
- private void markDirty(boolean dirty) {
- isDirty = dirty;
- if (parentEditor != null) {
- parentEditor.updatePartName();
- }
- return;
- }
-
- public void setParentEditor(TaskEditor parentEditor) {
- this.parentEditor = parentEditor;
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TasksReminderDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TasksReminderDialog.java
deleted file mode 100644
index a7d37758b..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TasksReminderDialog.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui;
-
-import java.util.Date;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-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.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-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.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * @author Ken Sueda
- */
-public class TasksReminderDialog extends Dialog {
- private List<ITask> tasks = null;
- private Table table = null;
- private TableViewer tableViewer = null;
- private String[] columnNames = new String[] { "Description", "Priority", "Reminder Day"};
-
- private static final int DISMISS_ALL_ID = 200;
- private static final int DISMISS_ID = 201;
- private static final int SNOOZE_ID = 202;
- private static final String DISMISS_ALL_LABEL = "Dismiss All";
- private static final String DISMISS_LABEL = "Dismiss Selected";
- private static final String SNOOZE_ALL_LABEL = "Remind tommorrow";
- private static long DAY = 24 * 3600 * 1000;
-
- public TasksReminderDialog(Shell parentShell, List<ITask> remTasks) {
- super(parentShell);
- tasks = remTasks;
- setShellStyle(SWT.CLOSE | SWT.MIN | SWT.MODELESS | SWT.BORDER | SWT.TITLE);
- }
-
- @Override
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText("Reminders");
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- setBlockOnOpen(false);
- GridLayout gl = new GridLayout(1, false);
- composite.setLayout(gl);
- GridData data = new GridData(GridData.FILL_BOTH);
- composite.setLayoutData(data);
-
- Composite container = new Composite(composite, SWT.NONE);
- gl = new GridLayout(1, false);
- container.setLayout(gl);
- createTable(container);
- createTableViewer();
-
- return composite;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, DISMISS_ALL_ID, DISMISS_ALL_LABEL, false);
- createButton(parent, DISMISS_ID, DISMISS_LABEL, false);
- createButton(parent, SNOOZE_ID, SNOOZE_ALL_LABEL, true);
- }
-
- private void createTable(Composite parent) {
- int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
- table = new Table(parent, style );
- GridLayout tlayout = new GridLayout();
- table.setLayout(tlayout);
- GridData wd = new GridData(GridData.FILL_BOTH);
- wd.heightHint = 300;
- table.setLayoutData(wd);
-
- table.setLinesVisible(true);
- table.setHeaderVisible(true);
-
- TableColumn column = new TableColumn(table, SWT.LEFT, 0);
- column.setText(columnNames[0]);
- column.setWidth(180);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- tableViewer.setSorter(new ReminderTaskSorter(ReminderTaskSorter.DESCRIPTION));
-
- }
- });
-
- column = new TableColumn(table, SWT.LEFT, 1);
- column.setText(columnNames[1]);
- column.setWidth(50);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- tableViewer.setSorter(new ReminderTaskSorter(ReminderTaskSorter.PRIORITY));
- }
- });
-
- column = new TableColumn(table, SWT.LEFT, 2);
- column.setText(columnNames[2]);
- column.setWidth(100);
- column.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- tableViewer.setSorter(new ReminderTaskSorter(ReminderTaskSorter.DATE));
- }
- });
- }
-
- private void createTableViewer() {
- tableViewer = new TableViewer(table);
- tableViewer.setUseHashlookup(true);
- tableViewer.setContentProvider(new ReminderTasksContentProvider());
- tableViewer.setLabelProvider(new ReminderTasksLabelProvider());
- tableViewer.setInput(tasks);
- }
-
-
- protected void buttonPressed(int buttonId) {
- if (buttonId == DISMISS_ALL_ID) {
- for (ITask t : tasks) {
- t.setReminded(true);
- }
- okPressed();
- } else if (buttonId == DISMISS_ID) {
- Object sel = ((IStructuredSelection)tableViewer.getSelection()).getFirstElement();
- if (sel != null && sel instanceof ITask ) {
- ITask t = (ITask) sel;
- t.setReminded(true);
- tasks.remove(t);
- if (tasks.isEmpty()) {
- okPressed();
- } else {
- tableViewer.refresh();
- }
- }
- } else if (buttonId == SNOOZE_ID) {
- Object sel = ((IStructuredSelection)tableViewer.getSelection()).getFirstElement();
- if (sel != null && sel instanceof ITask ) {
- ITask t = (ITask) sel;
- t.setReminded(false);
- t.setReminderDate( new Date(new Date().getTime() + DAY));
- tasks.remove(t);
- if (tasks.isEmpty()) {
- okPressed();
- } else {
- tableViewer.refresh();
- }
- }
- }
- super.buttonPressed(buttonId);
- }
-
- private class ReminderTasksContentProvider implements IStructuredContentProvider {
-
- public Object[] getElements(Object inputElement) {
- return tasks.toArray();
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
- }
-
- private class ReminderTasksLabelProvider extends LabelProvider implements
- ITableLabelProvider {
- public Image getColumnImage(Object element, int columnIndex) {
- return null;
- }
-
- public String getColumnText(Object element, int columnIndex) {
- if (element instanceof ITask) {
- ITask task = (ITask) element;
- switch (columnIndex) {
- case 0:
- return task.getDescription(true);
- case 1:
- return task.getPriority();
- case 2:
- return task.getReminderDateString(true);
- }
- }
- return null;
- }
-
- }
-
- class ReminderTaskSorter extends ViewerSorter {
-
- public final static int DESCRIPTION = 1;
- public final static int PRIORITY = 2;
- public final static int DATE = 3;
-
- private int criteria;
-
- public ReminderTaskSorter(int criteria) {
- super();
- this.criteria = criteria;
- }
-
- @Override
- public int compare(Viewer viewer, Object obj1, Object obj2) {
- ITask t1 = (ITask) obj1;
- ITask t2 = (ITask) obj2;
-
- switch (criteria) {
- case DESCRIPTION:
- return compareDescription(t1, t2);
- case PRIORITY:
- return comparePriority(t1, t2);
- case DATE:
- return compareDate(t1, t2);
- default:
- return 0;
- }
- }
-
- private int compareDescription(ITask task1, ITask task2) {
- return task1.getDescription(false).compareTo(task2.getDescription(false));
- }
-
- private int comparePriority(ITask task1, ITask task2) {
- return task1.getPriority().compareTo(task2.getPriority());
- }
-
- private int compareDate(ITask task1, ITask task2) {
- return task2.getReminderDate().compareTo(task1.getReminderDate());
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/AutoCloseAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/AutoCloseAction.java
deleted file mode 100644
index ed5936211..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/AutoCloseAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class AutoCloseAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.auto.close";
- private static final String LABEL = "Auto Close Editors";
-
- public AutoCloseAction() {
- setText(LABEL);
- setId(ID);
- setChecked(MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.TASKLIST_EDITORS_CLOSE));
- }
-
- @Override
- public void run() {
- boolean on = !MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.TASKLIST_EDITORS_CLOSE);
- MylarTasklistPlugin.getPrefs().setValue(MylarPlugin.TASKLIST_EDITORS_CLOSE, on);
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CollapseAllAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CollapseAllAction.java
deleted file mode 100644
index 8473af797..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CollapseAllAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.packageview.PackagesMessages;
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten
- */
-public class CollapseAllAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.collapse.all";
-
- private TaskListView taskListView;
-
- public CollapseAllAction(TaskListView taskListView) {
- super(PackagesMessages.CollapseAllAction_label);
- this.taskListView = taskListView;
- setId(ID);
- setText("Collapse All");
- setToolTipText("Collapse All");
- setImageDescriptor(TaskListImages.COLLAPSE_ALL);
- JavaPluginImages.setLocalImageDescriptors(this, "collapseall.gif"); //$NON-NLS-1$
- }
-
- public void run() {
- if (taskListView.getViewer() != null) taskListView.getViewer().collapseAll();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java
deleted file mode 100644
index 3ee801ede..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CopyDescriptionAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-
-public class CopyDescriptionAction extends Action {
-
- private static final String DESCRIPTION_PREFIX = "Bugzilla Bug ";
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.copy";
-
- private TaskListView view;
-
- public CopyDescriptionAction(TaskListView view) {
- this.view = view;
- setText("Copy Description");
- setToolTipText("Copy Description");
- setId(ID);
- setImageDescriptor(TaskListImages.COPY);
- }
-
- @Override
- public void run() {
- ISelection selection = this.view.getViewer().getSelection();
- Object obj = ((IStructuredSelection)selection).getFirstElement();
- if (obj instanceof ITaskListElement) {
- ITaskListElement element = (ITaskListElement)obj;
- String description = DESCRIPTION_PREFIX + element.getDescription(true);
-
- // HACK: this should be done using proper copying
- StyledText styledText = new StyledText(view.getFakeComposite(), SWT.NULL);
- styledText.setText(description);
- styledText.selectAll();
- styledText.copy();
- styledText.dispose();
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateCategoryAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateCategoryAction.java
deleted file mode 100644
index 7af18eb0e..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateCategoryAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class CreateCategoryAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.create.category";
-
- private final TaskListView view;
-
- public CreateCategoryAction(TaskListView view) {
- this.view = view;
- setText("Add Category");
- setToolTipText("Add Category");
- setId(ID);
- setImageDescriptor(TaskListImages.CATEGORY_NEW);
- }
-
- @Override
- public void run() {
- InputDialog dialog = new InputDialog(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Enter name",
- "Enter a name for the Category: ",
- "",
- null);
- int dialogResult = dialog.open();
- if (dialogResult == Window.OK) {
- TaskCategory cat = new TaskCategory(dialog.getValue());
- MylarTasklistPlugin.getTaskListManager().addCategory(cat);
- this.view.getViewer().refresh();
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateTaskAction.java
deleted file mode 100644
index 9095497f1..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/CreateTaskAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskInputDialog;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class CreateTaskAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.create.task";
-
- private final TaskListView view;
-
- public CreateTaskAction(TaskListView view) {
- this.view = view;
- setText("Add Task");
- setToolTipText("Add Task");
- setId(ID);
- setImageDescriptor(TaskListImages.TASK_NEW);
- }
-
- @Override
- public void run() {
- TaskInputDialog dialog = new TaskInputDialog(Workbench.getInstance()
- .getActiveWorkbenchWindow().getShell());
- int dialogResult = dialog.open();
- if (dialogResult == Window.OK) {
- Task newTask = new Task(MylarTasklistPlugin.getTaskListManager()
- .genUniqueTaskId(), dialog.getTaskname(), true);
- newTask.setPriority(dialog.getSelectedPriority());
- newTask.setReminderDate(dialog.getReminderDate());
- newTask.setIssueReportURL(dialog.getIssueURL());
-
- Object selectedObject = ((IStructuredSelection) this.view
- .getViewer().getSelection()).getFirstElement();
- if (selectedObject instanceof TaskCategory) {
- newTask.setCategory((TaskCategory) selectedObject);
- ((TaskCategory) selectedObject).addTask(newTask);
- } else {
- MylarTasklistPlugin.getTaskListManager().addRootTask(newTask);
- }
-// MylarUiPlugin.getDefault().setHighlighterMapping(
-// newTask.getHandle(),
-// MylarUiPlugin.getDefault().getDefaultHighlighter().getName());
- this.view.getViewer().refresh();
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DeleteAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DeleteAction.java
deleted file mode 100644
index beb53bd76..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DeleteAction.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class DeleteAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.delete";
-
- private final TaskListView view;
-
- public DeleteAction(TaskListView view) {
- this.view = view;
- setText("Delete");
- setId(ID);
- setImageDescriptor(TaskListImages.REMOVE);
- }
-
- @Override
- public void run() {
-
-// MylarPlugin.getDefault().actionObserved(this);
- Object selectedObject = ((IStructuredSelection) this.view.getViewer()
- .getSelection()).getFirstElement();
- if(selectedObject instanceof ITaskListElement &&
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement)selectedObject) != null){
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement) selectedObject).itemDeleted((ITaskListElement)selectedObject);
- }else if (selectedObject instanceof ITask) {
- ITask task = (ITask) selectedObject;
- if (task.isActive()) {
- MessageDialog.openError(Workbench.getInstance()
- .getActiveWorkbenchWindow().getShell(), "Delete failed",
- "Task must be deactivated in order to delete.");
- return;
- }
-
- String message = task.getDeleteConfirmationMessage();
- boolean deleteConfirmed = MessageDialog.openQuestion(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Confirm delete", message);
- if (!deleteConfirmed)
- return;
-
- MylarTasklistPlugin.getTaskListManager().deleteTask(task);
- MylarPlugin.getContextManager().contextDeleted(task.getHandle(), task.getPath());
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- // if we couldn't get the page, get out of here
- if (page == null)
- return;
- try {
- this.view.closeTaskEditors((ITask) selectedObject, page);
- } catch (Exception e) {
- MylarPlugin.log(e, " deletion failed");
- }
- } else if (selectedObject instanceof TaskCategory) {
- boolean deleteConfirmed = MessageDialog.openQuestion(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Confirm delete",
- "Delete the selected category and all contained tasks?");
- if (!deleteConfirmed)
- return;
-
- TaskCategory cat = (TaskCategory) selectedObject;
- for (ITask task : cat.getChildren()) {
- MylarPlugin.getContextManager().contextDeleted(task.getHandle(), task.getPath());
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (page != null) {
- try {
- this.view.closeTaskEditors(task, page);
- } catch (Exception e) {
- MylarPlugin.log(e, " deletion failed");
- }
- }
- }
- MylarTasklistPlugin.getTaskListManager().deleteCategory(cat);
- } else {
- MessageDialog.openError(Workbench.getInstance()
- .getActiveWorkbenchWindow().getShell(), "Delete failed",
- "Nothing selected.");
- return;
- }
- this.view.getViewer().refresh();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java
deleted file mode 100644
index 479a7045a..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskActivationHistory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListLabelProvider;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-
-/**
- * This abstract class contains some common code used by
- * NextTaskDropDownAction and PreviousTaskDropDownAction
- *
- * @author Wesley Coelho
- */
-public abstract class DropDownTaskNavigateAction extends Action implements IMenuCreator{
- protected final TaskListView view;
- protected TaskActivationHistory taskHistory;
- protected Menu dropDownMenu = null;
- protected TaskListLabelProvider labelProvider = new TaskListLabelProvider();
-
- /** Maximum number of items to appear in the drop-down menu */
- protected final static int MAX_ITEMS = 5;
-
- public DropDownTaskNavigateAction(TaskListView view, TaskActivationHistory history){
- super();
- this.view = view;
- taskHistory = history;
- setMenuCreator(this);
- }
-
- /**
- * Action for navigating to a specified task.
- * This class should be protected but has been
- * made public for testing only
- */
- public class TaskNavigateAction extends Action {
-
- private ITask targetTask;
- private static final int MAX_LABEL_LENGTH = 40;
-
- public TaskNavigateAction(ITask task){
- targetTask = task;
- String taskDescription = task.getDescription(true);
- if(taskDescription.length() > MAX_LABEL_LENGTH){
- taskDescription = taskDescription.subSequence(0, MAX_LABEL_LENGTH - 3) + "...";
- }
- setText(taskDescription);
- setEnabled(true);
- setToolTipText(task.getDescription(true));
- Image image = labelProvider.getColumnImage(task, 1);
- setImageDescriptor(TaskListImages.getImageDescriptor(image));
- }
-
- public void run(){
- new TaskActivateAction().run(targetTask);
- taskHistory.navigatedToTask(targetTask); //Notify the task history of arbitrary history navigation
- setButtonStatus();
- view.getViewer().refresh();
- }
- }
-
- public void dispose() {
- if (dropDownMenu != null) {
- dropDownMenu.dispose();
- dropDownMenu = null;
- }
- }
-
- public Menu getMenu(Control parent) {
- if (dropDownMenu != null) {
- dropDownMenu.dispose();
- }
- dropDownMenu = new Menu(parent);
- addActionsToMenu();
- return dropDownMenu;
- }
-
- public Menu getMenu(Menu parent) {
- if (dropDownMenu != null) {
- dropDownMenu.dispose();
- }
- dropDownMenu = new Menu(parent);
- addActionsToMenu();
- return dropDownMenu;
- }
-
- protected void setButtonStatus(){
- view.getPreviousTaskAction().setEnabled(taskHistory.hasPrevious());
- view.getNextTaskAction().setEnabled(taskHistory.hasNext());
- }
-
- protected abstract void addActionsToMenu();
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/FilterCompletedTasksAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/FilterCompletedTasksAction.java
deleted file mode 100644
index 404b1a38a..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/FilterCompletedTasksAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class FilterCompletedTasksAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.filter.completed";
-
- private final TaskListView view;
-
- public FilterCompletedTasksAction(TaskListView view) {
- this.view = view;
- setText("Filter Completed Tasks");
- setToolTipText("Filter Completed Tasks");
- setId(ID);
- setImageDescriptor(TaskListImages.FILTER_COMPLETE);
- setChecked(MylarTasklistPlugin.getDefault().isFilterCompleteMode());
- }
-
- @Override
- public void run() {
-// MylarPlugin.getDefault().actionObserved(this);
- MylarTasklistPlugin.getDefault().setFilterCompleteMode(isChecked());
- if (isChecked()) {
- view.addFilter(view.getCompleteFilter());
-// filterInCompleteTask.setChecked(false);
-// viewer.removeFilter(inCompleteFilter);
- } else {
- view.removeFilter(view.getCompleteFilter());
- }
- this.view.getViewer().refresh();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoIntoAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoIntoAction.java
deleted file mode 100644
index c675f8a6f..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoIntoAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @author Mik Kersten
- */
-public class GoIntoAction extends Action implements IViewActionDelegate {
-
-// public static final String ID = "org.eclipse.mylar.tasklist.actions.view.go.into";
-//
-// private DrillDownAdapter drillDownAdapter;
-//
-// public GoIntoAction(DrillDownAdapter drillDownAdapter) {
-// this.drillDownAdapter = drillDownAdapter;
-//
-// setId(ID);
-// setText("Go Into Category");
-// setToolTipText("Go Into Category");
-// setImageDescriptor(TaskListImages.GO_INTO);
-// }
-
- public void init(IViewPart view) {
- // TODO Auto-generated method stub
-
- }
-
- public void run(IAction action) {
- if(TaskListView.getDefault() != null){
- TaskListView.getDefault().goIntoCategory();
- }
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- // TODO Auto-generated method stub
-
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java
deleted file mode 100644
index b4af820e4..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/GoUpAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.part.DrillDownAdapter;
-
-public class GoUpAction extends Action {
-
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.view.go.up";
-
- private DrillDownAdapter drillDownAdapter;
-
- public GoUpAction(DrillDownAdapter drillDownAdapter) {
- this.drillDownAdapter = drillDownAdapter;
- setText("Go Up To Root");
- setToolTipText("Go Up To Root");
- setId(ID);
- setImageDescriptor(TaskListImages.GO_UP);
- }
-
- @Override
- public void run() {
- drillDownAdapter.goBack();
- if(TaskListView.getDefault() != null){
- TaskListView.getDefault().updateDrillDownActions();
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskCompleteAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskCompleteAction.java
deleted file mode 100644
index d501cb458..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskCompleteAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class MarkTaskCompleteAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.mark.completed";
-
- private final TaskListView view;
-
- public MarkTaskCompleteAction(TaskListView view) {
- this.view = view;
- setText("Mark Complete");
- setToolTipText("Mark Complete");
- setId(ID);
- setImageDescriptor(TaskListImages.TASK_COMPLETE);
- }
- @Override
- public void run() {
-// MylarPlugin.getDefault().actionObserved(this);
- Object selectedObject = ((IStructuredSelection)this.view.getViewer().getSelection()).getFirstElement();
- if(selectedObject instanceof ITask &&
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITask)selectedObject) != null) {
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITask)selectedObject).taskCompleted((ITask)selectedObject);
- }else if (selectedObject instanceof Task){
- ((Task)selectedObject).setCompleted(true);
-
- }
- this.view.getViewer().refresh();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskIncompleteAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskIncompleteAction.java
deleted file mode 100644
index a8c6ad835..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MarkTaskIncompleteAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class MarkTaskIncompleteAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.mark.incomplete";
-
- private final TaskListView view;
-
- public MarkTaskIncompleteAction(TaskListView view) {
- this.view = view;
- setText("Mark Incomplete");
- setToolTipText("Mark Incomplete");
- setId(ID);
- setImageDescriptor(TaskListImages.TASK_INCOMPLETE);
- }
- @Override
- public void run() {
-// MylarPlugin.getDefault().actionObserved(this);
- Object selectedObject = ((IStructuredSelection)this.view.getViewer().getSelection()).getFirstElement();
- if (selectedObject instanceof Task){
- ((Task)selectedObject).setCompleted(false);
- }
- this.view.getViewer().refresh();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MoveTaskToRootAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MoveTaskToRootAction.java
deleted file mode 100644
index d8bc0252c..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/MoveTaskToRootAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class MoveTaskToRootAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.move.toroot";
-
-// private final TaskListView view;
- public MoveTaskToRootAction(TaskListView view) {
-// this.view = view;
- setText("Move Task to Root");
- setToolTipText("Move Task to Root");
- setId(ID);
- }
- @Override
- public void run() {
- throw new RuntimeException("unimplemented");
-// ISelection selection = this.view.getViewer().getSelection();
-// Object obj = ((IStructuredSelection)selection).getFirstElement();
-// if (obj instanceof ITask) {
-// ITask t = (ITask) obj;
-// TaskCategory cat = t.getCategory();
-// if (cat != null) {
-// cat.removeTask(t);
-// t.setCategory(null);
-// t.setParent(null);
-// MylarTasklistPlugin.getTaskListManager().getTaskList().addRootTask(t);
-// this.view.getViewer().refresh();
-// } else if (t.getParent() != null) {
-// t.getParent().removeSubTask(t);
-// t.setParent(null);
-// MylarTasklistPlugin.getTaskListManager().getTaskList().addRootTask(t);
-// this.view.getViewer().refresh();
-// }
-// }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java
deleted file mode 100644
index d04ac4ccc..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskActivationHistory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Wesley Coelho
- */
-public class NextTaskDropDownAction extends DropDownTaskNavigateAction {
- public static final String ID = "org.eclipse.mylar.tasklist.actions.navigate.next";
-
- public NextTaskDropDownAction(TaskListView view, TaskActivationHistory history){
- super(view, history);
- setText("Next Task");
- setToolTipText("Next Task");
- setId(ID);
- setEnabled(false);
- setImageDescriptor(TaskListImages.NAVIGATE_NEXT);
- }
-
- protected void addActionsToMenu(){
- List<ITask> tasks = taskHistory.getNextTasks();
-
- if(tasks.size() > MAX_ITEMS){
- tasks = tasks.subList(0, MAX_ITEMS);
- }
-
- for(int i = 0; i < tasks.size(); i++){
- ITask currTask = tasks.get(i);
- Action taskNavAction = new TaskNavigateAction(currTask);
- ActionContributionItem item = new ActionContributionItem(taskNavAction);
- item.fill(dropDownMenu, -1);
- }
- }
-
- public void run() {
- if (taskHistory.hasNext()) {
- new TaskActivateAction().run(taskHistory.getNextTask());
- setButtonStatus();
- view.getViewer().refresh();
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/OpenTaskEditorAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/OpenTaskEditorAction.java
deleted file mode 100644
index 6ee763879..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/OpenTaskEditorAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class OpenTaskEditorAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.open";
-
- private final TaskListView view;
-
- /**
- * @param view
- */
- public OpenTaskEditorAction(TaskListView view) {
- this.view = view;
- setText("Open");
- setToolTipText("Open Tasklist Element");
- setId(ID);
- }
-
- @Override
- public void run() {
- ISelection selection = this.view.getViewer().getSelection();
- Object obj = ((IStructuredSelection)selection).getFirstElement();
- if (obj instanceof ITaskListElement) {
- ITaskListElement element = (ITaskListElement)obj;
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(element);
- if(taskHandler != null){
- taskHandler.itemOpened(element);
- } else{
- if(element instanceof Task){
- ((Task)element).openTaskInEditor(false);
- } else if (element instanceof TaskCategory) {
- ((TaskCategory)element).openCategoryInEditor(false);
- }
- }
- }
- this.view.getViewer().refresh(obj);
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java
deleted file mode 100644
index 3e04120a9..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskActivationHistory;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-
-/**
- * @author Wesley Coelho
- */
-public class PreviousTaskDropDownAction extends DropDownTaskNavigateAction {
- public static final String ID = "org.eclipse.mylar.tasklist.actions.navigate.previous";
-
- public PreviousTaskDropDownAction(TaskListView view, TaskActivationHistory history){
- super(view, history);
- setText("Previous Task");
- setToolTipText("Previous Task");
- setId(ID);
- setEnabled(true);
- setImageDescriptor(TaskListImages.NAVIGATE_PREVIOUS);
- }
-
- protected void addActionsToMenu(){
- List<ITask> tasks = taskHistory.getPreviousTasks();
-
- if(tasks.size() > MAX_ITEMS){
- tasks = tasks.subList(tasks.size() - MAX_ITEMS, tasks.size());
- }
-
- for(int i = tasks.size() - 1; i >= 0; i--){
- ITask currTask = tasks.get(i);
- Action taskNavAction = new TaskNavigateAction(currTask);
- ActionContributionItem item= new ActionContributionItem(taskNavAction);
- item.fill(dropDownMenu, -1);
- }
- }
-
- public void run() {
- if (taskHistory.hasPrevious()) {
- new TaskActivateAction().run(taskHistory.getPreviousTask());
- setButtonStatus();
- view.getViewer().refresh();
- }
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RemoveFromCategoryAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RemoveFromCategoryAction.java
deleted file mode 100644
index e596dfef5..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RemoveFromCategoryAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * @author Ken Sueda
- */
-public class RemoveFromCategoryAction extends Action {
- public static final String ID = "org.eclipse.mylar.tasklist.actions.remove";
-
- private final TaskListView view;
-
- public RemoveFromCategoryAction(TaskListView view) {
- this.view = view;
- setText("Remove From Category");
- setId(ID);
-// setImageDescriptor(TaskListImages.REMOVE);
- }
-
- @Override
- public void run() {
- try {
- Object selectedObject = ((IStructuredSelection) this.view.getViewer()
- .getSelection()).getFirstElement();
- if(selectedObject instanceof ITaskListElement &&
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement)selectedObject) != null) {
- TreeItem item = this.view.getViewer().getTree().getSelection()[0];
- ITaskListElement selectedElement = (ITaskListElement)selectedObject;
- ITaskHandler handler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(selectedElement);
- if (item.getParentItem() != null) {
- handler.itemRemoved(selectedElement, (ITaskListCategory)item.getParentItem().getData());
- }
- } else if (selectedObject instanceof ITask) {
- ITask task = (ITask) selectedObject;
- if (task.isActive()) {
- MessageDialog.openError(Workbench.getInstance()
- .getActiveWorkbenchWindow().getShell(), "Remove failed",
- "Task must be deactivated in order to remove from category.");
- return;
- }
- ITaskListCategory cat = task.getCategory();
- if (cat != null) {
- cat.removeTask(task);
- } else {
- String message = task.getDeleteConfirmationMessage();
- boolean deleteConfirmed = MessageDialog.openQuestion(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Confirm delete", message);
- if (!deleteConfirmed)
- return;
-
- MylarTasklistPlugin.getTaskListManager().deleteTask(task);
- MylarPlugin.getContextManager().contextDeleted(task.getHandle(), task.getPath());
- }
-
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
- // if we couldn't get the page, get out of here
- if (page == null)
- return;
- try {
- this.view.closeTaskEditors((ITask) selectedObject, page);
- } catch (Exception e) {
- MylarPlugin.log(e, " remove failed");
- }
- }
- this.view.getViewer().refresh();
- } catch (NullPointerException npe) {
- MylarPlugin.fail(npe, "Could not remove task from category, it may still be refreshing.", true);
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java
deleted file mode 100644
index abe30eb87..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/RenameAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.swt.SWT;
-
-public class RenameAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.rename";
-
- private TaskListView view;
-
- public RenameAction(TaskListView view) {
- this.view = view;
- setText("Rename");
- setId(ID);
- setAccelerator(SWT.F2);
- }
-
- @Override
- public void run() {
- Object selectedObject = ((IStructuredSelection) this.view
- .getViewer().getSelection()).getFirstElement();
- if(selectedObject instanceof ITaskListElement){
- ITaskListElement element = (ITaskListElement)selectedObject;
- view.setInRenameAction(true);
- view.getViewer().editElement(element, 3);
- view.setInRenameAction(false);
- }
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskActivateAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskActivateAction.java
deleted file mode 100644
index b147f04cb..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskActivateAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class TaskActivateAction extends Action implements IViewActionDelegate {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.context.activate";
-
- public ITask task = null;
-
- public TaskActivateAction() {
- setId(ID);
- setText("Activate");
- setImageDescriptor(TaskListImages.TASK_ACTIVE);
- }
-
- public void init(IViewPart view) {
- // TODO Auto-generated method stub
-
- }
-
- public void run() {
- MylarPlugin.getContextManager().actionObserved(this, Boolean.TRUE.toString());
- run(TaskListView.getDefault().getSelectedTask());
- }
-
- public void run(ITask task) {
- if (task != null) {
- MylarTasklistPlugin.getTaskListManager().activateTask(task);
- TaskListView.getDefault().getViewer().refresh();
- }
- }
-
- public void run(IAction action) {
- run();
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- // TODO Auto-generated method stub
-
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskDeactivateAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskDeactivateAction.java
deleted file mode 100644
index 2a5c15826..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/TaskDeactivateAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.ui.views.TaskListView;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * @author Mik Kersten
- */
-public class TaskDeactivateAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.context.deactivate";
-
- public TaskDeactivateAction() {
- setId(ID);
- setText("Deactivate");
- setImageDescriptor(TaskListImages.TASK_INACTIVE);
- }
-
- public void run(ITask task) {
- MylarPlugin.getContextManager().actionObserved(this, Boolean.FALSE.toString());
- IWorkbenchPage page = MylarTasklistPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (page == null) return;
- try {
- if (task != null) {
- MylarTasklistPlugin.getTaskListManager().deactivateTask(task);
- TaskListView.getDefault().getViewer().refresh();
- TaskListView.getDefault().closeTaskEditors(task, page);
- }
- } catch (Exception e) {
- MylarPlugin.log(e, " Closing task editor on task deactivation failed");
- }
- }
-
- public void run() {
- run(TaskListView.getDefault().getSelectedTask());
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java
deleted file mode 100644
index 284fbedb6..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/WorkOfflineAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-
-public class WorkOfflineAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.work.offline";
-
- public WorkOfflineAction() {
- setId(ID);
- setText("Work Offline");
- setToolTipText("Work Offline");
- setChecked(MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.WORK_OFFLINE));
- }
-
- @Override
- public void run() {
- boolean on = !MylarTasklistPlugin.getPrefs().getBoolean(MylarPlugin.WORK_OFFLINE);
- MylarTasklistPlugin.getPrefs().setValue(MylarPlugin.WORK_OFFLINE, on);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java
deleted file mode 100644
index cfd20c4f8..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.preferences;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda
- */
-public class MylarTasklistPreferencePage extends PreferencePage implements
- IWorkbenchPreferencePage {
-
- private Text taskDirectoryText;
- private Text taskURLPrefixText;
- private Button browse;
- private Button reportEditor = null;
- private Button reportInternal = null;
-// private Button reportExternal = null;
- private Button multipleActive = null;
-
- public MylarTasklistPreferencePage() {
- super();
- setPreferenceStore(MylarTasklistPlugin.getPrefs());
- }
-
- @Override
- protected Control createContents(Composite parent) {
- Composite container = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout(1, false);
- container.setLayout (layout);
-
- createCreationGroup(container);
- createTaskDirectoryControl(container);
- createBugzillaReportOption(container);
- createUserbooleanControl(container);
- return container;
- }
-
- public void init(IWorkbench workbench) {
- // TODO Auto-generated method stub
- }
-
- private void createUserbooleanControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NULL);
- GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- container.setLayoutData(gridData);
- GridLayout gl = new GridLayout(1, false);
- container.setLayout(gl);
-// closeEditors = new Button(container, SWT.CHECK);
-// closeEditors.setText("Close all editors on task deactivation (defaults to close only editors of interesting resources)");
-// closeEditors.setSelection(getPreferenceStore().getBoolean(MylarPlugin.TASKLIST_EDITORS_CLOSE));
-
- multipleActive = new Button(container, SWT.CHECK);
- multipleActive.setText("Enable multiple task contexts to be active");
- multipleActive.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.MULTIPLE_ACTIVE_TASKS));
- }
-
- private void createBugzillaReportOption(Composite parent) {
- Group container= new Group(parent, SWT.SHADOW_ETCHED_IN);
-// GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-// container.setLayoutData(gridData);
- container.setLayout(new RowLayout());
- container.setText("Open Bug Reports With");
- reportEditor = new Button(container, SWT.RADIO);
- reportEditor.setText("Bug editor");
- reportEditor.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.REPORT_OPEN_EDITOR));
- reportInternal = new Button(container, SWT.RADIO);
- reportInternal.setText("Internal browser");
- reportInternal.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.REPORT_OPEN_INTERNAL));
-// reportExternal = new Button(container, SWT.RADIO);
-// reportExternal.setText("External browser");
-// reportExternal.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.REPORT_OPEN_EXTERNAL));
-// reportExternal.setEnabled(false);
- }
-
- @Override
- public boolean performOk() {
- String taskDirectory = taskDirectoryText.getText();
- taskDirectory = taskDirectory.replaceAll("\\\\", "/");
- getPreferenceStore().setValue(MylarPlugin.MYLAR_DIR, taskDirectory);
-
- getPreferenceStore().setValue(MylarTasklistPlugin.REPORT_OPEN_EDITOR, reportEditor.getSelection());
- getPreferenceStore().setValue(MylarTasklistPlugin.REPORT_OPEN_INTERNAL, reportInternal.getSelection());
-// getPreferenceStore().setValue(MylarTasklistPlugin.REPORT_OPEN_EXTERNAL, reportExternal.getSelection());
- getPreferenceStore().setValue(MylarTasklistPlugin.DEFAULT_URL_PREFIX, taskURLPrefixText.getText());
- getPreferenceStore().setValue(MylarTasklistPlugin.MULTIPLE_ACTIVE_TASKS, multipleActive.getSelection());
- return true;
- }
-
- @Override
- public boolean performCancel() {
-// closeEditors.setSelection(getPreferenceStore().getBoolean(MylarPlugin.TASKLIST_EDITORS_CLOSE));
- reportEditor.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.REPORT_OPEN_EDITOR));
- reportInternal.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.REPORT_OPEN_INTERNAL));
-// reportExternal.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.REPORT_OPEN_EXTERNAL));
- multipleActive.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.MULTIPLE_ACTIVE_TASKS));
-// saveCombo.setText(getPreferenceStore().getString(MylarTasklistPlugin.SAVE_TASKLIST_MODE));
- return true;
- }
-
- public void performDefaults() {
- super.performDefaults();
-
- IPath rootPath = ResourcesPlugin.getWorkspace().getRoot().getLocation();
- String taskDirectory = rootPath.toString() + "/" +MylarPlugin.MYLAR_DIR_NAME;
- taskDirectoryText.setText(taskDirectory);
-
- reportEditor.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.REPORT_OPEN_EDITOR));
- reportInternal.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.REPORT_OPEN_INTERNAL));
-// reportExternal.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.REPORT_OPEN_EXTERNAL));
- taskURLPrefixText.setText(getPreferenceStore().getDefaultString(MylarTasklistPlugin.DEFAULT_URL_PREFIX));
- multipleActive.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.MULTIPLE_ACTIVE_TASKS));
- }
-
- private Label createLabel(Composite parent, String text) {
- Label label = new Label(parent, SWT.LEFT);
- label.setText(text);
- GridData data = new GridData();
- data.horizontalSpan = 2;
- data.horizontalAlignment = GridData.BEGINNING;
- label.setLayoutData(data);
- return label;
- }
-
- private void createTaskDirectoryControl(Composite parent) {
- Group taskDirComposite= new Group(parent, SWT.SHADOW_ETCHED_IN);
- taskDirComposite.setText("Task Directory");
- taskDirComposite.setLayout(new GridLayout(2, false));
- taskDirComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- String taskDirectory = getPreferenceStore().getString(MylarPlugin.MYLAR_DIR);
- taskDirectory = taskDirectory.replaceAll("\\\\", "/");
- taskDirectoryText = new Text(taskDirComposite, SWT.BORDER);
- taskDirectoryText.setText(taskDirectory);
- taskDirectoryText.setEditable(false);
- taskDirectoryText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-
- browse = createButton(taskDirComposite, "Browse...");
- if (!MylarPlugin.getContextManager().hasActiveContext()) {
- browse.setEnabled(true);
- } else {
- browse.setEnabled(false);
- createLabel(taskDirComposite, "NOTE: if you have a task active, deactivate it before changing directories");
- }
- browse.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- DirectoryDialog dialog = new DirectoryDialog(getShell());
- dialog.setText("Folder Selection");
- dialog.setMessage("Specify the folder for tasks");
- String dir = taskDirectoryText.getText();
- dir = dir.replaceAll("\\\\", "/");
- dialog.setFilterPath(dir);
-
- dir = dialog.open();
- if(dir == null || dir.equals(""))
- return;
- taskDirectoryText.setText(dir);
- }
- });
- }
-
- private void createCreationGroup(Composite parent) {
- Group group = new Group(parent, SWT.SHADOW_ETCHED_IN);
- group.setText("Task Creation");
- group.setLayout(new GridLayout(1, false));
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label urlLabel = createLabel(group, "Web link prefix (e.g. https://bugs.eclipse.org/bugs/show_bug.cgi?id=)");
- urlLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- String taskURLPrefix = getPreferenceStore().getString(MylarTasklistPlugin.DEFAULT_URL_PREFIX);
- taskURLPrefixText = new Text(group, SWT.BORDER);
- taskURLPrefixText.setText(taskURLPrefix);
- taskURLPrefixText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- }
-
- private Button createButton(Composite parent, String text) {
- Button button = new Button(parent, SWT.TRAIL);
- button.setText(text);
- button.setVisible(true);
- return button;
- }
-}
-
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/DateChooserDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/DateChooserDialog.java
deleted file mode 100644
index 4d65acb07..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/DateChooserDialog.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.views;
-
-import java.util.Calendar;
-import java.util.Date;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.mylar.tasklist.contribution.DatePicker;
-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.Shell;
-
-/**
- * @author Ken Sueda
- */
-public class DateChooserDialog extends Dialog {
-
- private DatePicker picker = null;
- private Calendar reminderDate = null;
-
- public DateChooserDialog(Shell parentShell) {
- super(parentShell);
- }
-
- public DateChooserDialog(Shell parentShell, Date reminderDate) {
- super(parentShell);
- this.reminderDate = Calendar.getInstance();
- this.reminderDate.setTime(reminderDate);
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- GridLayout gl = new GridLayout(1, false);
- composite.setLayout(gl);
- GridData data = new GridData(GridData.FILL_BOTH);
-
- picker = new DatePicker(composite, SWT.NONE);
-// picker.setDate()
-
- data.heightHint = 90; // HACK
- picker.setLayoutData(data);
- return composite;
- }
-
-
- protected void buttonPressed(int buttonId) {
- if (buttonId == IDialogConstants.OK_ID) {
- reminderDate = picker.getDate();
- } else {
- }
- super.buttonPressed(buttonId);
- }
-
- public Calendar getReminderDate() {
- return reminderDate;
- }
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText("Select date");
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java
deleted file mode 100644
index 2bc7de6ab..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.mylar.core.InteractionEvent;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-
-/**
-* @author Ken Sueda (original prototype)
-* @author Wesley Coelho (Added persistent tasks)
-*/
-public class TaskActivationHistory {
-
- private List<ITask> history = new ArrayList<ITask>();
-
- private int currentIndex = -1;
-
- /** The number of tasks from the previous session to load into the history*/
- private static final int PERSISTENT_HISTORY_SIZE = 16;
-
- private boolean persistentHistoryLoaded = false;
-
- /**
- * Load in a number of saved history tasks from previous session.
- * Should be called from constructor but ContextManager doesn't
- * seem to be able to provide activity history at that point
- * @author Wesley Coelho
- */
- protected void loadPersistentHistory(){
- int tasksAdded = 0;
-
- for(int i = MylarPlugin.getContextManager().getActivityHistory().getInteractionHistory().size() - 1; i >=0; i--){
- ITask prevTask = getHistoryTaskAt(i);
-
- if (prevTask != null && !isDuplicate(prevTask, i + 1)) {
- history.add(0, prevTask);
- currentIndex++;
- tasksAdded++;
- if (tasksAdded == PERSISTENT_HISTORY_SIZE){
- break;
- }
- }
- }
- }
-
- /**
- * Returns true if the specified task appears in the activity
- * history between the starting index and the end of the history list.
- * @author Wesley Coelho
- */
- protected boolean isDuplicate(ITask task, int startingIndex){
- for (int i = startingIndex; i < MylarPlugin.getContextManager().getActivityHistory().getInteractionHistory().size(); i++){
- ITask currTask = getHistoryTaskAt(i);
- if(currTask != null && currTask.getHandle() == task.getHandle()){
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns the task corresponding to the interaction event history item at the specified position
- * @author Wesley Coelho
- */
- protected ITask getHistoryTaskAt(int pos){
- InteractionEvent event = MylarPlugin.getContextManager().getActivityHistory().getInteractionHistory().get(pos);
- return MylarTasklistPlugin.getTaskListManager().getTaskForHandle(event.getStructureHandle(), false);
- }
-
- public void addTask(ITask task) {
- try {
- if (!persistentHistoryLoaded){
- loadPersistentHistory();
- persistentHistoryLoaded = true;
- }
-
- if (hasNext()) {
- for (int i = currentIndex+1; i < history.size();) {
- history.remove(i);
- }
- }
- if (history.remove(task)){
- currentIndex--;
- }
- history.add(task);
- currentIndex++;
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not add task to history", false);
- }
- }
-
- public ITask getPreviousTask() {
- try {
- if (hasPrevious()) {
- if((currentIndex == 0 && !history.get(currentIndex).isActive())){
- return history.get(currentIndex);
- } else {
- return history.get(--currentIndex);
- }
- } else {
- return null;
- }
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not get previous task from history", false);
- return null;
- }
- }
-
- /**
- * Get a list of the preceding tasks in the history.
- * navigatedToTask(Task) should be called to notify
- * the history if the user navigates to an arbitrary
- * previous task from this list
- * @author Wesley Coelho
- */
- public List<ITask> getPreviousTasks(){
- try {
-
- if(!hasPrevious()){
- return new ArrayList<ITask>();
- }
-
- if(history.get(currentIndex).isActive()){
- return history.subList(0, currentIndex);
- }
- else{
- return history.subList(0, currentIndex + 1);
- }
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not get previous tasks from history", false);
- return new ArrayList<ITask>();
- }
- }
-
- /**
- * Get a list of the next tasks in the history.
- * navigatedToTask(Task) should be called to notify
- * the history if the user navigates to an arbitrary
- * next task from this list
- * @author Wesley Coelho
- */
- public List<ITask> getNextTasks(){
- try {
- return history.subList(currentIndex + 1, history.size());
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not get next tasks from history", false);
- return new ArrayList<ITask>();
- }
- }
-
- /**
- * Use this method to notify the task history that the
- * user has navigated to an arbitrary task in the history
- * without using getNextTask() or getPreviousTask()
- * @author Wesley Coelho
- */
- public void navigatedToTask(ITask task){
- for(int i = 0; i < history.size(); i++){
- if (history.get(i).getHandle() == task.getHandle()){
- currentIndex = i;
- break;
- }
- }
- }
-
- public boolean hasPrevious() {
- try {
- if (!persistentHistoryLoaded){
- loadPersistentHistory();
- persistentHistoryLoaded = true;
- }
-
- return (currentIndex == 0 && !history.get(currentIndex).isActive()) || currentIndex > 0;
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could determine previous task", false);
- return false;
- }
- }
-
- public ITask getNextTask() {
- try {
- if (hasNext()) {
- return history.get(++currentIndex);
- } else {
- return null;
- }
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not get next task", false);
- return null;
- }
- }
-
- public boolean hasNext() {
- try {
- return currentIndex < history.size() - 1;
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not get next task", false);
- return false;
- }
- }
-
- public void clear() {
- try {
- history.clear();
- currentIndex = -1;
- } catch (RuntimeException e) {
- MylarPlugin.fail(e, "could not clear history", false);
- }
- }
-}
-
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskInputDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskInputDialog.java
deleted file mode 100644
index e0d42636d..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskInputDialog.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.views;
-
-import java.util.Date;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.contribution.DatePicker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author Ken Sueda
- * @author Wesley Coelho (Extended to allow URL input)
- */
-public class TaskInputDialog extends Dialog {
-
- private static final String LABEL_SHELL = "New Task";
- private static final String LABEL_DESCRIPTION = "Description:";
- private String taskName = "";
- private String priority = "P3";
- private String url = "http://";
- private Date reminderDate = null;
- private Text taskNameTextWidget = null;
- private Text issueURLTextWidget = null;
-
- public TaskInputDialog(Shell parentShell) {
- super(parentShell);
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- GridLayout gl = new GridLayout(4, false);
- composite.setLayout(gl);
- GridData data = new GridData(GridData.GRAB_HORIZONTAL
- | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL
- | GridData.VERTICAL_ALIGN_CENTER);
- data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
- composite.setLayoutData(data);
-
- Label taskNameLabel = new Label(composite, SWT.WRAP);
- taskNameLabel.setText(LABEL_DESCRIPTION);
- taskNameLabel.setFont(parent.getFont());
-
- taskNameTextWidget = new Text(composite, SWT.SINGLE | SWT.BORDER);
- taskNameTextWidget.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
- | GridData.HORIZONTAL_ALIGN_FILL));
-
- final Combo c = new Combo(composite, SWT.NO_BACKGROUND | SWT.MULTI
- | SWT.V_SCROLL | SWT.READ_ONLY | SWT.DROP_DOWN);
- c.setItems(TaskListView.PRIORITY_LEVELS);
- c.setText(priority);
- c.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- priority = c.getText();
- }
- public void widgetDefaultSelected(SelectionEvent e) {
- widgetSelected(e);
- }
- });
-
- final DatePicker datePicker = new DatePicker(composite, SWT.NULL);
- datePicker.setDateText("<reminder>");
- datePicker.addPickerSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent arg0) {
- reminderDate = datePicker.getDate().getTime();
- }
-
- public void widgetDefaultSelected(SelectionEvent arg0) {
- // ignore
- }
- });
-
-
- Label urlLabel = new Label(composite, SWT.WRAP);
- urlLabel.setText("Web Link:");
- urlLabel.setFont(parent.getFont());
-
- issueURLTextWidget = new Text(composite, SWT.SINGLE | SWT.BORDER);
- issueURLTextWidget.setText(getDefaultIssueURL());
- GridData urlData = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- urlData.horizontalSpan = 3;
- issueURLTextWidget.setLayoutData(urlData);
-
-
- return composite;
- }
-
- protected String getDefaultIssueURL(){
- String defaultURL = url;
-
- String defaultPrefix = MylarPlugin.getDefault().getPreferenceStore().getString(MylarTasklistPlugin.DEFAULT_URL_PREFIX);
- if (!defaultPrefix.equals("")){
- defaultURL = defaultPrefix;
- }
-
- return defaultURL;
- }
-
- public String getSelectedPriority() {
- return priority;
- }
-
- public String getTaskname() {
- return taskName;
- }
-
- public Date getReminderDate() {
- return reminderDate;
- }
-
- public String getIssueURL(){
- return url;
- }
-
- protected void buttonPressed(int buttonId) {
- if (buttonId == IDialogConstants.OK_ID) {
- taskName = taskNameTextWidget.getText();
- url = issueURLTextWidget.getText();
- } else {
- taskName = null;
- }
- super.buttonPressed(buttonId);
- }
-
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText(LABEL_SHELL);
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListContentProvider.java
deleted file mode 100644
index b4ec6a019..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListContentProvider.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskFilter;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author Mik Kersten
- */
-public class TaskListContentProvider implements IStructuredContentProvider, ITreeContentProvider {
-
- private final TaskListView view;
-
- public TaskListContentProvider(TaskListView view) {
- this.view = view;
- }
-
- public void inputChanged(Viewer v, Object oldInput, Object newInput) {
- this.view.expandToActiveTasks();
- }
-
- public void dispose() {
- // ignore
- }
-
- public Object[] getElements(Object parent) {
- if (parent.equals(this.view.getViewSite())) {
-// if (MylarTasklistPlugin.getTaskListManager() != null) {
- return applyFilter(MylarTasklistPlugin.getTaskListManager().getTaskList().getRoots()).toArray();
-// } else {
-// return new Object[0];
-// }
-// return MylarTasklistPlugin.getTaskListManager().getTaskList().getRoots().toArray();
- }
- return getChildren(parent);
- }
-
- public Object getParent(Object child) {
- if (child instanceof ITask) {
- if (((ITask)child).getParent() != null) {
- return ((ITask)child).getParent();
- } else {
- return ((ITask)child).getCategory();
- }
-
- }
- return null;
- }
-
- public Object [] getChildren(Object parent) {
- return getFilteredChildrenFor(parent).toArray();
- }
-
- public boolean hasChildren(Object parent) {
- if (parent instanceof ITaskListCategory) {
- ITaskListCategory cat = (ITaskListCategory)parent;
- return cat.getChildren() != null && cat.getChildren().size() > 0;
- } else if (parent instanceof Task) {
- Task t = (Task) parent;
- return t.getChildren() != null && t.getChildren().size() > 0;
- } else if (parent instanceof IQuery) {
- IQuery t = (IQuery) parent;
- return t.getChildren() != null && t.getChildren().size() > 0;
- }
- return false;
- }
- private List<Object> applyFilter(List<Object> list) {
- String filterText = ((Text)this.view.tree.getFilterControl()).getText();
- if (containsNoFilterText(filterText)) {
- List<Object> filteredRoots = new ArrayList<Object>();
- for (int i = 0; i < list.size(); i++) {
- if (list.get(i) instanceof ITask) {
- if (!filter(list.get(i))) {
- filteredRoots.add(list.get(i));
- }
- } else if (list.get(i) instanceof ITaskListCategory) {
-// if(((ITaskListCategory)list.get(i)).isArchive())
-// continue;
- if (selectCategory((ITaskListCategory)list.get(i))) {
- filteredRoots.add(list.get(i));
- }
- } else if (list.get(i) instanceof IQuery) {
- if (selectQuery((IQuery)list.get(i))) {
- filteredRoots.add(list.get(i));
- }
- }
- }
- return filteredRoots;
- } else {
- return list;
- }
- }
-
- /**
- * See bug 109693
- */
- private boolean containsNoFilterText(String filterText) {
- return filterText == null || filterText.length() == 0;
- }
-
- private boolean selectQuery(IQuery cat) {
- List<? extends ITaskListElement> list = cat.getChildren();
- if (list.size() == 0) {
- return true;
- }
- for (int i = 0; i < list.size(); i++) {
- if (!filter(list.get(i))) {
- return true;
- }
- }
- return false;
- }
-
- private boolean selectCategory(ITaskListCategory cat) {
- if(cat.isArchive()){
- for (ITask task: cat.getChildren()) {
- if(task.isActive()){
- ITask t = MylarTasklistPlugin.getTaskListManager().getTaskForHandle(task.getHandle(), false);
- if(t == null)
- return true;
- }
- }
- return false;
- }
- List<? extends ITaskListElement> list = cat.getChildren();
- if (list.size() == 0) {
- return true;
- }
- for (int i = 0; i < list.size(); i++) {
- if (!filter(list.get(i))) {
- return true;
- }
- }
- return false;
- }
-
- private List<Object> getFilteredChildrenFor(Object parent) {
- if (containsNoFilterText(((Text) this.view.tree.getFilterControl()).getText())
- || ((Text) this.view.tree.getFilterControl()).getText().startsWith(TaskListView.FILTER_LABEL)) {
- List<Object> children = new ArrayList<Object>();
- if (parent instanceof ITaskListCategory) {
- if(((ITaskListCategory)parent).isArchive()){
- for (ITask task: ((ITaskListCategory)parent).getChildren()) {
- if(task.isActive()){
- ITask t = MylarTasklistPlugin.getTaskListManager().getTaskForHandle(task.getHandle(), false);
- if(t == null)
- children.add(task);
- }
- }
- return children;
- }
- List<? extends ITaskListElement> list = ((ITaskListCategory) parent)
- .getChildren();
- for (int i = 0; i < list.size(); i++) {
- if (!filter(list.get(i))) {
- children.add(list.get(i));
- }
- }
- return children;
- } else if (parent instanceof IQuery) {
- List<? extends ITaskListElement> list = ((IQuery) parent)
- .getChildren();
- for (int i = 0; i < list.size(); i++) {
- if (!filter(list.get(i))) {
- children.add(list.get(i));
- }
- }
- return children;
- }else if (parent instanceof Task) {
- List<ITask> subTasks = ((Task)parent).getChildren();
- for (ITask t : subTasks) {
- if (!filter(t)) {
- children.add(t);
- }
- }
- return children;
- }
- } else {
- List<Object> children = new ArrayList<Object>();
- if (parent instanceof ITaskListCategory) {
- children.addAll(((ITaskListCategory) parent).getChildren());
- return children;
- } else if (parent instanceof IQuery) {
- children.addAll(((IQuery) parent).getChildren());
- return children;
- }else if (parent instanceof Task) {
- children.addAll(((Task) parent).getChildren());
- return children;
- }
- }
- return new ArrayList<Object>();
- }
-
- private boolean filter(Object obj){
- for (ITaskFilter filter : this.view.filters) {
- if (!filter.select(obj)) {
- return true;
- }
- }
- return false;
- }
- } \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListLabelProvider.java
deleted file mode 100644
index 61243a062..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListLabelProvider.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- * Created on Feb 18, 2005
- */
-package org.eclipse.mylar.tasklist.ui.views;
-
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskHighlighter;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author Mik Kersten
- */
-public class TaskListLabelProvider extends LabelProvider implements IColorProvider, ITableLabelProvider, ITableColorProvider, ITableFontProvider {
-
- private Color backgroundColor = null;
-
- @Override
- public String getText(Object obj){
- return getColumnText(obj, 3);
- }
-
- public String getColumnText(Object obj, int columnIndex) {
- if (obj instanceof ITaskListElement) {
- ITaskListElement element = (ITaskListElement) obj;
- switch (columnIndex) {
- case 0:
- return null;
- case 1:
- return null;
- case 2:
- if (element instanceof ITaskListCategory || element instanceof IQuery) {
- return null;
- }
- return element.getPriority();
- case 3:
- return element.getDescription(true);
- }
- }
- return null;
- }
-
- public Image getColumnImage(Object element, int columnIndex) {
- if (! (element instanceof ITaskListElement)) {
- return null;
- }
- if (columnIndex == 0) {
- if (element instanceof ITaskListCategory || element instanceof IQuery) {
- return ((ITaskListElement)element).getIcon();
- } else {
- return ((ITaskListElement)element).getStatusIcon();
- }
- } else if (columnIndex == 1) {
- if (element instanceof ITaskListCategory || element instanceof IQuery) {
- return null;
- }
- return ((ITaskListElement)element).getIcon();
- } else {
- return null;
- }
- }
-
- public void setBackgroundColor(Color c) {
- this.backgroundColor = c;
- }
-
- public Color getForeground(Object element, int columnIndex) {
- if (element instanceof ITaskListElement) {
- ITaskListElement task = (ITaskListElement)element;
- return task.getForeground();
- }
- return null;
- }
-
- public Color getBackground(Object element, int columnIndex) {
- try {
- if (element instanceof ITask) {
- ITask task = (ITask)element;
- ITaskHighlighter highlighter = MylarTasklistPlugin.getDefault().getHighlighter();
- if (highlighter != null) {
- return highlighter.getHighlightColor(task);
- }
- } else if (element instanceof ITaskListCategory) {
- ITaskListCategory category = (ITaskListCategory)element;
- if (category.isArchive()) {
- return TaskListImages.BACKGROUND_ARCHIVE;
- } else {
- return backgroundColor;
- }
- } else if (element instanceof IQuery) {
- return backgroundColor;
- }
- } catch (Exception e) {
- MylarPlugin.fail(e, "Could not get background color", false);
- }
- return TaskListImages.BACKGROUND_WHITE;
- }
-
- public Font getFont(Object element, int columnIndex) {
- if (element instanceof ITaskListElement) {
- ITaskListElement task = (ITaskListElement)element;
- return task.getFont();
- }
- return null;
- }
-
- public Color getForeground(Object element) {
- return getForeground(element, 0);
- }
-
- public Color getBackground(Object element) {
- return getBackground(element, 0);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
deleted file mode 100644
index 1ccd2157a..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
+++ /dev/null
@@ -1,1300 +0,0 @@
-/*******************************************************************************
- * 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.tasklist.ui.views;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.security.auth.login.LoginException;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerDropAdapter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.dt.MylarWebRef;
-import org.eclipse.mylar.tasklist.IQuery;
-import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskFilter;
-import org.eclipse.mylar.tasklist.ITaskHandler;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
-import org.eclipse.mylar.tasklist.ITaskListDynamicSubMenuContributor;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
-import org.eclipse.mylar.tasklist.Task;
-import org.eclipse.mylar.tasklist.TaskListImages;
-import org.eclipse.mylar.tasklist.internal.TaskCategory;
-import org.eclipse.mylar.tasklist.internal.TaskCompleteFilter;
-import org.eclipse.mylar.tasklist.internal.TaskListPatternFilter;
-import org.eclipse.mylar.tasklist.internal.TaskPriorityFilter;
-import org.eclipse.mylar.tasklist.ui.TaskEditorInput;
-import org.eclipse.mylar.tasklist.ui.actions.AutoCloseAction;
-import org.eclipse.mylar.tasklist.ui.actions.CollapseAllAction;
-import org.eclipse.mylar.tasklist.ui.actions.CopyDescriptionAction;
-import org.eclipse.mylar.tasklist.ui.actions.CreateCategoryAction;
-import org.eclipse.mylar.tasklist.ui.actions.CreateTaskAction;
-import org.eclipse.mylar.tasklist.ui.actions.DeleteAction;
-import org.eclipse.mylar.tasklist.ui.actions.FilterCompletedTasksAction;
-import org.eclipse.mylar.tasklist.ui.actions.GoIntoAction;
-import org.eclipse.mylar.tasklist.ui.actions.GoUpAction;
-import org.eclipse.mylar.tasklist.ui.actions.MarkTaskCompleteAction;
-import org.eclipse.mylar.tasklist.ui.actions.MarkTaskIncompleteAction;
-import org.eclipse.mylar.tasklist.ui.actions.NextTaskDropDownAction;
-import org.eclipse.mylar.tasklist.ui.actions.OpenTaskEditorAction;
-import org.eclipse.mylar.tasklist.ui.actions.PreviousTaskDropDownAction;
-import org.eclipse.mylar.tasklist.ui.actions.RemoveFromCategoryAction;
-import org.eclipse.mylar.tasklist.ui.actions.RenameAction;
-import org.eclipse.mylar.tasklist.ui.actions.TaskActivateAction;
-import org.eclipse.mylar.tasklist.ui.actions.TaskDeactivateAction;
-import org.eclipse.mylar.tasklist.ui.actions.WorkOfflineAction;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.dialogs.FilteredTree;
-import org.eclipse.ui.part.DrillDownAdapter;
-import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * @author Mik Kersten
- * @author Ken Sueda
- */
-public class TaskListView extends ViewPart {
-
- public static final String ID = "org.eclipse.mylar.tasks.ui.views.TaskListView";
- private static final String SEPARATOR_ID_REPORTS = "reports";
- private static final String PART_NAME = "Mylar Tasks";
-
- private static TaskListView INSTANCE;
-
- FilteredTree tree;
- private DrillDownAdapter drillDownAdapter;
-
-// private GoIntoAction goIntoAction;
- private GoUpAction goBackAction;
-
- private WorkOfflineAction workOffline;
-
- private CopyDescriptionAction copyAction;
- private OpenTaskEditorAction openAction;
-
- private CreateTaskAction createTaskAction;
- private CreateCategoryAction createCategory;
-
- private RenameAction rename;
-
- private CollapseAllAction collapseAll;
- private DeleteAction delete;
- private AutoCloseAction autoClose;
- private OpenTaskEditorAction openTaskEditor;
-
- private RemoveFromCategoryAction removeAction;
-
- private MarkTaskCompleteAction completeTask;
- private MarkTaskIncompleteAction incompleteTask;
- private FilterCompletedTasksAction filterCompleteTask;
- private PriorityDropDownAction filterOnPriority;
- private PreviousTaskDropDownAction previousTaskAction;
- private NextTaskDropDownAction nextTaskAction;
- private static TaskPriorityFilter PRIORITY_FILTER = new TaskPriorityFilter();
- private static TaskCompleteFilter COMPLETE_FILTER = new TaskCompleteFilter();
- List<ITaskFilter> filters = new ArrayList<ITaskFilter>();
-
- static final String FILTER_LABEL = "<filter>";
-
- protected String[] columnNames = new String[] { "", ".", "!", "Description" };
- protected int[] columnWidths = new int[] { 70, 20, 20, 120 };
- private TreeColumn[] columns;
- private IMemento taskListMemento;
- public static final String columnWidthIdentifier = "org.eclipse.mylar.tasklist.ui.views.tasklist.columnwidth";
- public static final String tableSortIdentifier = "org.eclipse.mylar.tasklist.ui.views.tasklist.sortIndex";
- private int sortIndex = 2;
-
- public static String[] PRIORITY_LEVELS = { "P1", "P2", "P3", "P4", "P5" };
-
- private TaskActivationHistory taskHistory = new TaskActivationHistory();
-
-// private boolean canEnableGoInto = false;
-
- private final class PriorityDropDownAction extends Action implements IMenuCreator {
- private Menu dropDownMenu = null;
-
- public PriorityDropDownAction() {
- super();
- setText("Priority Filter");
- setToolTipText("Filter Priority Lower Than");
- setImageDescriptor(TaskListImages.FILTER_PRIORITY);
- setMenuCreator(this);
- }
-
- public void dispose() {
- if (dropDownMenu != null) {
- dropDownMenu.dispose();
- dropDownMenu = null;
- }
- }
-
- public Menu getMenu(Control parent) {
- if (dropDownMenu != null) {
- dropDownMenu.dispose();
- }
- dropDownMenu = new Menu(parent);
- addActionsToMenu();
- return dropDownMenu;
- }
-
- public Menu getMenu(Menu parent) {
- if (dropDownMenu != null) {
- dropDownMenu.dispose();
- }
- dropDownMenu = new Menu(parent);
- addActionsToMenu();
- return dropDownMenu;
- }
-
- public void addActionsToMenu() {
- Action P1 = new Action(PRIORITY_LEVELS[0], AS_CHECK_BOX) {
- @Override
- public void run() {
- MylarTasklistPlugin.setPriorityLevel(MylarTasklistPlugin.PriorityLevel.P1);
- PRIORITY_FILTER.displayPrioritiesAbove(PRIORITY_LEVELS[0]);
- getViewer().refresh();
- }
- };
- P1.setEnabled(true);
- P1.setToolTipText(PRIORITY_LEVELS[0]);
- ActionContributionItem item= new ActionContributionItem(P1);
- item.fill(dropDownMenu, -1);
-
- Action P2 = new Action(PRIORITY_LEVELS[1], AS_CHECK_BOX) {
- @Override
- public void run() {
- MylarTasklistPlugin.setPriorityLevel(MylarTasklistPlugin.PriorityLevel.P2);
- PRIORITY_FILTER.displayPrioritiesAbove(PRIORITY_LEVELS[1]);
- getViewer().refresh();
- }
- };
- P2.setEnabled(true);
- P2.setToolTipText(PRIORITY_LEVELS[1]);
- item= new ActionContributionItem(P2);
- item.fill(dropDownMenu, -1);
-
- Action P3 = new Action(PRIORITY_LEVELS[2], AS_CHECK_BOX) {
- @Override
- public void run() {
- MylarTasklistPlugin.setPriorityLevel(MylarTasklistPlugin.PriorityLevel.P3);
- PRIORITY_FILTER.displayPrioritiesAbove(PRIORITY_LEVELS[2]);
- getViewer().refresh();
- }
- };
- P3.setEnabled(true);
- P3.setToolTipText(PRIORITY_LEVELS[2]);
- item= new ActionContributionItem(P3);
- item.fill(dropDownMenu, -1);
-
- Action P4 = new Action(PRIORITY_LEVELS[3], AS_CHECK_BOX) {
- @Override
- public void run() {
- MylarTasklistPlugin.setPriorityLevel(MylarTasklistPlugin.PriorityLevel.P4);
- PRIORITY_FILTER.displayPrioritiesAbove(PRIORITY_LEVELS[3]);
- getViewer().refresh();
- }
- };
- P4.setEnabled(true);
- P4.setToolTipText(PRIORITY_LEVELS[3]);
- item= new ActionContributionItem(P4);
- item.fill(dropDownMenu, -1);
-
- Action P5 = new Action(PRIORITY_LEVELS[4], AS_CHECK_BOX) {
- @Override
- public void run() {
- MylarTasklistPlugin.setPriorityLevel(MylarTasklistPlugin.PriorityLevel.P5);
- PRIORITY_FILTER.displayPrioritiesAbove(PRIORITY_LEVELS[4]);
- getViewer().refresh();
- }
- };
- P5.setEnabled(true);
- P5.setToolTipText(PRIORITY_LEVELS[4]);
- item= new ActionContributionItem(P5);
- item.fill(dropDownMenu, -1);
-
- String priority = MylarTasklistPlugin.getPriorityLevel();
- if (priority.equals(PRIORITY_LEVELS[0])) {
- P1.setChecked(true);
- } else if (priority.equals(PRIORITY_LEVELS[1])) {
- P1.setChecked(true);
- P2.setChecked(true);
- } else if (priority.equals(PRIORITY_LEVELS[2])) {
- P1.setChecked(true);
- P2.setChecked(true);
- P3.setChecked(true);
- } else if (priority.equals(PRIORITY_LEVELS[3])) {
- P1.setChecked(true);
- P2.setChecked(true);
- P3.setChecked(true);
- P4.setChecked(true);
- } else if (priority.equals(PRIORITY_LEVELS[4])) {
- P1.setChecked(true);
- P2.setChecked(true);
- P3.setChecked(true);
- P4.setChecked(true);
- P5.setChecked(true);
- }
- }
- public void run() {
- this.setChecked(isChecked());
- }
- }
-
- public static TaskListView openInActivePerspective() {
- try {
- return (TaskListView)Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().showView(ID);
- } catch(Exception e) {
- return null;
- }
- }
-
- public TaskListView() {
- INSTANCE = this;
- }
-
- class TaskListCellModifier implements ICellModifier {
-
- public boolean canModify(Object element, String property) {
- int columnIndex = Arrays.asList(columnNames).indexOf(property);
- if(columnIndex == 0 && element instanceof ITaskListElement){
- return ((ITaskListElement)element).isActivatable();
- } else if(columnIndex == 2 && element instanceof ITask){
- return ((ITask)element).isDirectlyModifiable();
- }
-// int columnIndex = Arrays.asList(columnNames).indexOf(property);
-// if (element instanceof ITask) {
-// ITask task = (ITask)element;
-// switch (columnIndex) {
-// case 0: return true;
-// case 1: return false;
-// case 2: return task.isDirectlyModifiable();
-// case 3: return task.isDirectlyModifiable();
-// }
-// } else if (element instanceof AbstractCategory) {
-// switch (columnIndex) {
-// case 0:
-// case 1:
-// case 2:
-// return false;
-// case 3: return ((AbstractCategory)element).isDirectlyModifiable();
-// }
- else if(element instanceof ITaskListElement && isInRenameAction){
- ITaskListElement taskListElement = (ITaskListElement)element;
- switch (columnIndex) {
-// case 0: return taskListElement.isActivatable();
-// case 1: return false;
-// case 2: return taskListElement.isDirectlyModifiable();
- case 3: return taskListElement.isDirectlyModifiable();
- }
- }
- return false;
- }
-
- public Object getValue(Object element, String property) {
- try{
- int columnIndex = Arrays.asList(columnNames).indexOf(property);
- if (element instanceof ITaskListElement) {
- final ITaskListElement taskListElement = (ITaskListElement)element;
- ITask task = null;
- if(taskListElement instanceof ITask){
- task = (ITask) taskListElement;
- } else if(taskListElement instanceof IQueryHit){
- if(((IQueryHit)taskListElement).hasCorrespondingActivatableTask()){
- task = ((IQueryHit)taskListElement).getOrCreateCorrespondingTask();
- }
- }
- switch (columnIndex) {
- case 0:
- if(task == null){
- return new Boolean(true);
- } else {
- return new Boolean(task.isCompleted());
- }
- case 1:
- return "";
- case 2:
- String priorityString = taskListElement.getPriority().substring(1);
- return new Integer(priorityString);
- case 3:
- return taskListElement.getDescription(true);
- }
- } else if (element instanceof ITaskListCategory) {
- ITaskListCategory cat = (ITaskListCategory) element;
- switch (columnIndex) {
- case 0:
- return new Boolean(false);
- case 1:
- return "";
- case 2:
- return "";
- case 3:
- return cat.getDescription(true);
- }
- }else if (element instanceof IQuery) {
- IQuery cat = (IQuery) element;
- switch (columnIndex) {
- case 0:
- return new Boolean(false);
- case 1:
- return "";
- case 2:
- return "";
- case 3:
- return cat.getDescription(true);
- }
- }
- } catch (Exception e){
- MylarPlugin.log(e, e.getMessage());
- }
- return "";
- }
-
- public void modify(Object element, String property, Object value) {
- int columnIndex = -1;
- try {
- columnIndex = Arrays.asList(columnNames).indexOf(property);
- if (((TreeItem) element).getData() instanceof ITaskListCategory) {
- ITaskListCategory cat = (ITaskListCategory)((TreeItem) element).getData();
- switch (columnIndex) {
- case 0:
-// getViewer().setSelection(null);
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- cat.setDescription(((String) value).trim());
-// getViewer().setSelection(null);
- break;
- }
- } else if (((TreeItem) element).getData() instanceof IQuery) {
- IQuery cat = (IQuery)((TreeItem) element).getData();
- switch (columnIndex) {
- case 0:
-// getViewer().setSelection(null);
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- cat.setDescription(((String) value).trim());
-// getViewer().setSelection(null);
- break;
- }
- } else if (((TreeItem) element).getData() instanceof ITaskListElement) {
-
- final ITaskListElement taskListElement = (ITaskListElement) ((TreeItem) element).getData();
- ITask task = null;
- if(taskListElement instanceof ITask){
- task = (ITask) taskListElement;
- } else if(taskListElement instanceof IQueryHit){
- if(((IQueryHit)taskListElement).hasCorrespondingActivatableTask()){
- task = ((IQueryHit)taskListElement).getOrCreateCorrespondingTask();
- }
- }
- switch (columnIndex) {
- case 0:
- if(taskListElement instanceof IQueryHit){
- task = ((IQueryHit)taskListElement).getOrCreateCorrespondingTask();
- }
- if (task != null) {
- if (task.isActive()) {
- new TaskDeactivateAction().run();
- nextTaskAction.setEnabled(taskHistory.hasNext());
- previousTaskAction.setEnabled(taskHistory.hasPrevious());
- } else {
- new TaskActivateAction().run();
- addTaskToHistory(task);
- }
-// getViewer().setSelection(null);
- }
- break;
- case 1:
- break;
- case 2:
- if (task.isDirectlyModifiable()) {
- Integer intVal = (Integer) value;
- task.setPriority("P" + (intVal + 1));
-// getViewer().setSelection(null);
- }
- break;
- case 3:
- if (task.isDirectlyModifiable()) {
- task.setDescription(((String) value).trim());
- MylarTasklistPlugin.getTaskListManager()
- .taskPropertyChanged(task, columnNames[3]);
-// getViewer().setSelection(null);
- }
- break;
- }
- }
- } catch (Exception e) {
- MylarPlugin.fail(e, e.getMessage(), true);
- }
- getViewer().refresh();
- }
- }
-
- public void addTaskToHistory(ITask task) {
- if (!MylarTasklistPlugin.getDefault().isMultipleMode()) {
- taskHistory.addTask(task);
- nextTaskAction.setEnabled(taskHistory.hasNext());
- previousTaskAction.setEnabled(taskHistory.hasPrevious());
- }
- }
-
- public void clearTaskHistory() {
- taskHistory.clear();
- }
-
- private class TaskListTableSorter extends ViewerSorter {
-
- private String column;
-
- public TaskListTableSorter(String column) {
- super();
- this.column = column;
- }
-
- /**
- * compare - invoked when column is selected calls the actual comparison
- * method for particular criteria
- */
- @Override
- public int compare(Viewer compareViewer, Object o1, Object o2) {
- if (o1 instanceof ITaskListCategory || o1 instanceof IQuery) {
- if (o2 instanceof ITaskListCategory|| o2 instanceof IQuery) {
- return ((ITaskListElement)o1).getDescription(false).compareTo(
- ((ITaskListElement)o2).getDescription(false));
- } else {
- return -1;
- }
- } else if(o1 instanceof ITaskListElement){
- if (o2 instanceof ITaskListCategory || o2 instanceof IQuery) {
- return -1;
- } else if(o2 instanceof ITaskListElement) {
- ITaskListElement element1 = (ITaskListElement) o1;
- ITaskListElement element2 = (ITaskListElement) o2;
-// if (element1.isCompleted() && element2.isCompleted()) {
-// return element1.getPriority().compareTo(element2.getPriority());
-// }
-// if (element1.isCompleted()) return 1;
-// if (element2.isCompleted()) return -1;
-// if (element1.hasCorrespondingActivatableTask() && element2.hasCorrespondingActivatableTask()) {
-// ITask task1 = element1.getOrCreateCorrespondingTask();
-// ITask task2 = element2.getOrCreateCorrespondingTask();
-//
-// if (task1.isCompleted()) return 1;
-// if (task2.isCompleted()) return -1;
-// }
- if (column == columnNames[1]) {
- return 0;
- } else if (column == columnNames[2]) {
- return element1.getPriority().compareTo(element2.getPriority());
- } else if (column == columnNames[3]) {
- String c1 = element1.getStringForSortingDescription();
- String c2 = element2.getStringForSortingDescription();
- try{
- return new Integer(c1).compareTo(new Integer(c2));
- } catch (Exception e){}
-
- return c1.compareTo(c2);
-
- } else {
- return 0;
- }
- }
- } else{
- return 0;
- }
- return 0;
- }
- }
-
- @Override
- public void init(IViewSite site, IMemento memento) throws PartInitException {
- init(site);
- this.taskListMemento = memento;
- }
-
- @Override
- public void saveState(IMemento memento) {
- IMemento colMemento = memento.createChild(columnWidthIdentifier);
-
- for (int i = 0; i < columnWidths.length; i++) {
- IMemento m = colMemento.createChild("col"+i);
- m.putInteger("width", columnWidths[i]);
- }
-
- IMemento sorter = memento.createChild(tableSortIdentifier);
- IMemento m = sorter.createChild("sorter");
- m.putInteger("sortIndex", sortIndex);
-
- MylarTasklistPlugin.getDefault().createTaskListBackupFile();
-
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- }
-
- private void restoreState() {
- if (taskListMemento != null) {
- IMemento taskListWidth = taskListMemento
- .getChild(columnWidthIdentifier);
- if (taskListWidth != null) {
- for (int i = 0; i < columnWidths.length; i++) {
- IMemento m = taskListWidth.getChild("col" + i);
- if (m != null) {
- int width = m.getInteger("width");
- columnWidths[i] = width;
- columns[i].setWidth(width);
- }
- }
- }
- IMemento sorterMemento = taskListMemento
- .getChild(tableSortIdentifier);
- if (sorterMemento != null) {
- IMemento m = sorterMemento.getChild("sorter");
- if (m != null) {
- sortIndex = m.getInteger("sortIndex");
- } else {
- sortIndex = 2;
- }
- } else {
- sortIndex = 2; // default priority
- }
- getViewer().setSorter(new TaskListTableSorter(columnNames[sortIndex]));
- }
- addFilter(PRIORITY_FILTER);
-// if (MylarTasklistPlugin.getDefault().isFilterInCompleteMode())
-// MylarTasklistPlugin.getTaskListManager().getTaskList().addFilter(inCompleteFilter);
- if (MylarTasklistPlugin.getDefault().isFilterCompleteMode())
- addFilter(COMPLETE_FILTER);
- if (MylarTasklistPlugin.getDefault().isMultipleMode()) {
- togglePreviousAction(false);
- toggleNextAction(false);
- }
-
- getViewer().refresh();
- }
-
- /**
- * This is a callback that will allow us
- * to create the viewer and initialize it.
- */
- @Override
- public void createPartControl(Composite parent) {
- tree = new FilteredTree(parent, SWT.VERTICAL | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION, new TaskListPatternFilter());
-// addToolTipHandler();
-
-// ((Text)tree.getFilterControl()).setText(FILTER_LABEL);
- getViewer().getTree().setHeaderVisible(true);
- getViewer().getTree().setLinesVisible(true);
- getViewer().setColumnProperties(columnNames);
- getViewer().setUseHashlookup(true);
-
- columns = new TreeColumn[columnNames.length];
- for (int i = 0; i < columnNames.length; i++) {
- columns[i] = new TreeColumn(getViewer().getTree(), 0); // SWT.LEFT
- columns[i].setText(columnNames[i]);
- columns[i].setWidth(columnWidths[i]);
- final int index = i;
- columns[i].addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- sortIndex = index;
- getViewer().setSorter(new TaskListTableSorter(columnNames[sortIndex]));
- }
- });
- columns[i].addControlListener(new ControlListener () {
- public void controlResized(ControlEvent e) {
- for (int j = 0; j < columnWidths.length; j++) {
- if (columns[j].equals(e.getSource())) {
- columnWidths[j] = columns[j].getWidth();
- }
- }
- }
- public void controlMoved(ControlEvent e) {
- // don't care if the control is moved
- }
- });
- }
-
- CellEditor[] editors = new CellEditor[columnNames.length];
- TextCellEditor textEditor = new TextCellEditor(getViewer().getTree());
- ((Text) textEditor.getControl()).setOrientation(SWT.LEFT_TO_RIGHT);
- editors[0] = new CheckboxCellEditor();
- editors[1] = textEditor;
- editors[2] = new ComboBoxCellEditor(getViewer().getTree(), PRIORITY_LEVELS, SWT.READ_ONLY);
- editors[3] = textEditor;
- getViewer().setCellEditors(editors);
- getViewer().setCellModifier(new TaskListCellModifier());
- getViewer().setSorter(new TaskListTableSorter(columnNames[sortIndex]));
-
- drillDownAdapter = new DrillDownAdapter(getViewer());
- getViewer().setContentProvider(new TaskListContentProvider(this));
- TaskListLabelProvider labelProvider = new TaskListLabelProvider();
- labelProvider.setBackgroundColor(parent.getBackground());
- getViewer().setLabelProvider(labelProvider);
- getViewer().setInput(getViewSite());
-
- getViewer().getTree().addKeyListener(new KeyListener(){
-
- public void keyPressed(KeyEvent e) {
- if (e.keyCode == SWT.F2 && e.stateMask == 0){
- if(rename.isEnabled()){
- rename.run();
- }
- }
- }
-
- public void keyReleased(KeyEvent e) {}
-
- });
-
- // HACK to support right click anywhere to select an item
- getViewer().getTree().addMouseListener(new MouseListener(){
-
- public void mouseDoubleClick(MouseEvent e) {}
-
- public void mouseDown(MouseEvent e) {
- Tree t = getViewer().getTree();
- TreeItem item = t.getItem(new Point(e.x, e.y));
- if(e.button == 3 && item != null){
- getViewer().setSelection(new StructuredSelection(item.getData()));
- } else if(item == null){
- getViewer().setSelection(new StructuredSelection());
- }
- }
-
- public void mouseUp(MouseEvent e) {}
- });
-
- getViewer().addSelectionChangedListener(new ISelectionChangedListener(){
-
- public void selectionChanged(SelectionChangedEvent event) {
- Object selectedObject = ((IStructuredSelection)getViewer().getSelection()).getFirstElement();
- if(selectedObject instanceof ITaskListElement){
- updateActionEnablement(rename, (ITaskListElement)selectedObject);
- }
- }
-
- });
-
- makeActions();
- hookContextMenu();
- hookOpenAction();
- contributeToActionBars();
-
- ToolTipHandler toolTipHandler = new ToolTipHandler(getViewer().getControl().getShell());
- toolTipHandler.activateHoverHelp(getViewer().getControl());
-
- initDragAndDrop(parent);
- expandToActiveTasks();
- restoreState();
- }
-
- @MylarWebRef(name="Drag and drop article", url="http://www.eclipse.org/articles/Article-Workbench-DND/drag_drop.html")
- private void initDragAndDrop(Composite parent) {
- Transfer[] types = new Transfer[] { TextTransfer.getInstance(), PluginTransfer.getInstance() };
-
- getViewer().addDragSupport(DND.DROP_MOVE, types, new DragSourceListener() {
-
- public void dragStart(DragSourceEvent event) {
- if (((StructuredSelection) getViewer().getSelection()).isEmpty()) {
- event.doit = false;
- }
- }
-
- public void dragSetData(DragSourceEvent event) {
- StructuredSelection selection = (StructuredSelection) getViewer().getSelection();
- if (selection.getFirstElement() instanceof ITaskListElement) {
- ITaskListElement element = (ITaskListElement)selection.getFirstElement();
-
- if (!selection.isEmpty() && element.isDragAndDropEnabled()) {
- event.data = "" + element.getHandle();
- } else {
- event.data = "null";
- }
- }
- }
-
- public void dragFinished(DragSourceEvent event) {
- // don't care if the drag is done
- }
- });
-
- getViewer().addDropSupport(DND.DROP_MOVE, types, new ViewerDropAdapter(getViewer()) {
- {
- setFeedbackEnabled(false);
- }
-
- @Override
- public boolean performDrop(Object data) {
- Object selectedObject = ((IStructuredSelection) ((TreeViewer) getViewer())
- .getSelection()).getFirstElement();
- if (selectedObject instanceof ITask) {
- ITask source = (ITask) selectedObject;
- if (source.getCategory() != null) {
- source.getCategory().removeTask(source);
- } else if (source.getParent() != null) {
- source.getParent().removeSubTask(source);
- } else {
- MylarTasklistPlugin.getTaskListManager().getTaskList().getRootTasks().remove(source);
- }
-
- if (getCurrentTarget() instanceof TaskCategory) {
- ((TaskCategory) getCurrentTarget()).addTask(source);
- source.setCategory((TaskCategory)getCurrentTarget());
- } else if (getCurrentTarget() instanceof ITask) {
- ITask target = (ITask) getCurrentTarget();
- source.setCategory(null);
- target.addSubTask(source);
- source.setParent(target);
- }
-// getViewer().setSelection(null);
- getViewer().refresh();
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- return true;
- } else if(selectedObject instanceof ITaskListElement &&
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement)selectedObject) != null &&
- getCurrentTarget() instanceof TaskCategory){
-
- MylarTasklistPlugin.getDefault().getTaskHandlerForElement((ITaskListElement)selectedObject).dropItem((ITaskListElement)selectedObject, (TaskCategory)getCurrentTarget());
-// getViewer().setSelection(null);
- getViewer().refresh();
- if (MylarTasklistPlugin.getDefault() != null) {
- MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
- }
- return true;
- }
- return false;
- }
-
- @Override
- public boolean validateDrop(Object targetObject, int operation,
- TransferData transferType) {
- Object selectedObject = ((IStructuredSelection) ((TreeViewer) getViewer())
- .getSelection()).getFirstElement();
- if (selectedObject instanceof ITaskListElement && ((ITaskListElement)selectedObject).isDragAndDropEnabled()) {
- if (getCurrentTarget() != null && getCurrentTarget() instanceof TaskCategory) {
- return true;
- } else {
- return false;
- }
- }
-
- return TextTransfer.getInstance().isSupportedType(transferType);
- }
-
- });
- }
-
- void expandToActiveTasks() {
- final IWorkbench workbench = PlatformUI.getWorkbench();
- workbench.getDisplay().asyncExec(new Runnable() {
- public void run() {
- List<ITask> activeTasks = MylarTasklistPlugin.getTaskListManager().getTaskList().getActiveTasks();
- for (ITask t : activeTasks) {
- getViewer().expandToLevel(t, 0);
- }
- }
- });
- }
-
- private void hookContextMenu() {
- MenuManager menuMgr = new MenuManager("#PopupMenu");
- menuMgr.setRemoveAllWhenShown(true);
- menuMgr.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- TaskListView.this.fillContextMenu(manager);
- }
- });
- Menu menu = menuMgr.createContextMenu(getViewer().getControl());
- getViewer().getControl().setMenu(menu);
- getSite().registerContextMenu(menuMgr, getViewer());
- }
-
- private void contributeToActionBars() {
- IActionBars bars = getViewSite().getActionBars();
- fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- private void fillLocalPullDown(IMenuManager manager) {
- updateDrillDownActions();
- manager.add(new Separator("reports"));
- manager.add(new Separator("local"));
- manager.add(createTaskAction);
- manager.add(createCategory);
- manager.add(goBackAction);
- manager.add(collapseAll);
-// manager.add(new Separator());
-// autoClose.setEnabled(true);
- manager.add(new Separator("context"));
- manager.add(autoClose);
- manager.add(workOffline);
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- private void fillLocalToolBar(IToolBarManager manager) {
-// manager.removeAll();
- manager.add(new Separator(SEPARATOR_ID_REPORTS));
- manager.add(createTaskAction);
- manager.add(new Separator());
- manager.add(filterCompleteTask);
- manager.add(filterOnPriority);
- manager.add(new Separator());
- manager.add(previousTaskAction);
- manager.add(nextTaskAction);
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-
- }
-
- void fillContextMenu(IMenuManager manager) {
- updateDrillDownActions();
-
- ITaskListElement element = null;;
- final Object selectedObject = ((IStructuredSelection)getViewer().getSelection()).getFirstElement();
- if (selectedObject instanceof ITaskListElement) {
- element = (ITaskListElement) selectedObject;
- }
-
- addAction(new TaskActivateAction(), manager, element);
- addAction(new TaskDeactivateAction(), manager, element);
- addAction(openAction, manager, element);
-// addAction(openAction, manager, element);
- manager.add(new Separator("tasks"));
- addAction(completeTask, manager, element);
- addAction(incompleteTask, manager, element);
- manager.add(new Separator());
- addAction(rename, manager, element);
- addAction(removeAction, manager, element);
- addAction(delete, manager, element);
- addAction(copyAction, manager, element);
-// addAction(createTask, manager, element);
-
- manager.add(new Separator("context"));
- for (ITaskListDynamicSubMenuContributor contributor : MylarTasklistPlugin.getDefault().getDynamicMenuContributers()) {
-// manager.add(new Separator());
- MenuManager subMenuManager = contributor.getSubMenuManager(this, (ITaskListElement)selectedObject);
- if (subMenuManager != null) addMenuManager(subMenuManager, manager, element);
- }
-
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- private void addMenuManager(IMenuManager menuToAdd, IMenuManager manager, ITaskListElement element) {
- if(element != null && element instanceof ITask){
- manager.add(menuToAdd);
- }
- }
-
-
- private void addAction(Action action, IMenuManager manager, ITaskListElement element) {
- manager.add(action);
- if(element != null){
- ITaskHandler handler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(element);
- if(handler != null){
- action.setEnabled(handler.enableAction(action, element));
- } else {
- updateActionEnablement(action, element);
- }
- }
- }
-
- private void updateActionEnablement(Action action, ITaskListElement element){
-
- if(element instanceof ITask){
- if(action instanceof MarkTaskCompleteAction){
- if(element.isCompleted()){
- action.setEnabled(false);
- } else {
- action.setEnabled(true);
- }
- } else if(action instanceof MarkTaskIncompleteAction){
- if(element.isCompleted()){
- action.setEnabled(true);
- } else {
- action.setEnabled(false);
- }
- } else if(action instanceof DeleteAction){
- action.setEnabled(true);
- } else if(action instanceof CreateTaskAction){
- action.setEnabled(false);
- }else if(action instanceof OpenTaskEditorAction){
- action.setEnabled(true);
- } else if(action instanceof CopyDescriptionAction){
- action.setEnabled(true);
- } else if(action instanceof RenameAction){
- action.setEnabled(true);
- }
- } else if(element instanceof ITaskListCategory) {
- if(action instanceof MarkTaskCompleteAction){
- action.setEnabled(false);
- } else if(action instanceof MarkTaskIncompleteAction){
- action.setEnabled(false);
- } else if(action instanceof DeleteAction){
- if(((ITaskListCategory)element).isArchive())
- action.setEnabled(false);
- else
- action.setEnabled(true);
- } else if(action instanceof CreateTaskAction){
- if(((ITaskListCategory)element).isArchive())
- action.setEnabled(false);
- else
- action.setEnabled(true);
- } else if(action instanceof GoIntoAction){
- TaskCategory cat = (TaskCategory) element;
- if(cat.getChildren().size() > 0){
- action.setEnabled(true);
- } else {
- action.setEnabled(false);
- }
- }else if(action instanceof OpenTaskEditorAction){
- action.setEnabled(false);
- } else if(action instanceof CopyDescriptionAction){
- action.setEnabled(true);
- } else if(action instanceof RenameAction){
- if(((ITaskListCategory)element).isArchive())
- action.setEnabled(false);
- else
- action.setEnabled(true);
- }
- } else {
- action.setEnabled(true);
- }
-
-// if(!canEnableGoInto){
-// goIntoAction.setEnabled(false);
-// }
- }
-
- private void makeActions() {
-
- copyAction = new CopyDescriptionAction(this);
- openAction = new OpenTaskEditorAction(this);
-
- workOffline = new WorkOfflineAction();
-
-// goIntoAction = new GoIntoAction(drillDownAdapter);
- goBackAction = new GoUpAction(drillDownAdapter);
-
- createTaskAction = new CreateTaskAction(this);
- createCategory = new CreateCategoryAction(this);
- removeAction = new RemoveFromCategoryAction(this);
- rename = new RenameAction(this);
-
- delete = new DeleteAction(this);
- collapseAll = new CollapseAllAction(this);
- autoClose = new AutoCloseAction();
- completeTask = new MarkTaskCompleteAction(this);
- incompleteTask = new MarkTaskIncompleteAction(this);
- openTaskEditor = new OpenTaskEditorAction(this);
- filterCompleteTask = new FilterCompletedTasksAction(this);
- filterOnPriority = new PriorityDropDownAction();
- previousTaskAction = new PreviousTaskDropDownAction(this, taskHistory);
- nextTaskAction = new NextTaskDropDownAction(this, taskHistory);
- }
-
- public void toggleNextAction(boolean enable) {
- nextTaskAction.setEnabled(enable);
- }
-
- public void togglePreviousAction(boolean enable) {
- previousTaskAction.setEnabled(enable);
- }
-
- public NextTaskDropDownAction getNextTaskAction() {
- return nextTaskAction;
- }
-
- public PreviousTaskDropDownAction getPreviousTaskAction() {
- return previousTaskAction;
- }
- /**
- * Recursive function that checks for the occurrence of a certain task id.
- * All children of the supplied node will be checked.
- *
- * @param task
- * The <code>ITask</code> object that is to be searched.
- * @param taskId
- * The id that is being searched for.
- * @return <code>true</code> if the id was found in the node or any of its
- * children
- */
- protected boolean lookForId(String taskId) {
- return (MylarTasklistPlugin.getTaskListManager().getTaskForHandle(taskId, true) == null);
-// for (ITask task : MylarTasklistPlugin.getTaskListManager().getTaskList().getRootTasks()) {
-// if (task.getHandle().equals(taskId)) {
-// return true;
-// }
-// }
-// for (TaskCategory cat : MylarTasklistPlugin.getTaskListManager().getTaskList().getTaskCategories()) {
-// for (ITask task : cat.getChildren()) {
-// if (task.getHandle().equals(taskId)) {
-// return true;
-// }
-// }
-// }
-// return false;
- }
-
- public void closeTaskEditors(ITask task, IWorkbenchPage page) throws LoginException, IOException{
- ITaskHandler taskHandler = MylarTasklistPlugin.getDefault().getTaskHandlerForElement(task);
- if(taskHandler != null){
- taskHandler.taskClosed(task, page);
- } else if (task instanceof Task) {
- IEditorInput input = new TaskEditorInput((Task) task);
-
- IEditorPart editor = page.findEditor(input);
-
- if (editor != null) {
- page.closeEditor(editor, false);
- }
- }
- }
-
- private void hookOpenAction() {
- getViewer().addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- openTaskEditor.run();
- }
- });
- }
-
- public void showMessage(String message) {
- MessageDialog.openInformation(
- getViewer().getControl().getShell(),
- "Tasklist Message",
- message);
- }
-
- /**
- * Passing the focus request to the viewer's control.
- */
- @Override
- public void setFocus() {
- getViewer().getControl().setFocus();
- }
-
- public String getBugIdFromUser() {
- InputDialog dialog = new InputDialog(
- Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
- "Enter Bugzilla ID",
- "Enter the Bugzilla ID: ",
- "",
- null);
- int dialogResult = dialog.open();
- if (dialogResult == Window.OK) {
- return dialog.getValue();
- } else {
- return null;
- }
- }
-
-// public String[] getLabelPriorityFromUser(String kind) {
-// String[] result = new String[2];
-// Dialog dialog = null;
-// boolean isTask = kind.equals("task");
-// if (isTask) {
-// dialog = new TaskInputDialog(
-// Workbench.getInstance().getActiveWorkbenchWindow().getShell());
-// } else {
-// dialog = new InputDialog(
-// Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
-// "Enter name",
-// "Enter a name for the " + kind + ": ",
-// "",
-// null);
-// }
-//
-// int dialogResult = dialog.open();
-// if (dialogResult == Window.OK) {
-// if (isTask) {
-// result[0] = ((TaskInputDialog)dialog).getTaskname();
-// result[1] = ((TaskInputDialog)dialog).getSelectedPriority();
-// } else {
-// result[0] = ((InputDialog)dialog).getValue();
-// }
-// return result;
-// } else {
-// return null;
-// }
-// }
-
- public void notifyTaskDataChanged(ITask task) {
- if (getViewer().getTree() != null && !getViewer().getTree().isDisposed()) {
- getViewer().refresh();
- expandToActiveTasks();
- }
- }
-
- public static TaskListView getDefault() {
- return INSTANCE;
- }
-
- public TreeViewer getViewer() {
- return tree.getViewer();
- }
-
- public TaskCompleteFilter getCompleteFilter() {
- return COMPLETE_FILTER;
- }
-
- public TaskPriorityFilter getPriorityFilter() {
- return PRIORITY_FILTER;
- }
-
- public void addFilter(ITaskFilter filter) {
- if (!filters.contains(filter)) filters.add(filter);
- }
-
- public void removeFilter(ITaskFilter filter) {
- filters.remove(filter);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- }
-
- public void updateDrillDownActions() {
- if(drillDownAdapter.canGoBack()){
- goBackAction.setEnabled(true);
- } else {
- goBackAction.setEnabled(false);
- }
-// if(drillDownAdapter.canGoInto()){
-// canEnableGoInto = true;
-// } else {
-// canEnableGoInto = false;
-// }
- }
-
- /**
- * HACK: This is used for the copy action
- * @return
- */
- public Composite getFakeComposite() {
- return tree;
- }
-
- private boolean isInRenameAction = false;
-
- public void setInRenameAction(boolean b) {
- isInRenameAction = b;
- }
-
- /**
- * This method is for testing only
- */
- public TaskActivationHistory getTaskActivationHistory(){
- return taskHistory;
- }
-
- public void goIntoCategory() {
- drillDownAdapter.goInto();
- updateDrillDownActions();
- }
-
- public ITask getSelectedTask() {
- ISelection selection = getViewer().getSelection();
- if (selection.isEmpty()) return null;
- if (selection instanceof StructuredSelection) {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- Object element = structuredSelection.getFirstElement();
- if (element instanceof ITask) {
- return (ITask)structuredSelection.getFirstElement();
- } else if (element instanceof IQueryHit) {
- return ((IQueryHit)element).getOrCreateCorrespondingTask();
- }
- }
- return null;
- }
-
- public void indicatePaused(boolean paused) {
- if (paused) {
- setPartName("(paused) " + PART_NAME);
- } else {
- setPartName(PART_NAME);
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/ToolTipHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/ToolTipHandler.java
deleted file mode 100644
index 7229c9bd3..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/ToolTipHandler.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/**
- * Copied from newsgroup, forwarded from Make Technologies
- */
-
-package org.eclipse.mylar.tasklist.ui.views;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.mylar.tasklist.ITask;
-import org.eclipse.mylar.tasklist.ITaskListElement;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * @author Mik Kersten
- * @author Eric Booth
- */
-public class ToolTipHandler {
-
- private Shell tipShell;
-
- private Label tipLabelImage;
- private Label tipLabelText;
-
- private Widget tipWidget; // widget this tooltip is hovering over
-
- protected Point tipPosition; // the position being hovered over on the
- protected Point widgetPosition; // the position hovered over in the Widget;
- private Shell parentShell;
-
- public ToolTipHandler(Shell parent) {
- this.parentShell = parent;
- final Display display = parent.getDisplay();
- tipShell = new Shell(parent, SWT.NONE);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- gridLayout.marginWidth = 2;
- gridLayout.marginHeight = 2;
- tipShell.setLayout(gridLayout);
- tipShell.setBackground(display
- .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-
- tipLabelImage = new Label(tipShell, SWT.NONE);
- tipLabelImage.setForeground(display
- .getSystemColor(SWT.COLOR_INFO_FOREGROUND));
- tipLabelImage.setBackground(display
- .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-
- GridData imageGridData = new GridData(
- GridData.HORIZONTAL_ALIGN_BEGINNING
- | GridData.VERTICAL_ALIGN_BEGINNING);
- tipLabelImage.setLayoutData(imageGridData);
-
- tipLabelText = new Label(tipShell, SWT.NONE);
- tipLabelText.setForeground(display
- .getSystemColor(SWT.COLOR_INFO_FOREGROUND));
- tipLabelText.setBackground(display
- .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-
- GridData textGridData = new GridData(GridData.FILL_HORIZONTAL
- | GridData.VERTICAL_ALIGN_CENTER);
- tipLabelText.setLayoutData(textGridData);
- }
-
- private ITaskListElement getTask(Object hoverObject) {
- if (hoverObject instanceof Widget) {
- Object data = ((Widget) hoverObject).getData();
- if (data != null) {
- if (data instanceof ITaskListElement) {
- return (ITaskListElement) data;
- } else if (data instanceof IAdaptable) {
- return (ITaskListElement) ((IAdaptable) data).getAdapter(ITaskListElement.class);
- }
- }
- }
- return null;
- }
-
- protected String getToolTipText(Object object) {
- ITaskListElement element = getTask(object);
- if (element != null) {
- if (element instanceof ITask && element.getToolTipText().length() < 30) { // HACK
- return null;
- } else {
- return element.getToolTipText();
- }
- }
-
- if (object instanceof Control) {
- return (String) ((Control) object).getData("TIP_TEXT");
- }
- return null;
- }
-
- protected Image getToolTipImage(Object object) {
- ITaskListElement projectNode = getTask(object);
- if (projectNode != null) {
- // TODO Code for determining image
- }
- if (object instanceof Control) {
- return (Image) ((Control) object).getData("TIP_IMAGE");
- }
- return null;
- }
-
- protected Object getToolTipHelp(Object object) {
- if (object instanceof Control) {
- return (String) ((Control) object).getData("TIP_HELPTEXT");
- }
- return null;
- }
-
- /**
- * Enables customized hover help for a specified control
- *
- * @control the control on which to enable hoverhelp
- */
- public void activateHoverHelp(final Control control) {
- /*
- * Get out of the way if we attempt to activate the control underneath
- * the tooltip
- */
- control.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseDown(MouseEvent e) {
- if (tipShell.isVisible())
- tipShell.setVisible(false);
- }
- });
- /*
- * Trap hover events to pop-up tooltip
- */
- control.addMouseTrackListener(new MouseTrackAdapter() {
-
- @Override
- public void mouseExit(MouseEvent e) {
- if (tipShell.isVisible())
- tipShell.setVisible(false);
- tipWidget = null;
- }
-
- @Override
- public void mouseHover(MouseEvent event) {
- widgetPosition = new Point(event.x, event.y);
- Widget widget = event.widget;
- if (widget instanceof ToolBar) {
- ToolBar w = (ToolBar) widget;
- widget = w.getItem(widgetPosition);
- }
- if (widget instanceof Table) {
- Table w = (Table) widget;
- widget = w.getItem(widgetPosition);
- }
- if (widget instanceof Tree) {
- Tree w = (Tree) widget;
- widget = w.getItem(widgetPosition);
- }
- if (widget == null) {
- tipShell.setVisible(false);
- tipWidget = null;
- return;
- }
- if (widget == tipWidget)
- return;
- tipWidget = widget;
- tipPosition = control.toDisplay(widgetPosition);
- String text = getToolTipText(widget);
- Image image = getToolTipImage(widget);
- if (text == null) { // HACK: don't check length
- return;
- }
-// Control sourceControl = (Control) event.getSource();
-// sourceControl.setFocus();
- tipLabelText.setText(text);
- tipLabelImage.setImage(image); // accepts null
- tipShell.pack();
- setHoverLocation(tipShell, tipPosition);
- tipShell.setVisible(true);
- parentShell.setFocus();
- }
- });
-// /*
-// * Trap F1 Help to pop up a custom help box
-// */
-// control.addHelpListener(new HelpListener() {
-// public void helpRequested(HelpEvent event) {
-// if (tipWidget == null)
-// return;
-// Object help = getToolTipHelp(tipWidget);
-// if (help == null)
-// return;
-// if (help.getClass() != String.class) {
-// return;
-// }
-// if (tipShell.isVisible()) {
-// tipShell.setVisible(false);
-// Shell helpShell = new Shell(parentShell, SWT.SHELL_TRIM);
-// helpShell.setLayout(new FillLayout());
-// Label label = new Label(helpShell, SWT.NONE);
-// label.setText((String) help);
-// helpShell.pack();
-// setHoverLocation(helpShell, tipPosition);
-// helpShell.open();
-// }
-// }
-// });
- }
-
- /**
- * Sets the location for a hovering shell
- *
- * @param shell
- * the object that is to hover
- * @param position
- * the position of a widget to hover over
- * @return the top-left location for a hovering box
- */
- private void setHoverLocation(Shell shell, Point position) {
- Rectangle displayBounds = shell.getDisplay().getBounds();
- Rectangle shellBounds = shell.getBounds();
- shellBounds.x = Math.max(Math.min(position.x, displayBounds.width
- - shellBounds.width), 0);
- shellBounds.y = Math.max(Math.min(position.y +10, displayBounds.height
- - shellBounds.height), 0);
- shell.setBounds(shellBounds);
- }
-} \ No newline at end of file

Back to the top