Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java')
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java584
1 files changed, 292 insertions, 292 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java
index 003407375..09084d186 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java
@@ -42,10 +42,10 @@ import org.eclipse.team.ui.synchronize.SynchronizePageActionGroup;
*/
public class ChangeSetModelProvider extends CompositeModelProvider {
- private ViewerSorter viewerSorter;
+ private ViewerSorter viewerSorter;
// The id of the sub-provider
- private final String subProvierId;
+ private final String subProvierId;
private Map<ISynchronizeModelElement, ISynchronizeModelProvider> rootToProvider = new HashMap<>();
@@ -55,43 +55,43 @@ public class ChangeSetModelProvider extends CompositeModelProvider {
private IChangeSetChangeListener changeSetListener = new IChangeSetChangeListener() {
- @Override
+ @Override
public void setAdded(final ChangeSet set) {
- final SyncInfoTree syncInfoSet;
- // TODO: May need to be modified to work with two-way
- if (set instanceof CheckedInChangeSet) {
- syncInfoSet = checkedInCollector.getSyncInfoSet(set);
- } else {
- syncInfoSet = activeCollector.getSyncInfoSet(set);
- }
- if (syncInfoSet != null)
- createChangeSetModelElement(set, syncInfoSet);
- }
-
- @Override
+ final SyncInfoTree syncInfoSet;
+ // TODO: May need to be modified to work with two-way
+ if (set instanceof CheckedInChangeSet) {
+ syncInfoSet = checkedInCollector.getSyncInfoSet(set);
+ } else {
+ syncInfoSet = activeCollector.getSyncInfoSet(set);
+ }
+ if (syncInfoSet != null)
+ createChangeSetModelElement(set, syncInfoSet);
+ }
+
+ @Override
public void defaultSetChanged(final ChangeSet previousDefault, final ChangeSet set) {
- refreshLabel(previousDefault);
- refreshLabel(set);
- }
+ refreshLabel(previousDefault);
+ refreshLabel(set);
+ }
- @Override
+ @Override
public void setRemoved(final ChangeSet set) {
- removeModelElementForSet(set);
- }
+ removeModelElementForSet(set);
+ }
- @Override
+ @Override
public void nameChanged(final ChangeSet set) {
- refreshLabel(set);
- }
+ refreshLabel(set);
+ }
- @Override
+ @Override
public void resourcesChanged(ChangeSet set, IPath[] paths) {
- // The sub-providers listen directly to the sets for changes
- // There is no global action to be taken for such changes
- }
- };
+ // The sub-providers listen directly to the sets for changes
+ // There is no global action to be taken for such changes
+ }
+ };
- private ActiveChangeSetCollector activeCollector;
+ private ActiveChangeSetCollector activeCollector;
/* *****************************************************************************
* Descriptor for this model provider
@@ -113,288 +113,288 @@ public class ChangeSetModelProvider extends CompositeModelProvider {
};
private static final ChangeSetModelProviderDescriptor descriptor = new ChangeSetModelProviderDescriptor();
- protected ChangeSetModelProvider(ISynchronizePageConfiguration configuration, SyncInfoSet set, String subProvierId) {
- super(configuration, set);
- this.subProvierId = subProvierId;
- ChangeSetCapability changeSetCapability = getChangeSetCapability();
- if (changeSetCapability.supportsCheckedInChangeSets()) {
- checkedInCollector = changeSetCapability.createSyncInfoSetChangeSetCollector(configuration);
- checkedInCollector.setProvider(this);
- checkedInCollector.addListener(changeSetListener);
- }
- if (changeSetCapability.supportsActiveChangeSets()) {
- activeCollector = new ActiveChangeSetCollector(configuration, this);
- activeCollector.setChangeSetChangeListener(changeSetListener);
- configuration.addMenuGroup(ISynchronizePageConfiguration.P_CONTEXT_MENU, ChangeSetActionGroup.CHANGE_SET_GROUP);
- }
- }
-
- @Override
+ protected ChangeSetModelProvider(ISynchronizePageConfiguration configuration, SyncInfoSet set, String subProvierId) {
+ super(configuration, set);
+ this.subProvierId = subProvierId;
+ ChangeSetCapability changeSetCapability = getChangeSetCapability();
+ if (changeSetCapability.supportsCheckedInChangeSets()) {
+ checkedInCollector = changeSetCapability.createSyncInfoSetChangeSetCollector(configuration);
+ checkedInCollector.setProvider(this);
+ checkedInCollector.addListener(changeSetListener);
+ }
+ if (changeSetCapability.supportsActiveChangeSets()) {
+ activeCollector = new ActiveChangeSetCollector(configuration, this);
+ activeCollector.setChangeSetChangeListener(changeSetListener);
+ configuration.addMenuGroup(ISynchronizePageConfiguration.P_CONTEXT_MENU, ChangeSetActionGroup.CHANGE_SET_GROUP);
+ }
+ }
+
+ @Override
protected void handleChanges(ISyncInfoTreeChangeEvent event, IProgressMonitor monitor) {
- boolean handled = false;
- if (checkedInCollector != null && getChangeSetCapability().enableCheckedInChangeSetsFor(getConfiguration())) {
- checkedInCollector.handleChange(event);
- handled = true;
- }
- if (activeCollector != null && getChangeSetCapability().enableActiveChangeSetsFor(getConfiguration())) {
- activeCollector.handleChange(event);
- handled = true;
- }
- if (!handled) {
- // Forward the event to the root provider
- ISynchronizeModelProvider provider = getProviderRootedAt(getModelRoot());
- if (provider != null) {
- SyncInfoSet set = provider.getSyncInfoSet();
- try {
- set.beginInput();
- set.removeAll(event.getRemovedResources());
- SyncInfo[] added = event.getAddedResources();
- for (int i = 0; i < added.length; i++) {
- SyncInfo info = added[i];
- set.add(info);
- }
- SyncInfo[] changed = event.getChangedResources();
- for (int i = 0; i < changed.length; i++) {
- SyncInfo info = changed[i];
- set.add(info);
- }
- } finally {
- set.endInput(monitor);
- }
- }
- }
- }
-
- @Override
+ boolean handled = false;
+ if (checkedInCollector != null && getChangeSetCapability().enableCheckedInChangeSetsFor(getConfiguration())) {
+ checkedInCollector.handleChange(event);
+ handled = true;
+ }
+ if (activeCollector != null && getChangeSetCapability().enableActiveChangeSetsFor(getConfiguration())) {
+ activeCollector.handleChange(event);
+ handled = true;
+ }
+ if (!handled) {
+ // Forward the event to the root provider
+ ISynchronizeModelProvider provider = getProviderRootedAt(getModelRoot());
+ if (provider != null) {
+ SyncInfoSet set = provider.getSyncInfoSet();
+ try {
+ set.beginInput();
+ set.removeAll(event.getRemovedResources());
+ SyncInfo[] added = event.getAddedResources();
+ for (int i = 0; i < added.length; i++) {
+ SyncInfo info = added[i];
+ set.add(info);
+ }
+ SyncInfo[] changed = event.getChangedResources();
+ for (int i = 0; i < changed.length; i++) {
+ SyncInfo info = changed[i];
+ set.add(info);
+ }
+ } finally {
+ set.endInput(monitor);
+ }
+ }
+ }
+ }
+
+ @Override
protected void handleAddition(SyncInfo info) {
- // Nothing to do since change handling was bypassed
- }
+ // Nothing to do since change handling was bypassed
+ }
- @Override
+ @Override
protected IDiffElement[] buildModelObjects(ISynchronizeModelElement node) {
- // This method is invoked on a reset after the provider state has been cleared.
- // Resetting the collector will rebuild the model
+ // This method is invoked on a reset after the provider state has been cleared.
+ // Resetting the collector will rebuild the model
if (node == getModelRoot()) {
- // First, disable the collectors
- if (checkedInCollector != null) {
- checkedInCollector.reset(null);
- checkedInCollector.removeListener(changeSetListener);
- }
- if (activeCollector != null) {
- activeCollector.setChangeSetChangeListener(null);
- activeCollector.reset(null);
- }
-
- // Then, re-enable the proper collection method
- boolean handled = false;
- if (checkedInCollector != null && getChangeSetCapability().enableCheckedInChangeSetsFor(getConfiguration())) {
- checkedInCollector.addListener(changeSetListener);
- checkedInCollector.reset(getSyncInfoSet());
- handled = true;
- }
- if (activeCollector != null && getChangeSetCapability().enableActiveChangeSetsFor(getConfiguration())) {
- activeCollector.setChangeSetChangeListener(changeSetListener);
- activeCollector.reset(getSyncInfoSet());
- handled = true;
- }
- if (!handled) {
- // Forward the sync info to the root provider and trigger a build
- ISynchronizeModelProvider provider = getProviderRootedAt(getModelRoot());
- if (provider != null) {
- ((SynchronizeModelProvider)provider).getSyncInfoSet().addAll(getSyncInfoSet());
- }
- }
+ // First, disable the collectors
+ if (checkedInCollector != null) {
+ checkedInCollector.reset(null);
+ checkedInCollector.removeListener(changeSetListener);
+ }
+ if (activeCollector != null) {
+ activeCollector.setChangeSetChangeListener(null);
+ activeCollector.reset(null);
+ }
+
+ // Then, re-enable the proper collection method
+ boolean handled = false;
+ if (checkedInCollector != null && getChangeSetCapability().enableCheckedInChangeSetsFor(getConfiguration())) {
+ checkedInCollector.addListener(changeSetListener);
+ checkedInCollector.reset(getSyncInfoSet());
+ handled = true;
+ }
+ if (activeCollector != null && getChangeSetCapability().enableActiveChangeSetsFor(getConfiguration())) {
+ activeCollector.setChangeSetChangeListener(changeSetListener);
+ activeCollector.reset(getSyncInfoSet());
+ handled = true;
+ }
+ if (!handled) {
+ // Forward the sync info to the root provider and trigger a build
+ ISynchronizeModelProvider provider = getProviderRootedAt(getModelRoot());
+ if (provider != null) {
+ ((SynchronizeModelProvider)provider).getSyncInfoSet().addAll(getSyncInfoSet());
+ }
+ }
}
return new IDiffElement[0];
- }
+ }
- @Override
+ @Override
public ISynchronizeModelProviderDescriptor getDescriptor() {
- return descriptor;
- }
+ return descriptor;
+ }
- @Override
+ @Override
public ViewerSorter getViewerSorter() {
- if (viewerSorter == null) {
- viewerSorter = new ChangeSetModelSorter(this, ChangeSetActionGroup.getSortCriteria(getConfiguration()));
- }
- return viewerSorter;
- }
-
- /*
- * Method to allow ChangeSetActionGroup to set the viewer sorter of this provider.
- */
- public void setViewerSorter(ViewerSorter viewerSorter) {
- this.viewerSorter = viewerSorter;
- firePropertyChange(ISynchronizeModelProvider.P_VIEWER_SORTER, null, null);
- }
-
- @Override
+ if (viewerSorter == null) {
+ viewerSorter = new ChangeSetModelSorter(this, ChangeSetActionGroup.getSortCriteria(getConfiguration()));
+ }
+ return viewerSorter;
+ }
+
+ /*
+ * Method to allow ChangeSetActionGroup to set the viewer sorter of this provider.
+ */
+ public void setViewerSorter(ViewerSorter viewerSorter) {
+ this.viewerSorter = viewerSorter;
+ firePropertyChange(ISynchronizeModelProvider.P_VIEWER_SORTER, null, null);
+ }
+
+ @Override
protected SynchronizePageActionGroup createActionGroup() {
- return new ChangeSetActionGroup(this);
- }
+ return new ChangeSetActionGroup(this);
+ }
- private ISynchronizeModelProvider createProviderRootedAt(ISynchronizeModelElement parent, SyncInfoTree set) {
- ISynchronizeModelProvider provider = createModelProvider(parent, getSubproviderId(), set);
- addProvider(provider);
- rootToProvider.put(parent, provider);
- return provider;
- }
+ private ISynchronizeModelProvider createProviderRootedAt(ISynchronizeModelElement parent, SyncInfoTree set) {
+ ISynchronizeModelProvider provider = createModelProvider(parent, getSubproviderId(), set);
+ addProvider(provider);
+ rootToProvider.put(parent, provider);
+ return provider;
+ }
- private ISynchronizeModelProvider getProviderRootedAt(ISynchronizeModelElement parent) {
- return rootToProvider.get(parent);
- }
+ private ISynchronizeModelProvider getProviderRootedAt(ISynchronizeModelElement parent) {
+ return rootToProvider.get(parent);
+ }
- @Override
+ @Override
protected void removeProvider(ISynchronizeModelProvider provider) {
- rootToProvider.remove(provider.getModelRoot());
- super.removeProvider(provider);
- }
-
- /**
- * Return the id of the sub-provider used by the commit set provider.
- * @return the id of the sub-provider used by the commit set provider
- */
- public String getSubproviderId() {
- return subProvierId;
- }
-
- /**
- * Return the sorter associated with the sub-provider being used.
- * @return the sorter associated with the sub-provider being used
- */
- public ViewerSorter getEmbeddedSorter() {
- return embeddedSorter;
- }
-
- @Override
+ rootToProvider.remove(provider.getModelRoot());
+ super.removeProvider(provider);
+ }
+
+ /**
+ * Return the id of the sub-provider used by the commit set provider.
+ * @return the id of the sub-provider used by the commit set provider
+ */
+ public String getSubproviderId() {
+ return subProvierId;
+ }
+
+ /**
+ * Return the sorter associated with the sub-provider being used.
+ * @return the sorter associated with the sub-provider being used
+ */
+ public ViewerSorter getEmbeddedSorter() {
+ return embeddedSorter;
+ }
+
+ @Override
protected void recursiveClearModelObjects(ISynchronizeModelElement node) {
- super.recursiveClearModelObjects(node);
- if (node == getModelRoot()) {
- rootToProvider.clear();
- // Throw away the embedded sorter
- embeddedSorter = null;
- createRootProvider();
- }
- }
-
- /*
- * Create the root subprovider which is used to display resources
- * that are not in a commit set. This provider is created even if
- * it is empty so we can have access to the appropriate sorter
- * and action group
- */
- private void createRootProvider() {
- // Recreate the sub-provider at the root and use it's viewer sorter and action group
- SyncInfoTree tree;
- if (activeCollector != null && getChangeSetCapability().enableActiveChangeSetsFor(getConfiguration())) {
- // When in outgoing mode, use the root set of the active change set collector at the root
- tree = activeCollector.getRootSet();
- } else {
- tree = new SyncInfoTree();
- }
- final ISynchronizeModelProvider provider = createProviderRootedAt(getModelRoot(), tree);
- embeddedSorter = provider.getViewerSorter();
- if (provider instanceof AbstractSynchronizeModelProvider) {
- SynchronizePageActionGroup actionGroup = ((AbstractSynchronizeModelProvider)provider).getActionGroup();
- if (actionGroup != null) {
- // This action group will be disposed when the provider is disposed
- getConfiguration().addActionContribution(actionGroup);
- provider.addPropertyChangeListener(event -> {
- if (event.getProperty().equals(P_VIEWER_SORTER)) {
- embeddedSorter = provider.getViewerSorter();
- ChangeSetModelProvider.this.firePropertyChange(P_VIEWER_SORTER, null, null);
- }
+ super.recursiveClearModelObjects(node);
+ if (node == getModelRoot()) {
+ rootToProvider.clear();
+ // Throw away the embedded sorter
+ embeddedSorter = null;
+ createRootProvider();
+ }
+ }
+
+ /*
+ * Create the root subprovider which is used to display resources
+ * that are not in a commit set. This provider is created even if
+ * it is empty so we can have access to the appropriate sorter
+ * and action group
+ */
+ private void createRootProvider() {
+ // Recreate the sub-provider at the root and use it's viewer sorter and action group
+ SyncInfoTree tree;
+ if (activeCollector != null && getChangeSetCapability().enableActiveChangeSetsFor(getConfiguration())) {
+ // When in outgoing mode, use the root set of the active change set collector at the root
+ tree = activeCollector.getRootSet();
+ } else {
+ tree = new SyncInfoTree();
+ }
+ final ISynchronizeModelProvider provider = createProviderRootedAt(getModelRoot(), tree);
+ embeddedSorter = provider.getViewerSorter();
+ if (provider instanceof AbstractSynchronizeModelProvider) {
+ SynchronizePageActionGroup actionGroup = ((AbstractSynchronizeModelProvider)provider).getActionGroup();
+ if (actionGroup != null) {
+ // This action group will be disposed when the provider is disposed
+ getConfiguration().addActionContribution(actionGroup);
+ provider.addPropertyChangeListener(event -> {
+ if (event.getProperty().equals(P_VIEWER_SORTER)) {
+ embeddedSorter = provider.getViewerSorter();
+ ChangeSetModelProvider.this.firePropertyChange(P_VIEWER_SORTER, null, null);
+ }
});
- }
- }
- }
-
- /*
- * Find the root element for the given change set.
- * A linear search is used.
- */
- protected ISynchronizeModelElement getModelElement(ChangeSet set) {
- IDiffElement[] children = getModelRoot().getChildren();
- for (int i = 0; i < children.length; i++) {
- IDiffElement element = children[i];
- if (element instanceof ChangeSetDiffNode && ((ChangeSetDiffNode)element).getSet() == set) {
- return (ISynchronizeModelElement)element;
- }
- }
- return null;
- }
-
- /*
- * Return the change set capability
- */
- public ChangeSetCapability getChangeSetCapability() {
- ISynchronizeParticipant participant = getConfiguration().getParticipant();
- if (participant instanceof IChangeSetProvider) {
- IChangeSetProvider provider = (IChangeSetProvider) participant;
- return provider.getChangeSetCapability();
- }
- return null;
- }
-
- @Override
+ }
+ }
+ }
+
+ /*
+ * Find the root element for the given change set.
+ * A linear search is used.
+ */
+ protected ISynchronizeModelElement getModelElement(ChangeSet set) {
+ IDiffElement[] children = getModelRoot().getChildren();
+ for (int i = 0; i < children.length; i++) {
+ IDiffElement element = children[i];
+ if (element instanceof ChangeSetDiffNode && ((ChangeSetDiffNode)element).getSet() == set) {
+ return (ISynchronizeModelElement)element;
+ }
+ }
+ return null;
+ }
+
+ /*
+ * Return the change set capability
+ */
+ public ChangeSetCapability getChangeSetCapability() {
+ ISynchronizeParticipant participant = getConfiguration().getParticipant();
+ if (participant instanceof IChangeSetProvider) {
+ IChangeSetProvider provider = (IChangeSetProvider) participant;
+ return provider.getChangeSetCapability();
+ }
+ return null;
+ }
+
+ @Override
public void dispose() {
- if (checkedInCollector != null) {
- checkedInCollector.removeListener(changeSetListener);
- checkedInCollector.dispose();
- }
- if (activeCollector != null) {
- activeCollector.setChangeSetChangeListener(null);
- activeCollector.dispose();
- }
- super.dispose();
- }
-
-
- @Override
+ if (checkedInCollector != null) {
+ checkedInCollector.removeListener(changeSetListener);
+ checkedInCollector.dispose();
+ }
+ if (activeCollector != null) {
+ activeCollector.setChangeSetChangeListener(null);
+ activeCollector.dispose();
+ }
+ super.dispose();
+ }
+
+
+ @Override
public void waitUntilDone(IProgressMonitor monitor) {
- super.waitUntilDone(monitor);
- if (checkedInCollector != null) {
- checkedInCollector.waitUntilDone(monitor);
- // Wait for the provider again since the change set handler may have queued UI updates
- super.waitUntilDone(monitor);
- }
- }
-
- void removeModelElementForSet(final ChangeSet set) {
- ISynchronizeModelElement node = getModelElement(set);
- if (node != null) {
- ISynchronizeModelProvider provider = getProviderRootedAt(node);
- removeFromViewer(new ISynchronizeModelElement[] { node });
- removeProvider(provider);
- }
- }
-
- public void createChangeSetModelElement(ChangeSet set, SyncInfoTree tree) {
- // Add the model element and provider for the set
- ISynchronizeModelElement node = getModelElement(set);
- ISynchronizeModelProvider provider = null;
- if (node != null) {
- provider = getProviderRootedAt(node);
- }
- if (provider == null) {
- provider = createProvider(set, tree);
- provider.prepareInput(null);
- }
- }
-
- private ISynchronizeModelProvider createProvider(ChangeSet set, SyncInfoTree tree) {
- ChangeSetDiffNode node = new ChangeSetDiffNode(getModelRoot(), set);
- addToViewer(node);
- return createProviderRootedAt(node, tree);
- }
-
- public void refreshLabel(ChangeSet set) {
- ISynchronizeModelElement node = getModelElement(set);
- if (node != null) {
- getViewer().refresh(node);
- }
- }
+ super.waitUntilDone(monitor);
+ if (checkedInCollector != null) {
+ checkedInCollector.waitUntilDone(monitor);
+ // Wait for the provider again since the change set handler may have queued UI updates
+ super.waitUntilDone(monitor);
+ }
+ }
+
+ void removeModelElementForSet(final ChangeSet set) {
+ ISynchronizeModelElement node = getModelElement(set);
+ if (node != null) {
+ ISynchronizeModelProvider provider = getProviderRootedAt(node);
+ removeFromViewer(new ISynchronizeModelElement[] { node });
+ removeProvider(provider);
+ }
+ }
+
+ public void createChangeSetModelElement(ChangeSet set, SyncInfoTree tree) {
+ // Add the model element and provider for the set
+ ISynchronizeModelElement node = getModelElement(set);
+ ISynchronizeModelProvider provider = null;
+ if (node != null) {
+ provider = getProviderRootedAt(node);
+ }
+ if (provider == null) {
+ provider = createProvider(set, tree);
+ provider.prepareInput(null);
+ }
+ }
+
+ private ISynchronizeModelProvider createProvider(ChangeSet set, SyncInfoTree tree) {
+ ChangeSetDiffNode node = new ChangeSetDiffNode(getModelRoot(), set);
+ addToViewer(node);
+ return createProviderRootedAt(node, tree);
+ }
+
+ public void refreshLabel(ChangeSet set) {
+ ISynchronizeModelElement node = getModelElement(set);
+ if (node != null) {
+ getViewer().refresh(node);
+ }
+ }
}

Back to the top