| author | Steffen Pingel | 2011-12-05 11:26:52 (EST) |
|---|---|---|
| committer | Steffen Pingel | 2011-12-05 11:26:52 (EST) |
| commit | 8684a2d007c949b05bea03dd72bf000b1a26651a (patch) (side-by-side diff) | |
| tree | 3cbaea659f6a3450c2c8459a4806c2245b6ce961 | |
| parent | eb9ab5220521f233cc209ffedaeaf30db9da4902 (diff) | |
| download | org.eclipse.mylyn.commons-8684a2d007c949b05bea03dd72bf000b1a26651a.zip org.eclipse.mylyn.commons-8684a2d007c949b05bea03dd72bf000b1a26651a.tar.gz org.eclipse.mylyn.commons-8684a2d007c949b05bea03dd72bf000b1a26651a.tar.bz2 | |
NEW - bug 361048: [api] move service message implementation to
notifications component
https://bugs.eclipse.org/bugs/show_bug.cgi?id=361048
Change-Id: Ib98a6a431b23ed9c92fc3029fc9da308dd4c9c97
| -rw-r--r-- | org.eclipse.mylyn.commons-site/site.xml | 3 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/.cvsignore | 1 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/.project | 17 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/.settings/org.eclipse.core.runtime.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.core.runtime.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/.settings/org.eclipse.mylyn.tasks.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/build.properties (copied from org.eclipse.mylyn.commons.notifications/plugin.properties) | 11 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/epl-v10.html | 328 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/feature.properties | 139 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/feature.xml | 62 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/license.html | 108 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications-feature/pom.xml | 13 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.classpath (copied from org.eclipse.mylyn.commons.notifications/.classpath) | 1 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.cvsignore (copied from org.eclipse.mylyn.commons.notifications/.cvsignore) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.project (copied from org.eclipse.mylyn.commons.notifications/.project) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.jdt.core.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.jdt.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.ltk.core.refactoring.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.mylyn.tasks.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.pde.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/META-INF/MANIFEST.MF | 13 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/about.html (copied from org.eclipse.mylyn.commons.notifications/about.html) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/build.properties (copied from org.eclipse.mylyn.commons.notifications/build.properties) | 4 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/plugin.properties (copied from org.eclipse.mylyn.commons.notifications/plugin.properties) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/pom.xml (copied from org.eclipse.mylyn.commons.notifications/pom.xml) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/AbstractNotification.java (copied from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/AbstractNotification.java) | 29 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/IFilterable.java (copied from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java) | 12 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/INotificationService.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/INotificationService.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationEnvironment.java | 178 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationSink.java (copied from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationSinkEvent.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSinkEvent.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.classpath (copied from org.eclipse.mylyn.commons.notifications/.classpath) | 1 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.cvsignore (copied from org.eclipse.mylyn.commons.notifications/.cvsignore) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.project (copied from org.eclipse.mylyn.commons.notifications/.project) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.jdt.core.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.jdt.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.ltk.core.refactoring.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.mylyn.tasks.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.pde.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/META-INF/MANIFEST.MF | 21 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/about.html (copied from org.eclipse.mylyn.commons.notifications/about.html) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/build.properties (copied from org.eclipse.mylyn.commons.notifications/build.properties) | 4 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/plugin.properties (copied from org.eclipse.mylyn.commons.notifications/plugin.properties) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/pom.xml (copied from org.eclipse.mylyn.commons.notifications/pom.xml) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/IServiceMessageListener.java (copied from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java) | 8 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageEvent.java | 54 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageManager.java | 274 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedEntry.java | 109 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedReader.java | 91 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/INotificationsFeed.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java) | 8 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/ServiceMessage.java | 151 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.classpath (copied from org.eclipse.mylyn.commons.notifications/.classpath) | 11 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.cvsignore | 3 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.project (copied from org.eclipse.mylyn.commons.notifications/.project) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.jdt.core.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs) | 7 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.jdt.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.ltk.core.refactoring.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.api.tools.prefs | 145 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.prefs (copied from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/META-INF/MANIFEST.MF | 21 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/about.html (copied from org.eclipse.mylyn.commons.notifications/about.html) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/build.properties (copied from org.eclipse.mylyn.commons.notifications/build.properties) | 15 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/pom.xml (copied from org.eclipse.mylyn.commons.notifications/pom.xml) | 26 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/AllNotificationsTests.java | 32 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/core/NotificationEnvironmentTest.java | 164 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/FeedReaderTest.java | 66 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/ServiceMessageManagerTest.java | 56 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.classpath (renamed from org.eclipse.mylyn.commons.notifications/.classpath) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.cvsignore (renamed from org.eclipse.mylyn.commons.notifications/.cvsignore) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.project (renamed from org.eclipse.mylyn.commons.notifications/.project) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.core.runtime.prefs (renamed from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.core.runtime.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.jdt.core.prefs (renamed from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.jdt.ui.prefs (renamed from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.ltk.core.refactoring.prefs (renamed from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs (renamed from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.pde.prefs (renamed from org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/META-INF/MANIFEST.MF (renamed from org.eclipse.mylyn.commons.notifications/META-INF/MANIFEST.MF) | 12 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/about.html (renamed from org.eclipse.mylyn.commons.notifications/about.html) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/build.properties (renamed from org.eclipse.mylyn.commons.notifications/build.properties) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/plugin.properties (renamed from org.eclipse.mylyn.commons.notifications/plugin.properties) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/plugin.xml (renamed from org.eclipse.mylyn.commons.notifications/plugin.xml) | 8 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/pom.xml (renamed from org.eclipse.mylyn.commons.notifications/pom.xml) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/schema/notifications.exsd (renamed from org.eclipse.mylyn.commons.notifications/schema/notifications.exsd) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/AbstractUiNotification.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/AbstractNotification.java) | 38 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/NotificationControl.java (renamed from org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/NotificationControl.java) | 5 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/NotificationsUi.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/Notifications.java) | 9 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/Messages.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/Messages.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationAction.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationAction.java) | 4 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationCategory.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationCategory.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationElement.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationElement.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationEvent.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationEvent.java) | 4 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationHandler.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationHandler.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationModel.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationModel.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationService.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationService.java) | 10 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationSinkDescriptor.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationSinkDescriptor.java) | 4 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsExtensionReader.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsExtensionReader.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPlugin.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPlugin.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPreferencesInitializer.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPreferencesInitializer.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPreferencesPage.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPreferencesPage.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/messages.properties (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/messages.properties) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/Messages.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/Messages.java) | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/NotificationPopup.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/NotificationPopup.java) | 25 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/PopupNotificationSink.java (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/PopupNotificationSink.java) | 8 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/messages.properties (renamed from org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/messages.properties) | 0 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.sdk-feature/feature.xml | 20 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.tests/META-INF/MANIFEST.MF | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/CommonFormUtil.java | 2 | ||||
| -rw-r--r-- | org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/MessageControl.java (renamed from org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/ServiceMessageControl.java) | 7 | ||||
| -rw-r--r-- | pom.xml | 6 |
109 files changed, 2244 insertions, 150 deletions
diff --git a/org.eclipse.mylyn.commons-site/site.xml b/org.eclipse.mylyn.commons-site/site.xml index cbaf3c5..e813ba0 100644 --- a/org.eclipse.mylyn.commons-site/site.xml +++ b/org.eclipse.mylyn.commons-site/site.xml @@ -16,6 +16,9 @@ <feature url="features/org.eclipse.mylyn.commons_0.0.0.jar" id="org.eclipse.mylyn.commons" version="0.0.0"> <category name="Features"/> </feature> + <feature url="features/org.eclipse.mylyn.commons.notifications_0.0.0.jar" id="org.eclipse.mylyn.monitor" version="0.0.0"> + <category name="Integration"/> + </feature> <feature url="features/org.eclipse.mylyn.discovery_0.0.0.jar" id="org.eclipse.mylyn.discovery" version="0.0.0"> <category name="Integration"/> </feature> diff --git a/org.eclipse.mylyn.commons.notifications-feature/.cvsignore b/org.eclipse.mylyn.commons.notifications-feature/.cvsignore new file mode 100644 index 0000000..eb5a316 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/.cvsignore @@ -0,0 +1 @@ +target diff --git a/org.eclipse.mylyn.commons.notifications-feature/.project b/org.eclipse.mylyn.commons.notifications-feature/.project new file mode 100644 index 0000000..e7f16c9 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.mylyn.commons.notifications-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.commons.notifications/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.mylyn.commons.notifications-feature/.settings/org.eclipse.core.runtime.prefs index 5a0ad22..5a0ad22 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.core.runtime.prefs +++ b/org.eclipse.mylyn.commons.notifications-feature/.settings/org.eclipse.core.runtime.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs b/org.eclipse.mylyn.commons.notifications-feature/.settings/org.eclipse.mylyn.tasks.ui.prefs index d8c6d26..a4b9fa9 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications-feature/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -1,4 +1,4 @@ -#Mon Jun 25 03:02:37 GMT 2007 +#Thu Dec 20 14:08:45 PST 2007 eclipse.preferences.version=1 project.repository.kind=bugzilla project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/org.eclipse.mylyn.commons.notifications/plugin.properties b/org.eclipse.mylyn.commons.notifications-feature/build.properties index 9d7af38..d1c6704 100644 --- a/org.eclipse.mylyn.commons.notifications/plugin.properties +++ b/org.eclipse.mylyn.commons.notifications-feature/build.properties @@ -1,13 +1,12 @@ ############################################################################### -# Copyright (c) 2010 Tasktop Technologies and others. +# Copyright (c) 2004, 2010 Tasktop Technologies and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Tasktop Technologies - initial API and implementation ############################################################################### -Bundle-Vendor = Eclipse Mylyn -Bundle-Name = Mylyn Commons +bin.includes = feature.properties,\ + feature.xml,\ + license.html,\ + epl-v10.html diff --git a/org.eclipse.mylyn.commons.notifications-feature/epl-v10.html b/org.eclipse.mylyn.commons.notifications-feature/epl-v10.html new file mode 100644 index 0000000..ed4b196 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/epl-v10.html @@ -0,0 +1,328 @@ +<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 ("AGREEMENT"). 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'>"Contribution" 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'>"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style='font-size:10.0pt'>"Licensed Patents " 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'>"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style='font-size:10.0pt'>"Recipient" 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 ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") 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 "AS IS" 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]> <![endif]><o:p></o:p></p> + +</div> + +</body> + +</html>
\ No newline at end of file diff --git a/org.eclipse.mylyn.commons.notifications-feature/feature.properties b/org.eclipse.mylyn.commons.notifications-feature/feature.properties new file mode 100644 index 0000000..187f665 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/feature.properties @@ -0,0 +1,139 @@ +############################################################################### +# Copyright (c) 2009, 2010 Tasktop Technologies and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Tasktop Technologies - initial API and implementation +############################################################################### +featureName=Mylyn Commons Notifications +description=Provides a framework for notifications. +providerName=Eclipse Mylyn +copyright=Copyright (c) 2011 Tasktop Technologies and others. All rights reserved. + +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n diff --git a/org.eclipse.mylyn.commons.notifications-feature/feature.xml b/org.eclipse.mylyn.commons.notifications-feature/feature.xml new file mode 100644 index 0000000..207c2c4 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/feature.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2010 Tasktop Technologies and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Tasktop Technologies - initial API and implementation + --> +<feature + id="org.eclipse.mylyn.commons.notifications" + label="%featureName" + version="0.9.0.qualifier" + provider-name="%providerName" + plugin="org.eclipse.mylyn"> + + <description url="http://eclipse.org/mylyn"> + %description + </description> + + <copyright> + %copyright + </copyright> + + <license url="license.html"> + %license + </license> + + <requires> + <import plugin="org.eclipse.mylyn.commons.net" version="3.7.0" match="compatible"/> + <import plugin="org.apache.commons.codec" version="1.3.0" match="compatible"/> + <import plugin="org.apache.commons.lang" version="2.3.0" match="compatible"/> + <import plugin="org.apache.commons.logging" version="1.0.4" match="compatible"/> + <import plugin="org.apache.commons.httpclient" version="3.1.0" match="compatible"/> + <import plugin="com.sun.syndication" version="0.9.0" match="compatible"/> + <import plugin="org.jdom" version="1.1.0" match="compatible"/> + </requires> + + <plugin + id="org.eclipse.mylyn.commons.notifications.core" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.mylyn.commons.notifications.feed" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.mylyn.commons.notifications.ui" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + +</feature> diff --git a/org.eclipse.mylyn.commons.notifications-feature/license.html b/org.eclipse.mylyn.commons.notifications-feature/license.html new file mode 100644 index 0000000..f19c483 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/license.html @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> +<title>Eclipse Foundation Software User Agreement</title> +</head> + +<body lang="EN-US"> +<h2>Eclipse Foundation Software User Agreement</h2> +<p>February 1, 2011</p> + +<h3>Usage Of Content</h3> + +<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). 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 + ("EPL"). 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, "Program" 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 Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p> + +<ul> + <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li> + <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li> + <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.</li> + <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li> +</ul> + +<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). 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>Inside Plug-ins and Fragments packaged as JARs</li> + <li>Sub-directories of the directory named "src" 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 Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") 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 "license" property of files named "feature.properties" found within a Feature. +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>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li> + <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>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>Use of Provisioning Technology</h3> + +<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a + href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a> + ("Specification").</p> + +<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p> + +<ol> + <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.</li> + <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.</li> + <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li> +</ol> + +<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> + +<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p> +</body> +</html> diff --git a/org.eclipse.mylyn.commons.notifications-feature/pom.xml b/org.eclipse.mylyn.commons.notifications-feature/pom.xml new file mode 100644 index 0000000..2446e03 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications-feature/pom.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>org.eclipse.mylyn.commons-parent</artifactId> + <groupId>org.eclipse.mylyn.commons</groupId> + <version>3.7.0-SNAPSHOT</version> + </parent> + <artifactId>org.eclipse.mylyn.commons.notifications</artifactId> + <version>0.9.0-SNAPSHOT</version> + <packaging>eclipse-feature</packaging> +</project> diff --git a/org.eclipse.mylyn.commons.notifications/.classpath b/org.eclipse.mylyn.commons.notifications.core/.classpath index fcedc47..fd34f56 100644 --- a/org.eclipse.mylyn.commons.notifications/.classpath +++ b/org.eclipse.mylyn.commons.notifications.core/.classpath @@ -4,6 +4,7 @@ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> <accessrules> <accessrule kind="accessible" pattern="org/eclipse/core/internal/runtime/*"/> + <accessrule kind="accessible" pattern="**/mylyn/internal/provisional/**"/> </accessrules> </classpathentry> <classpathentry kind="src" path="src"/> diff --git a/org.eclipse.mylyn.commons.notifications/.cvsignore b/org.eclipse.mylyn.commons.notifications.core/.cvsignore index d567ba0..d567ba0 100644 --- a/org.eclipse.mylyn.commons.notifications/.cvsignore +++ b/org.eclipse.mylyn.commons.notifications.core/.cvsignore diff --git a/org.eclipse.mylyn.commons.notifications/.project b/org.eclipse.mylyn.commons.notifications.core/.project index d899a29..ed3cd36 100644 --- a/org.eclipse.mylyn.commons.notifications/.project +++ b/org.eclipse.mylyn.commons.notifications.core/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>org.eclipse.mylyn.commons.notifications</name> + <name>org.eclipse.mylyn.commons.notifications.core</name> <comment></comment> <projects> </projects> diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.jdt.core.prefs index 38a554f..38a554f 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.jdt.ui.prefs index d92dfc1..d92dfc1 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.ltk.core.refactoring.prefs index 5e7f2bd..5e7f2bd 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs +++ b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.ltk.core.refactoring.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.mylyn.tasks.ui.prefs index d8c6d26..d8c6d26 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.mylyn.tasks.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.pde.prefs index e8f2d56..e8f2d56 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs +++ b/org.eclipse.mylyn.commons.notifications.core/.settings/org.eclipse.pde.prefs diff --git a/org.eclipse.mylyn.commons.notifications.core/META-INF/MANIFEST.MF b/org.eclipse.mylyn.commons.notifications.core/META-INF/MANIFEST.MF new file mode 100644 index 0000000..96f7e5f --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.core/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: org.eclipse.mylyn.commons.notifications.core;singleton:=true +Bundle-Version: 0.9.0.qualifier +Bundle-Vendor: %Bundle-Vendor +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: org.eclipse.mylyn.commons.notifications.core;x-internal:=true +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.mylyn.commons.core +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy diff --git a/org.eclipse.mylyn.commons.notifications/about.html b/org.eclipse.mylyn.commons.notifications.core/about.html index d774b07..d774b07 100644 --- a/org.eclipse.mylyn.commons.notifications/about.html +++ b/org.eclipse.mylyn.commons.notifications.core/about.html diff --git a/org.eclipse.mylyn.commons.notifications/build.properties b/org.eclipse.mylyn.commons.notifications.core/build.properties index e5e8ab8..2f1725d 100644 --- a/org.eclipse.mylyn.commons.notifications/build.properties +++ b/org.eclipse.mylyn.commons.notifications.core/build.properties @@ -9,9 +9,7 @@ bin.includes = about.html,\ META-INF/,\ .,\ - plugin.xml,\ plugin.properties -src.includes = about.html,\ - schema/ +src.includes = about.html jre.compilation.profile = J2SE-1.5 source.. = src/ diff --git a/org.eclipse.mylyn.commons.notifications/plugin.properties b/org.eclipse.mylyn.commons.notifications.core/plugin.properties index 9d7af38..9d7af38 100644 --- a/org.eclipse.mylyn.commons.notifications/plugin.properties +++ b/org.eclipse.mylyn.commons.notifications.core/plugin.properties diff --git a/org.eclipse.mylyn.commons.notifications/pom.xml b/org.eclipse.mylyn.commons.notifications.core/pom.xml index 79e8592..563f8b1 100644 --- a/org.eclipse.mylyn.commons.notifications/pom.xml +++ b/org.eclipse.mylyn.commons.notifications.core/pom.xml @@ -7,7 +7,7 @@ <groupId>org.eclipse.mylyn.commons</groupId> <version>3.7.0-SNAPSHOT</version> </parent> - <artifactId>org.eclipse.mylyn.commons.notifications</artifactId> + <artifactId>org.eclipse.mylyn.commons.notifications.core</artifactId> <version>0.9.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <build> diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/AbstractNotification.java b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/AbstractNotification.java index e933ccb..437158e 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/AbstractNotification.java +++ b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/AbstractNotification.java @@ -9,15 +9,21 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.core; + +import java.util.Date; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.swt.graphics.Image; +import org.eclipse.mylyn.commons.core.CoreUtil; /** + * A notification. Each notification has an associated <code>eventId</code> that identifies the type of the + * notification. + * * @author Rob Elves * @author Mik Kersten + * @author Steffen Pingel */ public abstract class AbstractNotification implements Comparable<AbstractNotification>, IAdaptable { @@ -28,20 +34,29 @@ public abstract class AbstractNotification implements Comparable<AbstractNotific this.eventId = eventId; } + public int compareTo(AbstractNotification o) { + if (o == null) { + return 1; + } + return CoreUtil.compare(getDate(), o.getDate()); + } + public String getEventId() { return eventId; } - public abstract void open(); + public abstract Date getDate(); public abstract String getDescription(); public abstract String getLabel(); - public abstract Image getNotificationImage(); - - public abstract Image getNotificationKindImage(); - + /** + * Returns a token that identifies correlated notifications, e.g. all notifications resulting from a refresh + * operation. Returns <code>null</code> by default. + * + * @return any object; null, if no token is specified + */ public Object getToken() { return null; } diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/IFilterable.java index 3694ff2..f477ac3 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java +++ b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/IFilterable.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Tasktop Technologies and others. + * Copyright (c) 2011 Tasktop Technologies and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,13 +9,17 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.core; + +import java.util.List; /** * @author Steffen Pingel */ -public abstract class NotificationSink { +public interface IFilterable { + + String getFilter(String key); - public abstract void notify(NotificationSinkEvent event); + List<String> getFilters(String key); } diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/INotificationService.java b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/INotificationService.java index dc607a7..032d3ea 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/INotificationService.java +++ b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/INotificationService.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.core; import java.util.List; diff --git a/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationEnvironment.java b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationEnvironment.java new file mode 100644 index 0000000..d7a2686 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationEnvironment.java @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.core; + +import java.util.Collections; +import java.util.Dictionary; +import java.util.Hashtable; +import java.util.List; +import java.util.Set; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.Platform; +import org.eclipse.mylyn.commons.core.CoreUtil; +import org.eclipse.osgi.service.resolver.VersionRange; +import org.osgi.framework.Bundle; +import org.osgi.framework.Filter; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.Version; + +/** + * @author Steffen Pingel + */ +public class NotificationEnvironment { + + private final Dictionary<Object, Object> environment; + + public NotificationEnvironment() { + environment = new Hashtable<Object, Object>(System.getProperties()); + } + + public Version getFrameworkVersion() { + Bundle bundle = Platform.getBundle("org.eclipse.mylyn"); //$NON-NLS-1$ + if (bundle != null) { + return CoreUtil.getVersion(bundle); + } else { + return Version.emptyVersion; + } + } + + public Version getPlatformVersion() { + Bundle bundle = Platform.getBundle("org.eclipse.platform"); //$NON-NLS-1$ + if (bundle == null) { + bundle = Platform.getBundle(Platform.PI_RUNTIME); + } + if (bundle != null) { + String versionString = bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); + try { + return new Version(versionString); + } catch (IllegalArgumentException e) { + // should never happen + } + } + return Version.emptyVersion; + } + + public Version getRuntimeVersion() { + Version result = parseRuntimeVersion(System.getProperty("java.runtime.version")); //$NON-NLS-1$ + if (result == Version.emptyVersion) { + result = parseRuntimeVersion(System.getProperty("java.version")); //$NON-NLS-1$ + } + return result; + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + public boolean matches(IAdaptable item, IProgressMonitor monitor) { + IFilterable entry = (IFilterable) item.getAdapter(IFilterable.class); + if (entry == null) { + return true; + } + + if (!matchesVersion(entry.getFilter("frameworkVersion"), getFrameworkVersion())) { //$NON-NLS-1$ + return false; + } + if (!matchesVersion(entry.getFilter("platformVersion"), getPlatformVersion())) { //$NON-NLS-1$ + return false; + } + if (!matchesVersion(entry.getFilter("runtimeVersion"), getRuntimeVersion())) { //$NON-NLS-1$ + return false; + } + List<String> filterExpressions = entry.getFilters("filter"); //$NON-NLS-1$ + for (String filterExpression : filterExpressions) { + try { + Filter filter = FrameworkUtil.createFilter(filterExpression); + if (!filter.match((Dictionary) environment)) { + return false; + } + } catch (InvalidSyntaxException e) { + // ignore that filter + } + } + List<String> requiredFeatures = entry.getFilters("requires"); //$NON-NLS-1$ + for (String requiredFeature : requiredFeatures) { + if (!getInstalledFeatures(monitor).contains(parseFeature(requiredFeature))) { + return false; + } + } + List<String> conflictedFeatures = entry.getFilters("conflicts"); //$NON-NLS-1$ + for (String conflictedFeature : conflictedFeatures) { + if (getInstalledFeatures(monitor).contains(parseFeature(conflictedFeature))) { + return false; + } + } + return true; + } + + private int findLastNumberIndex(String versionString, int secondSeparator) { + int lastDigit = secondSeparator; + for (int i = secondSeparator + 1; i < versionString.length(); i++) { + if (Character.isDigit(versionString.charAt(i))) { + lastDigit++; + } else { + break; + } + } + if (lastDigit == secondSeparator) { + return secondSeparator - 1; + } + return lastDigit; + } + + public Set<String> getInstalledFeatures(IProgressMonitor monitor) { + return Collections.emptySet(); + } + + private boolean matchesVersion(String expectedVersionRangeExpression, Version actualVersion) { + if (expectedVersionRangeExpression != null) { + try { + VersionRange versionRange = new VersionRange(expectedVersionRangeExpression); + if (!versionRange.isIncluded(actualVersion)) { + return false; + } + } catch (IllegalArgumentException e) { + // ignore + } + } + return true; + } + + private String parseFeature(String requiredFeature) { + int i = requiredFeature.indexOf(";"); //$NON-NLS-1$ + if (i != -1) { + return requiredFeature.substring(0, i); + } + return requiredFeature; + } + + private Version parseRuntimeVersion(String versionString) { + if (versionString != null) { + int firstSeparator = versionString.indexOf('.'); + if (firstSeparator != -1) { + try { + int secondSeparator = versionString.indexOf('.', firstSeparator + 1); + if (secondSeparator != -1) { + return new Version(versionString.substring(0, + findLastNumberIndex(versionString, secondSeparator) + 1)); + } + return new Version(versionString.substring(0, + findLastNumberIndex(versionString, firstSeparator) + 1)); + } catch (IllegalArgumentException e) { + // ignore + } + } + } + return Version.emptyVersion; + } + +} diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationSink.java index 3694ff2..dabf5b0 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java +++ b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationSink.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.core; /** * @author Steffen Pingel diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSinkEvent.java b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationSinkEvent.java index a328eaa..93e40e2 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSinkEvent.java +++ b/org.eclipse.mylyn.commons.notifications.core/src/org/eclipse/mylyn/commons/notifications/core/NotificationSinkEvent.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.core; import java.util.List; diff --git a/org.eclipse.mylyn.commons.notifications/.classpath b/org.eclipse.mylyn.commons.notifications.feed/.classpath index fcedc47..fd34f56 100644 --- a/org.eclipse.mylyn.commons.notifications/.classpath +++ b/org.eclipse.mylyn.commons.notifications.feed/.classpath @@ -4,6 +4,7 @@ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> <accessrules> <accessrule kind="accessible" pattern="org/eclipse/core/internal/runtime/*"/> + <accessrule kind="accessible" pattern="**/mylyn/internal/provisional/**"/> </accessrules> </classpathentry> <classpathentry kind="src" path="src"/> diff --git a/org.eclipse.mylyn.commons.notifications/.cvsignore b/org.eclipse.mylyn.commons.notifications.feed/.cvsignore index d567ba0..d567ba0 100644 --- a/org.eclipse.mylyn.commons.notifications/.cvsignore +++ b/org.eclipse.mylyn.commons.notifications.feed/.cvsignore diff --git a/org.eclipse.mylyn.commons.notifications/.project b/org.eclipse.mylyn.commons.notifications.feed/.project index d899a29..0c7e0e1 100644 --- a/org.eclipse.mylyn.commons.notifications/.project +++ b/org.eclipse.mylyn.commons.notifications.feed/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>org.eclipse.mylyn.commons.notifications</name> + <name>org.eclipse.mylyn.commons.notifications.feed</name> <comment></comment> <projects> </projects> diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.jdt.core.prefs index 38a554f..38a554f 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.jdt.ui.prefs index d92dfc1..d92dfc1 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.ltk.core.refactoring.prefs index 5e7f2bd..5e7f2bd 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs +++ b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.ltk.core.refactoring.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.mylyn.tasks.ui.prefs index d8c6d26..d8c6d26 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.mylyn.tasks.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.pde.prefs index e8f2d56..e8f2d56 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs +++ b/org.eclipse.mylyn.commons.notifications.feed/.settings/org.eclipse.pde.prefs diff --git a/org.eclipse.mylyn.commons.notifications.feed/META-INF/MANIFEST.MF b/org.eclipse.mylyn.commons.notifications.feed/META-INF/MANIFEST.MF new file mode 100644 index 0000000..ba0a11e --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.feed/META-INF/MANIFEST.MF @@ -0,0 +1,21 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: org.eclipse.mylyn.commons.notifications.feed;singleton:=true +Bundle-Version: 0.9.0.qualifier +Bundle-Vendor: %Bundle-Vendor +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: org.eclipse.mylyn.commons.notifications.feed;x-internal:=true, + org.eclipse.mylyn.internal.commons.notifications.feed;x-internal:=true +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.mylyn.commons.core, + org.eclipse.mylyn.commons.net, + org.eclipse.mylyn.commons.notifications.core +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy +Import-Package: com.sun.syndication.feed;version="0.9.0", + com.sun.syndication.feed.module;version="0.9.0", + com.sun.syndication.feed.synd;version="0.9.0", + com.sun.syndication.io;version="0.9.0", + org.jdom;version="1.0.0" diff --git a/org.eclipse.mylyn.commons.notifications/about.html b/org.eclipse.mylyn.commons.notifications.feed/about.html index d774b07..d774b07 100644 --- a/org.eclipse.mylyn.commons.notifications/about.html +++ b/org.eclipse.mylyn.commons.notifications.feed/about.html diff --git a/org.eclipse.mylyn.commons.notifications/build.properties b/org.eclipse.mylyn.commons.notifications.feed/build.properties index e5e8ab8..2f1725d 100644 --- a/org.eclipse.mylyn.commons.notifications/build.properties +++ b/org.eclipse.mylyn.commons.notifications.feed/build.properties @@ -9,9 +9,7 @@ bin.includes = about.html,\ META-INF/,\ .,\ - plugin.xml,\ plugin.properties -src.includes = about.html,\ - schema/ +src.includes = about.html jre.compilation.profile = J2SE-1.5 source.. = src/ diff --git a/org.eclipse.mylyn.commons.notifications/plugin.properties b/org.eclipse.mylyn.commons.notifications.feed/plugin.properties index 9d7af38..9d7af38 100644 --- a/org.eclipse.mylyn.commons.notifications/plugin.properties +++ b/org.eclipse.mylyn.commons.notifications.feed/plugin.properties diff --git a/org.eclipse.mylyn.commons.notifications/pom.xml b/org.eclipse.mylyn.commons.notifications.feed/pom.xml index 79e8592..0064650 100644 --- a/org.eclipse.mylyn.commons.notifications/pom.xml +++ b/org.eclipse.mylyn.commons.notifications.feed/pom.xml @@ -7,7 +7,7 @@ <groupId>org.eclipse.mylyn.commons</groupId> <version>3.7.0-SNAPSHOT</version> </parent> - <artifactId>org.eclipse.mylyn.commons.notifications</artifactId> + <artifactId>org.eclipse.mylyn.commons.notifications.feed</artifactId> <version>0.9.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <build> diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/IServiceMessageListener.java index 3694ff2..8f5056e 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/IServiceMessageListener.java @@ -9,13 +9,13 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.feed; /** - * @author Steffen Pingel + * @author Robert Elves */ -public abstract class NotificationSink { +public interface IServiceMessageListener { - public abstract void notify(NotificationSinkEvent event); + public void handleEvent(ServiceMessageEvent event); } diff --git a/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageEvent.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageEvent.java new file mode 100644 index 0000000..6115eb1 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageEvent.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2010 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.feed; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.EventObject; +import java.util.List; + +import org.eclipse.mylyn.internal.commons.notifications.feed.ServiceMessage; + +/** + * @author Steffen Pingel + */ +public class ServiceMessageEvent extends EventObject { + + public enum Kind { + MESSAGE_UPDATE, STOP + }; + + private static final long serialVersionUID = 1L; + + private final List<ServiceMessage> messages; + + private final Kind eventKind; + + public ServiceMessageEvent(ServiceMessageManager manager, Kind kind) { + this(manager, kind, new ArrayList<ServiceMessage>()); + } + + public ServiceMessageEvent(ServiceMessageManager manager, Kind eventKind, List<ServiceMessage> messages) { + super(manager); + this.eventKind = eventKind; + this.messages = Collections.unmodifiableList(new ArrayList<ServiceMessage>(messages)); + } + + public List<ServiceMessage> getMessages() { + return messages; + } + + public Kind getEventKind() { + return eventKind; + } + +} diff --git a/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageManager.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageManager.java new file mode 100644 index 0000000..9c3c39f --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/commons/notifications/feed/ServiceMessageManager.java @@ -0,0 +1,274 @@ +/******************************************************************************* + * Copyright (c) 2004, 2010 Tasktop Technologies. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Tasktop EULA + * which accompanies this distribution, and is available at + * http://tasktop.com/legal + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.feed; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +import org.apache.commons.httpclient.Header; +import org.apache.commons.httpclient.HostConfiguration; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.methods.GetMethod; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.ISafeRunnable; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.SafeRunner; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.jobs.IJobChangeEvent; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.core.runtime.jobs.JobChangeAdapter; +import org.eclipse.mylyn.commons.core.StatusHandler; +import org.eclipse.mylyn.commons.net.WebLocation; +import org.eclipse.mylyn.commons.net.WebUtil; +import org.eclipse.mylyn.commons.notifications.core.NotificationEnvironment; +import org.eclipse.mylyn.internal.commons.notifications.feed.FeedReader; +import org.eclipse.mylyn.internal.commons.notifications.feed.INotificationsFeed; +import org.eclipse.mylyn.internal.commons.notifications.feed.ServiceMessage; + +/** + * @author Robert Elves + * @author Steffen Pingel + */ +public class ServiceMessageManager { + + private static final String ID_EVENT_SERVICE_MESSAGE = "org.eclipse.mylyn.notifications.feed.events.ServiceMessage"; //$NON-NLS-1$ + + private static final long RECHECK_DELAY = 14 * 24 * 60 * 60 * 1000; + + private static final long START_DELAY = 30 * 1000; + + private final long checktime; + + private final NotificationEnvironment environment; + + private String eTag; + + private String eventId; + + private String lastModified; + + private final List<IServiceMessageListener> listeners = new CopyOnWriteArrayList<IServiceMessageListener>(); + + private Job messageCheckJob; + + private volatile List<? extends ServiceMessage> messages = Collections.emptyList(); + + private boolean statusLogged; + + private String url; + + public ServiceMessageManager(String serviceMessageUrl, String lastModified, String eTag, long checktime) { + this(serviceMessageUrl, lastModified, eTag, checktime, new NotificationEnvironment()); + } + + public ServiceMessageManager(String serviceMessageUrl, String lastModified, String eTag, long checktime, + NotificationEnvironment environment) { + this.url = serviceMessageUrl; + this.lastModified = lastModified; + this.checktime = checktime; + this.eTag = eTag; + this.environment = environment; + this.eventId = ID_EVENT_SERVICE_MESSAGE; + } + + public void addServiceMessageListener(IServiceMessageListener listener) { + listeners.add(listener); + } + + public final String getEventId() { + return eventId; + } + + public List<ServiceMessage> getServiceMessages() { + return new ArrayList<ServiceMessage>(this.messages); + } + + public String getUrl() { + return url; + } + + public void removeServiceMessageListener(IServiceMessageListener listener) { + listeners.remove(listener); + } + + public final void setEventId(String eventId) { + Assert.isNotNull(eventId); + this.eventId = eventId; + } + + public void setUrl(String url) { + this.url = url; + } + + public void start() { + if (messageCheckJob == null) { + messageCheckJob = new Job("Checking for new service message") { //$NON-NLS-1$ + @Override + protected IStatus run(IProgressMonitor monitor) { + try { + refresh(monitor); + return Status.OK_STATUS; + } catch (Throwable t) { + // fail silently + return Status.CANCEL_STATUS; + } + } + + }; + messageCheckJob.setSystem(true); + messageCheckJob.setPriority(Job.DECORATE); + messageCheckJob.addJobChangeListener(new JobChangeAdapter() { + @Override + public void done(IJobChangeEvent event) { + if (messageCheckJob != null) { + messageCheckJob.schedule(RECHECK_DELAY); + } + } + }); + } + if (checktime == 0) { + messageCheckJob.schedule(START_DELAY); + } else { + long nextCheckTime = checktime + RECHECK_DELAY; + long now = System.currentTimeMillis(); + if (nextCheckTime < now) { + messageCheckJob.schedule(START_DELAY); + } else if (nextCheckTime > now) { + if (nextCheckTime - now < START_DELAY) { + messageCheckJob.schedule(START_DELAY); + } else { + messageCheckJob.schedule(nextCheckTime - now); + } + } + } + } + + public void stop() { + if (messageCheckJob != null) { + messageCheckJob.cancel(); + messageCheckJob = null; + } + + final ServiceMessageEvent event = new ServiceMessageEvent(this, ServiceMessageEvent.Kind.STOP); + + for (final IServiceMessageListener listener : listeners) { + SafeRunner.run(new ISafeRunnable() { + public void handleException(Throwable e) { + StatusHandler.log(new Status(IStatus.WARNING, INotificationsFeed.ID_PLUGIN, "Listener failed: " //$NON-NLS-1$ + + listener.getClass(), e)); + } + + public void run() throws Exception { + listener.handleEvent(event); + } + }); + } + } + + public int refresh(IProgressMonitor monitor) { + int status = -1; + List<? extends ServiceMessage> messages = null; + try { + HttpClient httpClient = new HttpClient(WebUtil.getConnectionManager()); + WebUtil.configureHttpClient(httpClient, null); + + WebLocation location = new WebLocation(url); + HostConfiguration hostConfiguration = WebUtil.createHostConfiguration(httpClient, location, + new SubProgressMonitor(monitor, 1)); + + GetMethod method = new GetMethod(url); + method.setRequestHeader("If-Modified-Since", lastModified); //$NON-NLS-1$ + method.setRequestHeader("If-None-Match", eTag); //$NON-NLS-1$ + + try { + status = WebUtil.execute(httpClient, hostConfiguration, method, monitor); + if (status == HttpStatus.SC_OK && !monitor.isCanceled()) { + Header lastModifiedHeader = method.getResponseHeader("Last-Modified"); //$NON-NLS-1$ + if (lastModifiedHeader != null) { + lastModified = lastModifiedHeader.getValue(); + } + Header eTagHeader = method.getResponseHeader("ETag"); //$NON-NLS-1$ + if (eTagHeader != null) { + eTag = eTagHeader.getValue(); + } + + InputStream in = WebUtil.getResponseBodyAsStream(method, monitor); + try { + messages = readMessages(in, monitor); + } finally { + in.close(); + } + } else if (status == HttpStatus.SC_NOT_FOUND) { + // no messages + } else if (status == HttpStatus.SC_NOT_MODIFIED) { + // no new messages + } else { + logStatus(new Status(IStatus.WARNING, INotificationsFeed.ID_PLUGIN, + "Http error retrieving service message: " + HttpStatus.getStatusText(status))); //$NON-NLS-1$ + } + } finally { + WebUtil.releaseConnection(method, monitor); + } + } catch (Exception e) { + logStatus(new Status(IStatus.WARNING, INotificationsFeed.ID_PLUGIN, + "Http error retrieving service message.", e)); //$NON-NLS-1$ + } + + if (messages != null && messages.size() > 0) { + notifyListeners(messages); + } + return status; + } + + private void logStatus(IStatus status) { + if (!statusLogged) { + statusLogged = true; + //StatusHandler.log(status); + } + } + + private void notifyListeners(List<? extends ServiceMessage> messages) { + this.messages = messages; + for (final ServiceMessage message : messages) { + message.setETag(eTag); + message.setLastModified(lastModified); + } + + ArrayList<ServiceMessage> sortedMessages = new ArrayList<ServiceMessage>(messages); + Collections.sort(messages); + final ServiceMessageEvent event = new ServiceMessageEvent(this, ServiceMessageEvent.Kind.MESSAGE_UPDATE, + sortedMessages); + for (final IServiceMessageListener listener : listeners) { + SafeRunner.run(new ISafeRunnable() { + public void handleException(Throwable e) { + StatusHandler.log(new Status(IStatus.WARNING, INotificationsFeed.ID_PLUGIN, "Listener failed: " //$NON-NLS-1$ + + listener.getClass(), e)); + } + + public void run() throws Exception { + listener.handleEvent(event); + } + }); + } + } + + private List<? extends ServiceMessage> readMessages(InputStream in, IProgressMonitor monitor) throws IOException { + FeedReader reader = new FeedReader(eventId, environment); + reader.parse(in, monitor); + return reader.getEntries(); + } + +} diff --git a/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedEntry.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedEntry.java new file mode 100644 index 0000000..ff3eedc --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedEntry.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.internal.commons.notifications.feed; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.core.runtime.Assert; + +import com.sun.syndication.feed.module.DCModule; +import com.sun.syndication.feed.module.DCSubject; +import com.sun.syndication.feed.synd.SyndEntry; + +/** + * @author Steffen Pingel + */ +public class FeedEntry extends ServiceMessage { + + private final SyndEntry source; + + public FeedEntry(String eventId, SyndEntry source) { + super(eventId); + this.source = source; + setId(source.getUri()); + setTitle(source.getTitle()); + if (source.getDescription() != null) { + setDescription(source.getDescription().getValue()); + } + setUrl(source.getLink()); + setImage("dialog_messasge_info_image"); //$NON-NLS-1$ + } + + public FeedEntry(String eventId) { + super(eventId); + this.source = null; + } + + public SyndEntry getSource() { + return source; + } + + public List<String> getFilters(String key) { + Assert.isNotNull(key); + List<String> result = new ArrayList<String>(); + DCModule module = (DCModule) source.getModule(DCModule.URI); + if (module != null && module.getSubjects() != null) { + for (Iterator<?> it = module.getSubjects().iterator(); it.hasNext();) { + DCSubject category = (DCSubject) it.next(); + String value = parseFilter(key, category.getValue()); + if (value != null) { + result.add(value); + } + } + } +// for (Iterator<?> it = source.getCategories().iterator(); it.hasNext();) { +// SyndCategory category = (SyndCategory) it.next(); +// String value = parseFilter(key, category.getName()); +// if (value != null) { +// result.add(value); +// } +// } + return result; + } + + public String getFilter(String key) { + Assert.isNotNull(key); + DCModule module = (DCModule) source.getModule(DCModule.URI); + if (module != null && module.getSubjects() != null) { + for (Iterator<?> it = module.getSubjects().iterator(); it.hasNext();) { + DCSubject category = (DCSubject) it.next(); + String value = parseFilter(key, category.getValue()); + if (value != null) { + return value; + } + } + } +// for (Iterator<?> it = source.getCategories().iterator(); it.hasNext();) { +// SyndCategory category = (SyndCategory) it.next(); +// String value = parseCategory(key, category.getName()); +// if (value != null) { +// return value; +// } +// } + return null; + } + + private String parseFilter(String key, String category) { + if (category != null) { + int i = category.indexOf("="); //$NON-NLS-1$ + if (i != -1) { + if (category.substring(0, i).trim().equals(key)) { + return category.substring(i + 1).trim(); + } + } + } + return null; + } + +} diff --git a/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedReader.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedReader.java new file mode 100644 index 0000000..241efe5 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/FeedReader.java @@ -0,0 +1,91 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.internal.commons.notifications.feed; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.mylyn.commons.notifications.core.IFilterable; +import org.eclipse.mylyn.commons.notifications.core.NotificationEnvironment; + +import com.sun.syndication.feed.synd.SyndEntry; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + +/** + * @author Steffen Pingel + */ +public class FeedReader { + + private final NotificationEnvironment environment; + + private final List<FeedEntry> entries; + + private final String eventId; + + public FeedReader(String eventId, NotificationEnvironment environment) { + this.eventId = eventId; + this.environment = environment; + this.entries = new ArrayList<FeedEntry>(); + } + + public IStatus parse(InputStream in, IProgressMonitor monitor) { + SyndFeedInput input = new SyndFeedInput(); + try { + SyndFeed feed = input.build(new XmlReader(in)); + for (Iterator<?> it = feed.getEntries().iterator(); it.hasNext();) { + SyndEntry syndEntry = (SyndEntry) it.next(); + final FeedEntry entry = createEntry(syndEntry); + if (environment.matches(new IAdaptable() { + public Object getAdapter(@SuppressWarnings("rawtypes") + Class adapter) { + if (adapter == IFilterable.class) { + return new IFilterable() { + public List<String> getFilters(String key) { + return entry.getFilters(key); + } + + public String getFilter(String key) { + return entry.getFilter(key); + } + }; + } else if (adapter == FeedEntry.class) { + return entry; + } + return null; + } + }, monitor)) { + entries.add(entry); + } + } + return Status.OK_STATUS; + } catch (Exception e) { + return new Status(IStatus.ERROR, INotificationsFeed.ID_PLUGIN, IStatus.ERROR, "Failed to parse RSS feed", e); //$NON-NLS-1$ + } + } + + protected FeedEntry createEntry(SyndEntry syndEntry) { + return new FeedEntry(eventId, syndEntry); + } + + public List<FeedEntry> getEntries() { + return entries; + } + +} diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/INotificationsFeed.java index 3694ff2..2706ffd 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/NotificationSink.java +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/INotificationsFeed.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Tasktop Technologies and others. + * Copyright (c) 2011 Tasktop Technologies. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,13 +9,13 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.feed; /** * @author Steffen Pingel */ -public abstract class NotificationSink { +public interface INotificationsFeed { - public abstract void notify(NotificationSinkEvent event); + public static final String ID_PLUGIN = "org.eclipse.mylyn.commons.notifications.feed"; //$NON-NLS-1$ } diff --git a/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/ServiceMessage.java b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/ServiceMessage.java new file mode 100644 index 0000000..7a1cdda --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.feed/src/org/eclipse/mylyn/internal/commons/notifications/feed/ServiceMessage.java @@ -0,0 +1,151 @@ +/******************************************************************************* + * Copyright (c) 2010 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.internal.commons.notifications.feed; + +import java.util.Date; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.mylyn.commons.notifications.core.AbstractNotification; + +/** + * @author Robert Elves + */ +public class ServiceMessage extends AbstractNotification { + + private Date date; + + private String description; + + private String eTag; + + private String id; + + private String image; + + private String lastModified; + + private String title; + + private String url; + + public ServiceMessage(String eventId) { + super(eventId); + } + + public int compareTo(ServiceMessage o) { + return -getId().compareTo(o.getId()); + } + + public Object getAdapter(@SuppressWarnings("rawtypes") + Class adapter) { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + @Override + public Date getDate() { + return date; + } + + @Override + public String getDescription() { + return description; + } + + public String getETag() { + return eTag; + } + + public String getId() { + return id; + } + + public String getImage() { + return image; + } + + @Override + public String getLabel() { + return getTitle(); + } + + public String getLastModified() { + return lastModified; + } + + public String getTitle() { + return title; + } + + public String getUrl() { + return url; + } + + public boolean isValid() { + return id != null && title != null && description != null && image != null; + } + + public void setDate(Date date) { + this.date = date; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setETag(String eTag) { + this.eTag = eTag; + } + + public void setId(String id) { + this.id = id; + } + + public void setImage(String image) { + this.image = image; + } + + public void setLastModified(String lastModified) { + this.lastModified = lastModified; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setUrl(String url) { + this.url = url; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("ServiceMessage [id="); //$NON-NLS-1$ + builder.append(id); + builder.append(", title="); //$NON-NLS-1$ + builder.append(title); + builder.append(", description="); //$NON-NLS-1$ + builder.append(description); + builder.append(", url="); //$NON-NLS-1$ + builder.append(url); + builder.append(", image="); //$NON-NLS-1$ + builder.append(image); + builder.append(", eTag="); //$NON-NLS-1$ + builder.append(eTag); + builder.append(", lastModified="); //$NON-NLS-1$ + builder.append(lastModified); + builder.append(", date="); //$NON-NLS-1$ + builder.append(date); + builder.append("]"); //$NON-NLS-1$ + return builder.toString(); + } + +} diff --git a/org.eclipse.mylyn.commons.notifications/.classpath b/org.eclipse.mylyn.commons.notifications.tests/.classpath index fcedc47..71ff97d 100644 --- a/org.eclipse.mylyn.commons.notifications/.classpath +++ b/org.eclipse.mylyn.commons.notifications.tests/.classpath @@ -1,11 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry excluding="org/eclipse/mylar/monitor/usage/tests/" kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> <accessrules> - <accessrule kind="accessible" pattern="org/eclipse/core/internal/runtime/*"/> + <accessrule kind="accessible" pattern="org/eclipse/mylyn/**"/> + <accessrule kind="accessible" pattern="**/internal/**"/> + </accessrules> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> + <accessrules> + <accessrule kind="nonaccessible" pattern="com/sun/**"/> </accessrules> </classpathentry> - <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> </classpath> diff --git a/org.eclipse.mylyn.commons.notifications.tests/.cvsignore b/org.eclipse.mylyn.commons.notifications.tests/.cvsignore new file mode 100644 index 0000000..c3c0137 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/.cvsignore @@ -0,0 +1,3 @@ +bin +target +mylyn-monitor-tests.jar diff --git a/org.eclipse.mylyn.commons.notifications/.project b/org.eclipse.mylyn.commons.notifications.tests/.project index d899a29..b3633b0 100644 --- a/org.eclipse.mylyn.commons.notifications/.project +++ b/org.eclipse.mylyn.commons.notifications.tests/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>org.eclipse.mylyn.commons.notifications</name> + <name>org.eclipse.mylyn.commons.notifications.tests</name> <comment></comment> <projects> </projects> diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.jdt.core.prefs index 38a554f..dc67eda 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Wed Mar 02 16:00:06 PST 2011 +#Wed Mar 02 16:00:03 PST 2011 eclipse.preferences.version=1 org.eclipse.jdt.core.codeComplete.argumentPrefixes= org.eclipse.jdt.core.codeComplete.argumentSuffixes= @@ -41,7 +41,7 @@ org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.nullReference=error org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore @@ -124,9 +124,11 @@ org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true org.eclipse.jdt.core.formatter.comment.format_block_comments=false +org.eclipse.jdt.core.formatter.comment.format_comments=true org.eclipse.jdt.core.formatter.comment.format_header=false org.eclipse.jdt.core.formatter.comment.format_html=true org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true @@ -158,6 +160,7 @@ org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.jdt.ui.prefs index d92dfc1..11031cf 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.jdt.ui.prefs @@ -1,4 +1,4 @@ -#Wed Mar 02 16:00:08 PST 2011 +#Wed Mar 02 16:00:07 PST 2011 cleanup_settings_version=2 eclipse.preferences.version=1 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.ltk.core.refactoring.prefs index 5e7f2bd..5e7f2bd 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs +++ b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.ltk.core.refactoring.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs index d8c6d26..d8c6d26 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.api.tools.prefs b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000..d51268c --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,145 @@ +#Tue Apr 08 17:50:00 PDT 2008 +ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error +ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +API_LEAK=Ignore +API_PROFILE_ELEMENT_TYPE_REMOVED_API_COMPONENT=Error +CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +CLASS_ELEMENT_TYPE_ADDED_FIELD=Error +CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error +CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error +CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error +CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error +ENUM_ELEMENT_TYPE_ADDED_FIELD=Error +ENUM_ELEMENT_TYPE_ADDED_METHOD=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error +ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error +ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error +ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error +ENUM_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Ignore +ILLEGAL_IMPLEMENT=Ignore +ILLEGAL_INSTANTIATE=Ignore +ILLEGAL_OVERRIDE=Ignore +ILLEGAL_REFERENCE=Ignore +INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error +INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error +INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error +eclipse.preferences.version=1 +incompatible_api_component_version=Error +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.prefs index e8f2d56..e8f2d56 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs +++ b/org.eclipse.mylyn.commons.notifications.tests/.settings/org.eclipse.pde.prefs diff --git a/org.eclipse.mylyn.commons.notifications.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.commons.notifications.tests/META-INF/MANIFEST.MF new file mode 100644 index 0000000..32336b7 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/META-INF/MANIFEST.MF @@ -0,0 +1,21 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Mylyn Commons Notifications Tests +Bundle-SymbolicName: org.eclipse.mylyn.commons.notifications.tests;singleton:=true +Bundle-Version: 3.7.0.qualifier +Bundle-Vendor: Eclipse Mylyn +Require-Bundle: org.eclipse.core.runtime, + org.junit, + org.eclipse.mylyn.commons.sdk.util, + org.eclipse.mylyn.commons.notifications.core, + org.eclipse.mylyn.commons.notifications.feed +Export-Package: org.eclipse.mylyn.commons.notifications.tests;x-internal:=true, + org.eclipse.mylyn.commons.notifications.tests.core;x-internal:=true, + org.eclipse.mylyn.commons.notifications.tests.feed;x-internal:=true +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Import-Package: com.sun.syndication.feed;version="0.9.0", + com.sun.syndication.feed.module;version="0.9.0", + com.sun.syndication.feed.synd;version="0.9.0", + com.sun.syndication.io;version="0.9.0", + org.apache.commons.httpclient, + org.jdom;version="1.0.0" diff --git a/org.eclipse.mylyn.commons.notifications/about.html b/org.eclipse.mylyn.commons.notifications.tests/about.html index d774b07..d774b07 100644 --- a/org.eclipse.mylyn.commons.notifications/about.html +++ b/org.eclipse.mylyn.commons.notifications.tests/about.html diff --git a/org.eclipse.mylyn.commons.notifications/build.properties b/org.eclipse.mylyn.commons.notifications.tests/build.properties index e5e8ab8..b73e020 100644 --- a/org.eclipse.mylyn.commons.notifications/build.properties +++ b/org.eclipse.mylyn.commons.notifications.tests/build.properties @@ -1,17 +1,14 @@ ############################################################################### -# Copyright (c) 2004, 2009 Tasktop Technologies and others. +# Copyright (c) 2004, 2008 Mylyn project committers and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html ############################################################################### - -bin.includes = about.html,\ - META-INF/,\ +bin.includes = META-INF/,\ .,\ - plugin.xml,\ - plugin.properties -src.includes = about.html,\ - schema/ -jre.compilation.profile = J2SE-1.5 + about.html source.. = src/ +output.. = bin/ +src.includes = about.html +jre.compilation.profile = J2SE-1.5 diff --git a/org.eclipse.mylyn.commons.notifications/pom.xml b/org.eclipse.mylyn.commons.notifications.tests/pom.xml index 79e8592..04d1981 100644 --- a/org.eclipse.mylyn.commons.notifications/pom.xml +++ b/org.eclipse.mylyn.commons.notifications.tests/pom.xml @@ -7,23 +7,27 @@ <groupId>org.eclipse.mylyn.commons</groupId> <version>3.7.0-SNAPSHOT</version> </parent> - <artifactId>org.eclipse.mylyn.commons.notifications</artifactId> - <version>0.9.0-SNAPSHOT</version> - <packaging>eclipse-plugin</packaging> + <artifactId>org.eclipse.mylyn.commons.notifications.tests</artifactId> + <version>3.7.0-SNAPSHOT</version> + <packaging>eclipse-test-plugin</packaging> + <properties> + <test.suite>${project.artifactId}.AllNotificationsTests</test.suite> + </properties> <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-source-plugin</artifactId> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-pmd-plugin</artifactId> - </plugin> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-surefire-plugin</artifactId> + <version>${tycho-version}</version> + <configuration> + <testSuite>${project.artifactId}</testSuite> + <testClass>${test.suite}</testClass> + </configuration> + </plugin> </plugins> </build> </project> diff --git a/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/AllNotificationsTests.java b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/AllNotificationsTests.java new file mode 100644 index 0000000..11aa9de --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/AllNotificationsTests.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import org.eclipse.mylyn.commons.notifications.tests.core.NotificationEnvironmentTest; +import org.eclipse.mylyn.commons.notifications.tests.feed.FeedReaderTest; + +/** + * @author Steffen Pingel + */ +public class AllNotificationsTests { + + public static Test suite() { + TestSuite suite = new TestSuite(AllNotificationsTests.class.getName()); + suite.addTestSuite(NotificationEnvironmentTest.class); + suite.addTestSuite(FeedReaderTest.class); + return suite; + } + +} diff --git a/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/core/NotificationEnvironmentTest.java b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/core/NotificationEnvironmentTest.java new file mode 100644 index 0000000..185f098 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/core/NotificationEnvironmentTest.java @@ -0,0 +1,164 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.tests.core; + +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import junit.framework.TestCase; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.Platform; +import org.eclipse.mylyn.commons.notifications.core.IFilterable; +import org.eclipse.mylyn.commons.notifications.core.NotificationEnvironment; +import org.eclipse.mylyn.internal.commons.notifications.feed.FeedEntry; +import org.eclipse.osgi.service.resolver.VersionRange; +import org.osgi.framework.Version; + +/** + * @author Steffen Pingel + */ +public class NotificationEnvironmentTest extends TestCase { + + private class StubEntry extends FeedEntry implements IAdaptable, IFilterable { + + private final Map<String, String> map; + + public StubEntry(Map<String, String> map) { + super("eventId"); + this.map = map; + } + + @Override + public List<String> getFilters(String key) { + String value = getFilter(key); + if (value != null) { + return Collections.singletonList(value); + } + return Collections.emptyList(); + } + + @Override + public String getFilter(String key) { + return map.get(key); + } + + @Override + public Object getAdapter(@SuppressWarnings("rawtypes") + Class adapter) { + if (adapter == IFilterable.class) { + return this; + } + return null; + } + + } + + private NotificationEnvironment environment; + + Set<String> installedFeatures; + + @Override + protected void setUp() throws Exception { + installedFeatures = new HashSet<String>(); + System.setProperty("EnvironmentTest", "2"); + environment = new NotificationEnvironment() { + @Override + public Set<String> getInstalledFeatures(IProgressMonitor monitor) { + return installedFeatures; + } + }; + } + + public void testGetRuntimeVersion() { + Version runtimeVersion = environment.getRuntimeVersion(); + assertTrue("Expected value between 1.5-1.8, got " + runtimeVersion, + new VersionRange("[1.5.0,1.8.0)").isIncluded(runtimeVersion)); + } + + public void testGetPlatformVersion() { + Version platformVersion = environment.getPlatformVersion(); + if (Platform.isRunning()) { + assertTrue("Expected value between 3.4-5.0, got " + platformVersion, + new VersionRange("[3.4.0,5.0.0)").isIncluded(platformVersion)); + } else { + assertEquals(Version.emptyVersion, platformVersion); + } + } + + public void testGetFrameworkVersion() { + Version frameworkVersion = environment.getFrameworkVersion(); + if (Platform.isRunning()) { + assertTrue("Expected value > 3.6, got " + frameworkVersion, + new VersionRange("3.6.0").isIncluded(frameworkVersion)); + } else { + assertEquals(Version.emptyVersion, frameworkVersion); + } + } + + public void testMatchesFrameworkVersion() { + Map<String, String> values = new HashMap<String, String>(); + assertTrue(environment.matches(new StubEntry(values), null)); + + values.put("frameworkVersion", "[1.0.0,2.0.0)"); + assertFalse(environment.matches(new StubEntry(values), null)); + + values.put("frameworkVersion", "[0.0.0,10.0.0)"); + assertTrue(environment.matches(new StubEntry(values), null)); + } + + public void testMatchesRequires() { + Map<String, String> values = new HashMap<String, String>(); + values.put("requires", "org.eclipse.mylyn"); + assertFalse(environment.matches(new StubEntry(values), null)); + + installedFeatures.add("org.eclipse.mylyn"); + assertTrue(environment.matches(new StubEntry(values), null)); + } + + public void testMatchesConflicts() { + Map<String, String> values = new HashMap<String, String>(); + values.put("conflicts", "org.eclipse.mylyn"); + assertTrue(environment.matches(new StubEntry(values), null)); + + installedFeatures.add("org.eclipse.mylyn"); + assertFalse(environment.matches(new StubEntry(values), null)); + } + + public void testMatchesRequiresConflicts() { + Map<String, String> values = new HashMap<String, String>(); + values.put("requires", "org.eclipse.mylyn"); + values.put("conflicts", "org.eclipse.cdt"); + assertFalse(environment.matches(new StubEntry(values), null)); + + installedFeatures.add("org.eclipse.mylyn"); + assertTrue(environment.matches(new StubEntry(values), null)); + + installedFeatures.add("org.eclipse.cdt"); + assertFalse(environment.matches(new StubEntry(values), null)); + } + + public void testMatchesFilter() { + Map<String, String> values = new HashMap<String, String>(); + values.put("filter", "(EnvironmentTest<=1)"); + assertFalse(environment.matches(new StubEntry(values), null)); + + values.put("filter", "(EnvironmentTest=2)"); + assertTrue(environment.matches(new StubEntry(values), null)); + } + +} diff --git a/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/FeedReaderTest.java b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/FeedReaderTest.java new file mode 100644 index 0000000..8aa11d3 --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/FeedReaderTest.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.tests.feed; + +import java.util.Collections; +import java.util.Set; + +import junit.framework.TestCase; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.Status; +import org.eclipse.mylyn.commons.notifications.core.NotificationEnvironment; +import org.eclipse.mylyn.commons.sdk.util.CommonTestUtil; +import org.eclipse.mylyn.internal.commons.notifications.feed.FeedEntry; +import org.eclipse.mylyn.internal.commons.notifications.feed.FeedReader; + +/** + * @author Steffen Pingel + */ +public class FeedReaderTest extends TestCase { + + private FeedReader reader; + + private NotificationEnvironment environment; + + @Override + protected void setUp() throws Exception { + environment = new NotificationEnvironment() { + @Override + public Set<String> getInstalledFeatures(IProgressMonitor monitor) { + return Collections.singleton("org.eclipse.mylyn"); + } + }; + reader = new FeedReader("eventId", environment); + } + + public void testParse() throws Exception { + assertEquals(Status.OK_STATUS, reader.parse( + CommonTestUtil.getResource(FeedReaderTest.class, "testdata/FeedReaderTest/update1.xml"), null)); + assertEquals(2, reader.getEntries().size()); + Collections.sort(reader.getEntries()); + + FeedEntry entry = reader.getEntries().get(0); + assertEquals("New Connectors", entry.getTitle()); + assertEquals("[0.0.0,3.7.0)", entry.getFilter("frameworkVersion")); + assertEquals("New connectors are now available. <a href=\"#discovery\">Show connectors</a>.", + entry.getDescription()); + + entry = reader.getEntries().get(1); + assertEquals("Mylyn 3.6 is now available", entry.getTitle()); + assertEquals("1.5.0", entry.getFilter("runtimeVersion")); + assertEquals( + "Mylyn 3.7 is now available. <a href=\"http://eclipse.org/mylyn/new/\">See New and Noteworthy</a> for details.", + entry.getDescription()); + } + +} diff --git a/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/ServiceMessageManagerTest.java b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/ServiceMessageManagerTest.java new file mode 100644 index 0000000..ff975eb --- a/dev/null +++ b/org.eclipse.mylyn.commons.notifications.tests/src/org/eclipse/mylyn/commons/notifications/tests/feed/ServiceMessageManagerTest.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2010 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.commons.notifications.tests.feed; + +import junit.framework.TestCase; + +import org.apache.commons.httpclient.HttpStatus; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.mylyn.commons.notifications.feed.ServiceMessageManager; +import org.eclipse.mylyn.internal.commons.notifications.feed.ServiceMessage; + +/** + * @author Robert Elves + */ +public class ServiceMessageManagerTest extends TestCase { + + private static final String MESSAGE_XML_URL = "http://mylyn.eclipse.org/message.xml"; + + public void testRetrievingMessage() throws Exception { + ServiceMessageManager manager = new ServiceMessageManager(MESSAGE_XML_URL, "", "", 0l); + int status = manager.refresh(new NullProgressMonitor()); + assertEquals(HttpStatus.SC_OK, status); + assertEquals(2, manager.getServiceMessages().size()); + + ServiceMessage message = manager.getServiceMessages().get(1); + assertEquals("1", message.getId()); + assertEquals("140 character description here....", message.getDescription()); + assertEquals("Mylyn 3.4 now available!", message.getTitle()); + assertEquals("http://eclipse.org/mylyn/downloads", message.getUrl()); + assertEquals("Mylyn 3.4 now available!", message.getTitle()); + assertEquals("dialog_messasge_info_image", message.getImage()); + } + + public void testETag() throws Exception { + ServiceMessageManager manager = new ServiceMessageManager(MESSAGE_XML_URL, "", "", 0l); + int status = manager.refresh(new NullProgressMonitor()); + assertEquals(HttpStatus.SC_OK, status); + ServiceMessage message = manager.getServiceMessages().get(0); + + assertNotNull(message.getLastModified()); + assertNotNull(message.getETag()); + + status = manager.refresh(new NullProgressMonitor()); + assertEquals(HttpStatus.SC_NOT_MODIFIED, status); + } + +} diff --git a/org.eclipse.mylyn.commons.notifications/.classpath b/org.eclipse.mylyn.commons.notifications.ui/.classpath index fcedc47..fcedc47 100644 --- a/org.eclipse.mylyn.commons.notifications/.classpath +++ b/org.eclipse.mylyn.commons.notifications.ui/.classpath diff --git a/org.eclipse.mylyn.commons.notifications/.cvsignore b/org.eclipse.mylyn.commons.notifications.ui/.cvsignore index d567ba0..d567ba0 100644 --- a/org.eclipse.mylyn.commons.notifications/.cvsignore +++ b/org.eclipse.mylyn.commons.notifications.ui/.cvsignore diff --git a/org.eclipse.mylyn.commons.notifications/.project b/org.eclipse.mylyn.commons.notifications.ui/.project index d899a29..420819d 100644 --- a/org.eclipse.mylyn.commons.notifications/.project +++ b/org.eclipse.mylyn.commons.notifications.ui/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>org.eclipse.mylyn.commons.notifications</name> + <name>org.eclipse.mylyn.commons.notifications.ui</name> <comment></comment> <projects> </projects> diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.core.runtime.prefs index 5a0ad22..5a0ad22 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.core.runtime.prefs +++ b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.core.runtime.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.jdt.core.prefs index 38a554f..38a554f 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.jdt.ui.prefs index d92dfc1..d92dfc1 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.jdt.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.ltk.core.refactoring.prefs index 5e7f2bd..5e7f2bd 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.ltk.core.refactoring.prefs +++ b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.ltk.core.refactoring.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs index d8c6d26..d8c6d26 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.mylyn.tasks.ui.prefs +++ b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs diff --git a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.pde.prefs index e8f2d56..e8f2d56 100644 --- a/org.eclipse.mylyn.commons.notifications/.settings/org.eclipse.pde.prefs +++ b/org.eclipse.mylyn.commons.notifications.ui/.settings/org.eclipse.pde.prefs diff --git a/org.eclipse.mylyn.commons.notifications/META-INF/MANIFEST.MF b/org.eclipse.mylyn.commons.notifications.ui/META-INF/MANIFEST.MF index 7f3f3d4..9164a49 100644 --- a/org.eclipse.mylyn.commons.notifications/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.commons.notifications.ui/META-INF/MANIFEST.MF @@ -1,22 +1,24 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name -Bundle-SymbolicName: org.eclipse.mylyn.commons.notifications;singleton:=true +Bundle-SymbolicName: org.eclipse.mylyn.commons.notifications.ui;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: J2SE-1.5 -Export-Package: org.eclipse.mylyn.commons.ui.notifications;x-internal:=true, - org.eclipse.mylyn.internal.commons.ui.notifications;x-internal:=true, - org.eclipse.mylyn.internal.commons.ui.notifications.popup;x-internal:=true +Export-Package: org.eclipse.mylyn.commons.notifications.ui;x-internal:=true, + org.eclipse.mylyn.internal.commons.notifications.ui;x-internal:=true, + org.eclipse.mylyn.internal.commons.notifications.ui.popup;x-internal:=true Require-Bundle: org.eclipse.core.runtime, org.eclipse.jface, org.eclipse.ui, + org.eclipse.ui.forms, org.eclipse.ui.workbench, org.eclipse.mylyn.commons.core;bundle-version="3.5.0", + org.eclipse.mylyn.commons.notifications.core, org.eclipse.mylyn.commons.ui;bundle-version="3.5.0", org.eclipse.mylyn.commons.workbench;bundle-version="3.5.0", org.eclipse.ui.forms Bundle-ClassPath: . Bundle-Localization: plugin Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.mylyn.internal.commons.ui.notifications.NotificationsPlugin +Bundle-Activator: org.eclipse.mylyn.internal.commons.notifications.ui.NotificationsPlugin diff --git a/org.eclipse.mylyn.commons.notifications/about.html b/org.eclipse.mylyn.commons.notifications.ui/about.html index d774b07..d774b07 100644 --- a/org.eclipse.mylyn.commons.notifications/about.html +++ b/org.eclipse.mylyn.commons.notifications.ui/about.html diff --git a/org.eclipse.mylyn.commons.notifications/build.properties b/org.eclipse.mylyn.commons.notifications.ui/build.properties index e5e8ab8..e5e8ab8 100644 --- a/org.eclipse.mylyn.commons.notifications/build.properties +++ b/org.eclipse.mylyn.commons.notifications.ui/build.properties diff --git a/org.eclipse.mylyn.commons.notifications/plugin.properties b/org.eclipse.mylyn.commons.notifications.ui/plugin.properties index 9d7af38..9d7af38 100644 --- a/org.eclipse.mylyn.commons.notifications/plugin.properties +++ b/org.eclipse.mylyn.commons.notifications.ui/plugin.properties diff --git a/org.eclipse.mylyn.commons.notifications/plugin.xml b/org.eclipse.mylyn.commons.notifications.ui/plugin.xml index bab1c2a..406cfce 100644 --- a/org.eclipse.mylyn.commons.notifications/plugin.xml +++ b/org.eclipse.mylyn.commons.notifications.ui/plugin.xml @@ -13,9 +13,9 @@ <plugin> <extension-point id="notifications" name="Noification Provider" schema="schema/notifications.exsd"/> <extension - point="org.eclipse.mylyn.commons.notifications.notifications"> + point="org.eclipse.mylyn.commons.notifications.ui.notifications"> <sink - class="org.eclipse.mylyn.internal.commons.ui.notifications.popup.PopupNotificationSink" + class="org.eclipse.mylyn.internal.commons.notifications.ui.popup.PopupNotificationSink" id="org.eclipse.mylyn.commons.notifications.sink.Popup" label="Desktop Popup"> </sink> @@ -23,7 +23,7 @@ <extension point="org.eclipse.core.runtime.preferences"> <initializer - class="org.eclipse.mylyn.internal.commons.ui.notifications.NotificationsPreferencesInitializer"> + class="org.eclipse.mylyn.internal.commons.notifications.ui.NotificationsPreferencesInitializer"> </initializer> </extension> <extension @@ -38,7 +38,7 @@ --> <page category="org.eclipse.mylyn.preferencePages.Mylyn" - class="org.eclipse.mylyn.internal.commons.ui.notifications.NotificationsPreferencesPage" + class="org.eclipse.mylyn.internal.commons.notifications.ui.NotificationsPreferencesPage" id="org.eclipse.mylyn.commons.notifications.preferencePages.Notifications" name="Notifications"> </page> diff --git a/org.eclipse.mylyn.commons.notifications/pom.xml b/org.eclipse.mylyn.commons.notifications.ui/pom.xml index 79e8592..bd224d1 100644 --- a/org.eclipse.mylyn.commons.notifications/pom.xml +++ b/org.eclipse.mylyn.commons.notifications.ui/pom.xml @@ -7,7 +7,7 @@ <groupId>org.eclipse.mylyn.commons</groupId> <version>3.7.0-SNAPSHOT</version> </parent> - <artifactId>org.eclipse.mylyn.commons.notifications</artifactId> + <artifactId>org.eclipse.mylyn.commons.notifications.ui</artifactId> <version>0.9.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> <build> diff --git a/org.eclipse.mylyn.commons.notifications/schema/notifications.exsd b/org.eclipse.mylyn.commons.notifications.ui/schema/notifications.exsd index cff69b4..cff69b4 100644 --- a/org.eclipse.mylyn.commons.notifications/schema/notifications.exsd +++ b/org.eclipse.mylyn.commons.notifications.ui/schema/notifications.exsd diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/AbstractNotification.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/AbstractUiNotification.java index e933ccb..4e59f0f 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/AbstractNotification.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/AbstractUiNotification.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2008 Tasktop Technologies and others. + * Copyright (c) 2011 Tasktop Technologies and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,41 +9,29 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.ui; -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.mylyn.commons.notifications.core.AbstractNotification; import org.eclipse.swt.graphics.Image; /** - * @author Rob Elves - * @author Mik Kersten + * A notification with UI specific extensions. + * + * @author Steffen Pingel */ -public abstract class AbstractNotification implements Comparable<AbstractNotification>, IAdaptable { +public abstract class AbstractUiNotification extends AbstractNotification { - private final String eventId; - - public AbstractNotification(String eventId) { - Assert.isNotNull(eventId); - this.eventId = eventId; - } - - public String getEventId() { - return eventId; + public AbstractUiNotification(String eventId) { + super(eventId); } - public abstract void open(); - - public abstract String getDescription(); - - public abstract String getLabel(); - public abstract Image getNotificationImage(); public abstract Image getNotificationKindImage(); - public Object getToken() { - return null; - } + /** + * Executes the default action for opening the notification. + */ + public abstract void open(); } diff --git a/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/NotificationControl.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/NotificationControl.java index 84f7956..af5251e 100644 --- a/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/NotificationControl.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/NotificationControl.java @@ -9,10 +9,11 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.workbench.forms; +package org.eclipse.mylyn.commons.notifications.ui; import org.eclipse.jface.preference.PreferenceDialog; import org.eclipse.mylyn.commons.ui.CommonImages; +import org.eclipse.mylyn.commons.workbench.forms.MessageControl; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.dialogs.PreferencesUtil; @@ -24,7 +25,7 @@ import org.eclipse.ui.forms.widgets.ImageHyperlink; * @author Steffen Pingel * @since 3.7 */ -public abstract class NotificationControl extends ServiceMessageControl { +public abstract class NotificationControl extends MessageControl { private static final String NOTIFICATIONS_PREF_PAGE = "org.eclipse.mylyn.commons.notifications.preferencePages.Notifications"; //$NON-NLS-1$ diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/Notifications.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/NotificationsUi.java index d955c81..7886dd5 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/commons/ui/notifications/Notifications.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/commons/notifications/ui/NotificationsUi.java @@ -9,16 +9,17 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.commons.ui.notifications; +package org.eclipse.mylyn.commons.notifications.ui; -import org.eclipse.mylyn.internal.commons.ui.notifications.NotificationsPlugin; +import org.eclipse.mylyn.commons.notifications.core.INotificationService; +import org.eclipse.mylyn.internal.commons.notifications.ui.NotificationsPlugin; /** * @author Steffen Pingel */ -public final class Notifications { +public final class NotificationsUi { - private Notifications() { + private NotificationsUi() { // do not instantiate } diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/Messages.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/Messages.java index 7a5f257..b4e8798 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/Messages.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/Messages.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationAction.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationAction.java index 9876076..0ae1fd4 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationAction.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationAction.java @@ -9,10 +9,10 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import org.eclipse.core.runtime.Assert; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSink; +import org.eclipse.mylyn.commons.notifications.core.NotificationSink; /** * Describes how a {@link NotificationEvent} is handled. {@link NotificationAction}s store enablement and parameters diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationCategory.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationCategory.java index a6c5797..b18ab67 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationCategory.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationCategory.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.ArrayList; import java.util.List; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationElement.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationElement.java index 795e32a..f8e013b 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationElement.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationElement.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IConfigurationElement; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationEvent.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationEvent.java index 92527ed..845e030 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationEvent.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationEvent.java @@ -10,7 +10,7 @@ * Itema AS - bug 331424 handle default event-sink action associations *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.ArrayList; @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.IExtensionRegistry; import org.eclipse.core.runtime.Platform; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSink; +import org.eclipse.mylyn.commons.notifications.core.NotificationSink; /** * Describes an event that is handled through a notification. The handling of event is stored in diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationHandler.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationHandler.java index 7aa94a7..95b4437 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationHandler.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationHandler.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.List; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationModel.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationModel.java index 4d10e90..2de1e41 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationModel.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationModel.java @@ -11,7 +11,7 @@ * Itema AS - bug 331424 handle default event-sink action associations *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.ArrayList; import java.util.Collection; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationService.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationService.java index 3e57558..2ad3f2b 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationService.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationService.java @@ -10,7 +10,7 @@ * Itema AS - bug 330064 notification filtering and model persistence *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.ArrayList; import java.util.HashMap; @@ -22,10 +22,10 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.SafeRunner; import org.eclipse.core.runtime.Status; import org.eclipse.mylyn.commons.core.StatusHandler; -import org.eclipse.mylyn.commons.ui.notifications.AbstractNotification; -import org.eclipse.mylyn.commons.ui.notifications.INotificationService; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSink; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSinkEvent; +import org.eclipse.mylyn.commons.notifications.core.AbstractNotification; +import org.eclipse.mylyn.commons.notifications.core.INotificationService; +import org.eclipse.mylyn.commons.notifications.core.NotificationSink; +import org.eclipse.mylyn.commons.notifications.core.NotificationSinkEvent; /** * @author Steffen Pingel diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationSinkDescriptor.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationSinkDescriptor.java index 0678424..d7b1a7d 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationSinkDescriptor.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationSinkDescriptor.java @@ -9,12 +9,12 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSink; +import org.eclipse.mylyn.commons.notifications.core.NotificationSink; import org.eclipse.osgi.util.NLS; import org.eclipse.ui.statushandlers.StatusManager; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsExtensionReader.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsExtensionReader.java index b0b1a0a..4f9f2ca 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsExtensionReader.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsExtensionReader.java @@ -10,7 +10,7 @@ * Itema AS - bug 330064 notification filtering and model persistence *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.ArrayList; import java.util.Collection; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPlugin.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPlugin.java index 4325346..15aad57 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPlugin.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPlugin.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.io.File; import java.io.FileReader; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPreferencesInitializer.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPreferencesInitializer.java index 299a202..22fee0d 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPreferencesInitializer.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPreferencesInitializer.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPreferencesPage.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPreferencesPage.java index 6db7e29..9b3f74b 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/NotificationsPreferencesPage.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/NotificationsPreferencesPage.java @@ -11,7 +11,7 @@ * Itema AS - bug 330064 notification filtering and model persistence * Itema AS - bug 331424 handle default event-sink action associations *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications; +package org.eclipse.mylyn.internal.commons.notifications.ui; import java.util.Collection; import java.util.List; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/messages.properties b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/messages.properties index 1b85c3c..1b85c3c 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/messages.properties +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/messages.properties diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/Messages.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/Messages.java index f82bf60..5b8aa47 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/Messages.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/Messages.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications.popup; +package org.eclipse.mylyn.internal.commons.notifications.ui.popup; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/NotificationPopup.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/NotificationPopup.java index 477aaf7..4c1f6e3 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/NotificationPopup.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/NotificationPopup.java @@ -9,24 +9,25 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications.popup; +package org.eclipse.mylyn.internal.commons.notifications.ui.popup; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.action.LegacyActionTools; import org.eclipse.jface.layout.GridDataFactory; +import org.eclipse.mylyn.commons.notifications.core.AbstractNotification; +import org.eclipse.mylyn.commons.notifications.ui.AbstractUiNotification; +import org.eclipse.mylyn.commons.ui.CommonUiUtil; import org.eclipse.mylyn.commons.ui.compatibility.CommonColors; -import org.eclipse.mylyn.commons.ui.notifications.AbstractNotification; import org.eclipse.mylyn.commons.workbench.AbstractWorkbenchNotificationPopup; +import org.eclipse.mylyn.commons.workbench.forms.CommonFormUtil; import org.eclipse.mylyn.commons.workbench.forms.ScalingHyperlink; -import org.eclipse.mylyn.internal.commons.workbench.CommonsWorkbenchPlugin; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.layout.GridLayout; 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.ui.IWorkbenchWindow; @@ -62,7 +63,9 @@ public class NotificationPopup extends AbstractWorkbenchNotificationPopup { if (count < NUM_NOTIFICATIONS_TO_DISPLAY) { final Label notificationLabelIcon = new Label(notificationComposite, SWT.NO_FOCUS); notificationLabelIcon.setBackground(parent.getBackground()); - notificationLabelIcon.setImage(notification.getNotificationKindImage()); + if (notification instanceof AbstractUiNotification) { + notificationLabelIcon.setImage(((AbstractUiNotification) notification).getNotificationKindImage()); + } // FIXME // if (!(notification instanceof TaskListNotificationReminder)) { // final AbstractTask task = (AbstractTask) notification.getAdapter(AbstractTask.class); @@ -88,13 +91,17 @@ public class NotificationPopup extends AbstractWorkbenchNotificationPopup { GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.TOP).applyTo(itemLink); itemLink.setForeground(CommonColors.HYPERLINK_WIDGET); itemLink.registerMouseTrackListener(); - itemLink.setText(LegacyActionTools.escapeMnemonics(notification.getLabel())); - itemLink.setImage(notification.getNotificationImage()); + itemLink.setText(CommonUiUtil.toLabel(notification.getLabel())); + if (notification instanceof AbstractUiNotification) { + itemLink.setImage(((AbstractUiNotification) notification).getNotificationImage()); + } itemLink.setBackground(parent.getBackground()); itemLink.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { - notification.open(); + if (notification instanceof AbstractUiNotification) { + ((AbstractUiNotification) notification).open(); + } IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window != null) { Shell windowShell = window.getShell(); @@ -165,7 +172,7 @@ public class NotificationPopup extends AbstractWorkbenchNotificationPopup { @Override protected Color getTitleForeground() { - return CommonsWorkbenchPlugin.getDefault().getFormColors(Display.getDefault()).getColor(IFormColors.TITLE); + return CommonFormUtil.getSharedColors().getColor(IFormColors.TITLE); } diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/PopupNotificationSink.java b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/PopupNotificationSink.java index 785ba85..e183574 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/PopupNotificationSink.java +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/PopupNotificationSink.java @@ -9,7 +9,7 @@ * Tasktop Technologies - initial API and implementation *******************************************************************************/ -package org.eclipse.mylyn.internal.commons.ui.notifications.popup; +package org.eclipse.mylyn.internal.commons.notifications.ui.popup; import java.util.ArrayList; import java.util.Collections; @@ -26,9 +26,9 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.window.Window; -import org.eclipse.mylyn.commons.ui.notifications.AbstractNotification; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSink; -import org.eclipse.mylyn.commons.ui.notifications.NotificationSinkEvent; +import org.eclipse.mylyn.commons.notifications.core.AbstractNotification; +import org.eclipse.mylyn.commons.notifications.core.NotificationSink; +import org.eclipse.mylyn.commons.notifications.core.NotificationSinkEvent; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchPreferenceConstants; import org.eclipse.ui.PlatformUI; diff --git a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/messages.properties b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/messages.properties index 5ac2c06..5ac2c06 100644 --- a/org.eclipse.mylyn.commons.notifications/src/org/eclipse/mylyn/internal/commons/ui/notifications/popup/messages.properties +++ b/org.eclipse.mylyn.commons.notifications.ui/src/org/eclipse/mylyn/internal/commons/notifications/ui/popup/messages.properties diff --git a/org.eclipse.mylyn.commons.sdk-feature/feature.xml b/org.eclipse.mylyn.commons.sdk-feature/feature.xml index 31ef634..b838215 100644 --- a/org.eclipse.mylyn.commons.sdk-feature/feature.xml +++ b/org.eclipse.mylyn.commons.sdk-feature/feature.xml @@ -32,6 +32,10 @@ id="org.eclipse.mylyn.commons" version="0.0.0"/> + <includes + id="org.eclipse.mylyn.commons.notifications" + version="0.0.0"/> + <!-- bug 278474 --> <plugin id="org.eclipse.core.runtime.compatibility.auth" @@ -120,7 +124,21 @@ unpack="false"/> <plugin - id="org.eclipse.mylyn.commons.notifications.source" + id="org.eclipse.mylyn.commons.notifications.core.source" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.mylyn.commons.notifications.feed.source" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.mylyn.commons.notifications.ui.source" download-size="0" install-size="0" version="0.0.0" diff --git a/org.eclipse.mylyn.commons.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.commons.tests/META-INF/MANIFEST.MF index 283d43d..d54ebba 100644 --- a/org.eclipse.mylyn.commons.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.commons.tests/META-INF/MANIFEST.MF @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime, org.junit, org.eclipse.mylyn.commons.core, org.eclipse.mylyn.commons.net, - org.eclipse.mylyn.commons.notifications, + org.eclipse.mylyn.commons.notifications.ui, org.eclipse.mylyn.commons.ui, org.eclipse.mylyn.commons.screenshots, org.eclipse.mylyn.commons.team, diff --git a/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/CommonFormUtil.java b/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/CommonFormUtil.java index 671c98e..a1cb211 100644 --- a/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/CommonFormUtil.java +++ b/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/CommonFormUtil.java @@ -30,7 +30,7 @@ import org.eclipse.ui.internal.forms.widgets.FormUtil; */ public class CommonFormUtil { - public FormColors getSharedColors() { + public static FormColors getSharedColors() { return CommonsWorkbenchPlugin.getDefault().getFormColors(Display.getDefault()); } diff --git a/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/ServiceMessageControl.java b/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/MessageControl.java index 790e2cd..5df770f 100644 --- a/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/ServiceMessageControl.java +++ b/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/forms/MessageControl.java @@ -40,15 +40,14 @@ import org.eclipse.ui.forms.widgets.TableWrapData; import org.eclipse.ui.forms.widgets.TableWrapLayout; /** - * GUI control designed to display build service messages. These messages may contain links that can be clicked by the - * user. + * Control designed to display notification messages. These messages may contain links that can be clicked by the user. * * @since 3.7 * @author Robert Elves * @author Steffen Pingel * @author Torkild Ulvøy Resheim */ -public abstract class ServiceMessageControl { +public abstract class MessageControl { protected static Font setHeaderFontSizeAndStyle(Control text) { float sizeFactor = 1.2f; @@ -86,7 +85,7 @@ public abstract class ServiceMessageControl { private String eventId; - public ServiceMessageControl(Composite parent) { + public MessageControl(Composite parent) { this.parent = parent; } @@ -50,7 +50,11 @@ <module>org.eclipse.mylyn.commons.http</module> <module>org.eclipse.mylyn.commons.identity</module> <module>org.eclipse.mylyn.commons.net</module> - <module>org.eclipse.mylyn.commons.notifications</module> + <module>org.eclipse.mylyn.commons.notifications-feature</module> + <module>org.eclipse.mylyn.commons.notifications.core</module> + <module>org.eclipse.mylyn.commons.notifications.feed</module> + <module>org.eclipse.mylyn.commons.notifications.tests</module> + <module>org.eclipse.mylyn.commons.notifications.ui</module> <module>org.eclipse.mylyn.commons.repositories</module> <module>org.eclipse.mylyn.commons.screenshots</module> <module>org.eclipse.mylyn.commons.sdk-feature</module> |

