diff options
author | John Arthorne | 2008-10-30 18:18:37 +0000 |
---|---|---|
committer | John Arthorne | 2008-10-30 18:18:37 +0000 |
commit | 2830edb93e424ee0e57cdeb2a7d0e2262b3bef2f (patch) | |
tree | d6902b7e7f9bc33f2651557c30d0ca45c433c29b /bundles/org.eclipse.equinox.p2.updatechecker | |
parent | c1c8e8e070f285b5011b172239d6e088d6c744dd (diff) | |
download | rt.equinox.p2-2830edb93e424ee0e57cdeb2a7d0e2262b3bef2f.tar.gz rt.equinox.p2-2830edb93e424ee0e57cdeb2a7d0e2262b3bef2f.tar.xz rt.equinox.p2-2830edb93e424ee0e57cdeb2a7d0e2262b3bef2f.zip |
Various code cleanup, switch to using Tracing and LogHelper
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.updatechecker')
2 files changed, 22 insertions, 29 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 9b56f6d10..d6a6e1fe4 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 @@ -17,7 +17,7 @@ import org.osgi.framework.*; * Activator class that registers the update checker service. */ public class Activator implements BundleActivator { - + public static final String ID = "org.eclipse.equinox.p2.updatechecker"; //$NON-NLS-1$ private static BundleContext context; private ServiceRegistration registrationChecker; diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java index c830d3027..e06521d3a 100644 --- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java +++ b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java @@ -10,13 +10,14 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.updatechecker; -import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager; - import java.net.URI; import java.text.SimpleDateFormat; import java.util.*; -import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.equinox.internal.p2.core.helpers.*; import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; +import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager; 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; @@ -36,7 +37,11 @@ import org.eclipse.equinox.internal.provisional.p2.updatechecker.*; public class UpdateChecker implements IUpdateChecker { public static boolean DEBUG = false; public static boolean TRACE = false; - private HashSet checkers = new HashSet(); // threads + /** + * Map of IUpdateListener->UpdateCheckThread. + */ + private HashMap checkers = new HashMap(); + IProfileRegistry profileRegistry; IPlanner planner; @@ -62,15 +67,15 @@ public class UpdateChecker implements IUpdateChecker { } while (!done) { - log("Checking for updates for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$ + trace("Checking for updates for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$ IInstallableUnit[] iusWithUpdates = checkForUpdates(profileId, query); if (iusWithUpdates.length > 0) { - log("Notifying listener of available updates"); //$NON-NLS-1$ + trace("Notifying listener of available updates"); //$NON-NLS-1$ UpdateEvent event = new UpdateEvent(profileId, iusWithUpdates); if (!done) listener.updatesAvailable(event); } else { - log("No updates were available"); //$NON-NLS-1$ + trace("No updates were available"); //$NON-NLS-1$ } if (delay == ONE_TIME_CHECK || delay <= 0) { done = true; @@ -81,7 +86,7 @@ public class UpdateChecker implements IUpdateChecker { } catch (InterruptedException e) { // nothing } catch (Exception e) { - log("Exception in update check thread", e); //$NON-NLS-1$ + LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Exception in update check thread", e)); //$NON-NLS-1$ } } } @@ -90,9 +95,11 @@ public class UpdateChecker implements IUpdateChecker { * @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, Query query, long delay, long poll, IUpdateListener listener) { - log("Adding update checker for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$ + if (checkers.containsKey(listener)) + return; + trace("Adding update checker for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$ UpdateCheckThread thread = new UpdateCheckThread(profileId, query, delay, poll, listener); - checkers.add(thread); + checkers.put(listener, thread); thread.start(); } @@ -100,15 +107,7 @@ public class UpdateChecker implements IUpdateChecker { * @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()) { - UpdateCheckThread thread = (UpdateCheckThread) iter.next(); - if (thread.listener == listener) { - thread.done = true; - checkers.remove(thread); - break; - } - } + checkers.remove(listener); } /* @@ -151,15 +150,9 @@ public class UpdateChecker implements IUpdateChecker { return (URI[]) available.toArray(new URI[available.size()]); } - void log(String string, Throwable e) { - System.err.println(string + ": " + e); //$NON-NLS-1$ - if (DEBUG) - e.printStackTrace(); - } - - void log(String string) { - if (TRACE) - System.out.println(string); + void trace(String message) { + if (Tracing.DEBUG_UPDATE_CHECK) + Tracing.debug(message); } String getTimeStamp() { |