diff options
author | John Arthorne | 2008-02-13 22:30:43 +0000 |
---|---|---|
committer | John Arthorne | 2008-02-13 22:30:43 +0000 |
commit | 747901281ac6b7ec11d18501ac299f6e5c223e99 (patch) | |
tree | 5ee3ff23f10b99e40881af640dd52b778b22ac33 /bundles/org.eclipse.equinox.p2.updatechecker | |
parent | e10226ab3bfc9387c2c011d22194e4112efa9ec0 (diff) | |
download | rt.equinox.p2-747901281ac6b7ec11d18501ac299f6e5c223e99.tar.gz rt.equinox.p2-747901281ac6b7ec11d18501ac299f6e5c223e99.tar.xz rt.equinox.p2-747901281ac6b7ec11d18501ac299f6e5c223e99.zip |
Bug 218252 [prov] All registered services should be service interfaces
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.updatechecker')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java | 12 | ||||
-rw-r--r-- | bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java (renamed from bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateChecker.java) | 21 | ||||
-rw-r--r-- | bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java | 26 | ||||
-rw-r--r-- | bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java | 2 | ||||
-rw-r--r-- | bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java | 2 |
5 files changed, 39 insertions, 24 deletions
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java index ecf2d5090..9b56f6d10 100644 --- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java +++ b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java @@ -10,18 +10,15 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.updatechecker; -import org.eclipse.equinox.internal.provisional.p2.updatechecker.UpdateChecker; +import org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker; import org.osgi.framework.*; /** * Activator class that registers the update checker service. - * - * @since 3.4 */ public class Activator implements BundleActivator { private static BundleContext context; - private UpdateChecker updateChecker; private ServiceRegistration registrationChecker; public static BundleContext getContext() { @@ -30,15 +27,10 @@ public class Activator implements BundleActivator { public void start(BundleContext bundleContext) throws Exception { Activator.context = bundleContext; - - updateChecker = new UpdateChecker(); - registrationChecker = context.registerService(UpdateChecker.class.getName(), updateChecker, null); - + registrationChecker = context.registerService(IUpdateChecker.SERVICE_NAME, new UpdateChecker(), null); } public void stop(BundleContext bundleContext) throws Exception { registrationChecker.unregister(); - updateChecker = null; } - } diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java index 5489a8e47..09939bdb3 100644 --- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateChecker.java +++ b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java @@ -8,31 +8,26 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.internal.provisional.p2.updatechecker; +package org.eclipse.equinox.internal.p2.updatechecker; import java.text.SimpleDateFormat; import java.util.*; import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; -import org.eclipse.equinox.internal.p2.updatechecker.Activator; import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; import org.eclipse.equinox.internal.provisional.p2.engine.*; import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery; import org.eclipse.equinox.internal.provisional.p2.query.Collector; +import org.eclipse.equinox.internal.provisional.p2.updatechecker.*; /** - * An UpdateChecker periodically polls for updates to specified profiles and - * informs listeners if updates are available. Listeners may then determine - * whether to retrieve the updates, inform the user, etc. - * + * Default implementation of {@link IUpdateChecker}. + * <p> * This implementation is not optimized. It doesn't optimize for multiple * polls on the same profile, nor does it cache any info about a profile from * poll to poll. - * - * @since 3.4 */ -public class UpdateChecker { - public static long ONE_TIME_CHECK = -1L; +public class UpdateChecker implements IUpdateChecker { public static boolean DEBUG = false; public static boolean TRACE = false; private HashSet checkers = new HashSet(); // threads @@ -83,6 +78,9 @@ public class UpdateChecker { } } + /* (non-Javadoc) + * @see org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker#addUpdateCheck(java.lang.String, long, long, org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener) + */ public void addUpdateCheck(String profileId, long delay, long poll, IUpdateListener listener) { log("Adding update checker for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$ UpdateCheckThread thread = new UpdateCheckThread(profileId, delay, poll, listener); @@ -90,6 +88,9 @@ public class UpdateChecker { thread.start(); } + /* (non-Javadoc) + * @see org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker#removeUpdateCheck(org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener) + */ public void removeUpdateCheck(IUpdateListener listener) { Iterator iter = checkers.iterator(); while (iter.hasNext()) { diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java new file mode 100644 index 000000000..335a82b93 --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.equinox.internal.provisional.p2.updatechecker; + +/** + * An UpdateChecker periodically polls for updates to specified profiles and + * informs listeners if updates are available. Listeners may then determine + * whether to retrieve the updates, inform the user, etc. + */ +public interface IUpdateChecker { + public static final String SERVICE_NAME = IUpdateChecker.class.getName(); + public static long ONE_TIME_CHECK = -1L; + + public abstract void addUpdateCheck(String profileId, long delay, long poll, IUpdateListener listener); + + public abstract void removeUpdateCheck(IUpdateListener listener); + +}
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java index 5c9d8073f..7cde63663 100644 --- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java +++ b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java @@ -14,8 +14,6 @@ package org.eclipse.equinox.internal.provisional.p2.updatechecker; * An IUpdateListener informs listeners that an update is available for * the specified profile. Listeners should expect to receive this notification * from a background thread. - * - * @since 3.4 */ public interface IUpdateListener { diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java index 05c86bfee..187b32cbf 100644 --- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java +++ b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java @@ -14,8 +14,6 @@ import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; /** * An UpdateEvent describes what IU's have updates for a given profile. - * - * @since 3.4 */ public class UpdateEvent { |