diff options
author | Susan Franklin | 2010-04-24 22:04:25 +0000 |
---|---|---|
committer | Susan Franklin | 2010-04-24 22:04:25 +0000 |
commit | 9f292a983622ff559d82bc38acd0e8207ae41d6a (patch) | |
tree | 1f8260661c83b51f844c9373b07b186c88935e0a /bundles/org.eclipse.equinox.p2.ui | |
parent | 0dd31372793e31f297d920c200464284511e6ed3 (diff) | |
download | rt.equinox.p2-9f292a983622ff559d82bc38acd0e8207ae41d6a.tar.gz rt.equinox.p2-9f292a983622ff559d82bc38acd0e8207ae41d6a.tar.xz rt.equinox.p2-9f292a983622ff559d82bc38acd0e8207ae41d6a.zip |
Bug 300860 - [ui] Support event tracing
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui')
3 files changed, 13 insertions, 7 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIProvisioningListener.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIProvisioningListener.java index 5b5cbd92a..b6ea74112 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIProvisioningListener.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIProvisioningListener.java @@ -17,6 +17,7 @@ import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProv import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent; import org.eclipse.equinox.p2.engine.IProfileEvent; import org.eclipse.equinox.p2.repository.IRepository; +import org.eclipse.equinox.p2.ui.ProvisioningUI; /** * ProvisioningListener which handles event batching and other @@ -33,7 +34,6 @@ public abstract class ProvUIProvisioningListener implements SynchronousProvision public static final int PROV_EVENT_ARTIFACT_REPOSITORY = 0x0008; int eventTypes = 0; - int batchCount = 0; String name; public ProvUIProvisioningListener(String name, int eventTypes) { @@ -43,16 +43,14 @@ public abstract class ProvUIProvisioningListener implements SynchronousProvision public void notify(EventObject o) { if (o instanceof RepositoryOperationBeginningEvent) { - batchCount++; if (Tracing.DEBUG_EVENTS_CLIENT) - Tracing.debug("Batch Eventing: Ignore Following Events. Batch count: " + Integer.toString(batchCount) + getReceiverString()); //$NON-NLS-1$ + Tracing.debug("Batch Eventing: Ignore Following Events. " + getReceiverString()); //$NON-NLS-1$ } else if (o instanceof RepositoryOperationEndingEvent) { - batchCount--; if (Tracing.DEBUG_EVENTS_CLIENT) - Tracing.debug("Batch Eventing: Batch Ended. Batch count: " + Integer.toString(batchCount) + getReceiverString()); //$NON-NLS-1$ + Tracing.debug("Batch Eventing: Batch Ended. " + getReceiverString()); //$NON-NLS-1$ // A batch operation completed. Refresh. - if (batchCount <= 0) { + if (ProvisioningUI.getDefaultUI().getOperationRunner().eventBatchCount <= 0) { if (Tracing.DEBUG_EVENTS_CLIENT) Tracing.debug("Batch Eventing Complete." + getReceiverString()); //$NON-NLS-1$ RepositoryOperationEndingEvent event = (RepositoryOperationEndingEvent) o; @@ -69,7 +67,7 @@ public abstract class ProvUIProvisioningListener implements SynchronousProvision Tracing.debug("No Refresh on Batch Complete."); //$NON-NLS-1$ } } - } else if (batchCount > 0) { + } else if (ProvisioningUI.getDefaultUI().getOperationRunner().eventBatchCount > 0) { if (Tracing.DEBUG_EVENTS_CLIENT) Tracing.debug(name + " Ignoring: " + o.toString()); //$NON-NLS-1$ // We are in the middle of a batch operation diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java index e6f97eee1..0abe63488 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvisioningOperationRunner.java @@ -38,6 +38,7 @@ public class ProvisioningOperationRunner { boolean suppressRestart = false; ProvisioningUI ui; + public int eventBatchCount = 0; public ProvisioningOperationRunner(ProvisioningUI ui) { this.ui = ui; diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java index 5975e7d87..423fbb18c 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java @@ -17,6 +17,7 @@ import java.util.Collection; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; +import org.eclipse.equinox.internal.p2.core.helpers.Tracing; import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.internal.p2.ui.dialogs.*; import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent; @@ -348,6 +349,9 @@ public class ProvisioningUI { * a corresponding operation ending event is signaled. */ public void signalRepositoryOperationStart() { + runner.eventBatchCount++; + if (Tracing.DEBUG_EVENTS_CLIENT) + Tracing.debug("Batch Count Incremented to: " + Integer.toString(runner.eventBatchCount)); //$NON-NLS-1$ ProvUI.getProvisioningEventBus(getSession()).publishEvent(new RepositoryOperationBeginningEvent(this)); } @@ -359,6 +363,9 @@ public class ProvisioningUI { * @param update <code>true</code> if the event should be reflected in the UI, false if it should be ignored. */ public void signalRepositoryOperationComplete(RepositoryEvent event, boolean update) { + runner.eventBatchCount--; + if (Tracing.DEBUG_EVENTS_CLIENT) + Tracing.debug("Batch Count Decremented to: " + Integer.toString(runner.eventBatchCount)); //$NON-NLS-1$ ProvUI.getProvisioningEventBus(getSession()).publishEvent(new RepositoryOperationEndingEvent(this, update, event)); } |