From 0f8149398cfd8e69d8f0c38f027367aec8de36a8 Mon Sep 17 00:00:00 2001 From: Mathias Kinzler Date: Mon, 31 May 2010 08:43:33 +0200 Subject: [PATCH] Git Repositories View: Refactoring first part The Git Repositories View should be refactored to use the Object Contribution extension point for building the context menus instead of doing this programmatically in the View class itself. This is the first part of this refractoring. It does not refactor the menu contribution yet, just makes makes the previous tree node class abstract and creates a new concrete subclass for each tree node type in order to being able to use those classes in the extension. Change-Id: I33f7f343847069efdd1d211db8ca6bea5e16339a Signed-off-by: Mathias Kinzler --- .../clone/GitImportWithDirectoriesPage.java | 10 +-- .../ui/internal/clone/GitSelectRepositoryPage.java | 2 +- .../ui/internal/dialogs/BranchSelectionDialog.java | 22 ++--- .../ui/internal/repository/RepositoriesView.java | 7 +- .../RepositoriesViewContentProvider.java | 97 ++++++++++------------ .../repository/RepositoriesViewLabelProvider.java | 1 + .../RepositoryPropertySourceProvider.java | 3 +- .../ui/internal/repository/tree/BranchesNode.java | 32 +++++++ .../ui/internal/repository/tree/ErrorNode.java | 35 ++++++++ .../ui/internal/repository/tree/FetchNode.java | 35 ++++++++ .../egit/ui/internal/repository/tree/FileNode.java | 36 ++++++++ .../ui/internal/repository/tree/FolderNode.java | 37 +++++++++ .../repository/tree/LocalBranchesNode.java | 33 ++++++++ .../egit/ui/internal/repository/tree/PushNode.java | 35 ++++++++ .../egit/ui/internal/repository/tree/RefNode.java | 35 ++++++++ .../repository/tree/RemoteBranchesNode.java | 33 ++++++++ .../ui/internal/repository/tree/RemoteNode.java | 35 ++++++++ .../ui/internal/repository/tree/RemotesNode.java | 32 +++++++ .../internal/repository/tree/RepositoryNode.java | 32 +++++++ .../repository/{ => tree}/RepositoryTreeNode.java | 86 +------------------ .../repository/tree/RepositoryTreeNodeType.java | 95 +++++++++++++++++++++ .../internal/repository/tree/SymbolicRefNode.java | 36 ++++++++ .../internal/repository/tree/SymbolicRefsNode.java | 33 ++++++++ .../egit/ui/internal/repository/tree/TagNode.java | 35 ++++++++ .../egit/ui/internal/repository/tree/TagsNode.java | 32 +++++++ .../internal/repository/tree/WorkingDirNode.java | 32 +++++++ 26 files changed, 741 insertions(+), 160 deletions(-) create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/BranchesNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/ErrorNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FetchNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FileNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FolderNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/LocalBranchesNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/PushNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RefNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteBranchesNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemotesNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryNode.java rename org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/{ => tree}/RepositoryTreeNode.java (77%) create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNodeType.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefsNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagsNode.java create mode 100644 org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/WorkingDirNode.java diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWithDirectoriesPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWithDirectoriesPage.java index 5db5551f..ea5729d3 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWithDirectoriesPage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWithDirectoriesPage.java @@ -17,8 +17,9 @@ import java.util.List; import org.eclipse.egit.ui.UIText; import org.eclipse.egit.ui.internal.repository.RepositoriesViewContentProvider; import org.eclipse.egit.ui.internal.repository.RepositoriesViewLabelProvider; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.WorkingDirNode; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredSelection; @@ -52,10 +53,9 @@ public class GitImportWithDirectoriesPage extends GitSelectWizardPage { * @param repo */ public void setRepository(Repository repo) { - List> input = new ArrayList>(); + List input = new ArrayList(); if (repo != null) - input.add(new RepositoryTreeNode(null, - RepositoryTreeNodeType.WORKINGDIR, repo, repo)); + input.add(new WorkingDirNode(null, repo)); tv.setInput(input); // select the working directory as default tv.setSelection(new StructuredSelection(input.get(0))); diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitSelectRepositoryPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitSelectRepositoryPage.java index f3fc3301..203c939f 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitSelectRepositoryPage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitSelectRepositoryPage.java @@ -19,7 +19,7 @@ import org.eclipse.egit.ui.internal.repository.RepositoriesView; import org.eclipse.egit.ui.internal.repository.RepositoriesViewContentProvider; import org.eclipse.egit.ui.internal.repository.RepositoriesViewLabelProvider; import org.eclipse.egit.ui.internal.repository.RepositorySearchDialog; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.jface.viewers.ISelectionChangedListener; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/BranchSelectionDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/BranchSelectionDialog.java index 615aa70e..c65b8dcb 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/BranchSelectionDialog.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/BranchSelectionDialog.java @@ -20,8 +20,12 @@ import org.eclipse.egit.ui.UIText; import org.eclipse.egit.ui.internal.ValidationUtils; import org.eclipse.egit.ui.internal.repository.RepositoriesViewContentProvider; import org.eclipse.egit.ui.internal.repository.RepositoriesViewLabelProvider; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.LocalBranchesNode; +import org.eclipse.egit.ui.internal.repository.tree.RefNode; +import org.eclipse.egit.ui.internal.repository.tree.RemoteBranchesNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.TagsNode; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.dialogs.TitleAreaDialog; @@ -41,8 +45,8 @@ import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.RefRename; import org.eclipse.jgit.lib.RefUpdate; -import org.eclipse.jgit.lib.RefUpdate.Result; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.lib.RefUpdate.Result; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -88,12 +92,9 @@ public class BranchSelectionDialog extends TitleAreaDialog { public BranchSelectionDialog(Shell parentShell, Repository repo) { super(parentShell); this.repo = repo; - localBranches = new RepositoryTreeNode(null, - RepositoryTreeNodeType.LOCALBRANCHES, this.repo, this.repo); - remoteBranches = new RepositoryTreeNode(null, - RepositoryTreeNodeType.REMOTEBRANCHES, this.repo, this.repo); - tags = new RepositoryTreeNode(null, - RepositoryTreeNodeType.TAGS, this.repo, this.repo); + localBranches = new LocalBranchesNode(null, this.repo); + remoteBranches = new RemoteBranchesNode(null, this.repo); + tags = new TagsNode(null, this.repo); } @Override @@ -219,8 +220,7 @@ public class BranchSelectionDialog extends TitleAreaDialog { return false; } - RepositoryTreeNode actNode = new RepositoryTreeNode( - parentNode, RepositoryTreeNodeType.REF, repo, actRef); + RefNode actNode = new RefNode(parentNode, repo, actRef); branchTree.setSelection(new StructuredSelection(actNode), true); return true; } diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java index 7f919a59..7308967f 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java @@ -54,7 +54,9 @@ import org.eclipse.egit.ui.internal.fetch.FetchConfiguredRemoteAction; import org.eclipse.egit.ui.internal.fetch.FetchWizard; import org.eclipse.egit.ui.internal.push.PushConfiguredRemoteAction; import org.eclipse.egit.ui.internal.push.PushWizard; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNodeType; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IToolBarManager; @@ -1750,8 +1752,7 @@ public class RepositoriesView extends ViewPart implements ISelectionProvider, // repository changes does not trigger an unnecessary // refresh repo.scanForRepoChanges(); - RepositoryTreeNode node = new RepositoryTreeNode( - null, RepositoryTreeNodeType.REPO, repo, repo); + RepositoryNode node = new RepositoryNode(null, repo); input.add(node); } } catch (IOException e) { diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java index 4d4d5953..50d6c5ce 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java @@ -23,7 +23,23 @@ import java.util.Map.Entry; import org.eclipse.egit.ui.Activator; import org.eclipse.egit.ui.UIText; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.BranchesNode; +import org.eclipse.egit.ui.internal.repository.tree.ErrorNode; +import org.eclipse.egit.ui.internal.repository.tree.FetchNode; +import org.eclipse.egit.ui.internal.repository.tree.FileNode; +import org.eclipse.egit.ui.internal.repository.tree.FolderNode; +import org.eclipse.egit.ui.internal.repository.tree.LocalBranchesNode; +import org.eclipse.egit.ui.internal.repository.tree.PushNode; +import org.eclipse.egit.ui.internal.repository.tree.RefNode; +import org.eclipse.egit.ui.internal.repository.tree.RemoteBranchesNode; +import org.eclipse.egit.ui.internal.repository.tree.RemoteNode; +import org.eclipse.egit.ui.internal.repository.tree.RemotesNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; +import org.eclipse.egit.ui.internal.repository.tree.SymbolicRefNode; +import org.eclipse.egit.ui.internal.repository.tree.SymbolicRefsNode; +import org.eclipse.egit.ui.internal.repository.tree.TagNode; +import org.eclipse.egit.ui.internal.repository.tree.TagsNode; +import org.eclipse.egit.ui.internal.repository.tree.WorkingDirNode; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jgit.lib.Constants; @@ -64,10 +80,8 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { List> nodes = new ArrayList>(); - nodes.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.LOCALBRANCHES, repo, repo)); - nodes.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.REMOTEBRANCHES, repo, repo)); + nodes.add(new LocalBranchesNode(node, repo)); + nodes.add(new RemoteBranchesNode(node, repo)); return nodes.toArray(); } @@ -79,9 +93,7 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { for (Entry refEntry : repo.getRefDatabase() .getRefs(Constants.R_HEADS).entrySet()) { if (!refEntry.getValue().isSymbolic()) - refs.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.REF, repo, refEntry - .getValue())); + refs.add(new RefNode(node, repo, refEntry.getValue())); } } catch (IOException e) { handleException(e, node); @@ -97,9 +109,7 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { for (Entry refEntry : repo.getRefDatabase() .getRefs(Constants.R_REMOTES).entrySet()) { if (!refEntry.getValue().isSymbolic()) - refs.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.REF, repo, refEntry - .getValue())); + refs.add(new RefNode(node, repo, refEntry.getValue())); } } catch (IOException e) { handleException(e, node); @@ -113,9 +123,7 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { try { for (Entry refEntry : repo.getRefDatabase() .getRefs(Constants.R_TAGS).entrySet()) { - refs.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.TAG, repo, refEntry - .getValue())); + refs.add(new TagNode(node, repo, refEntry.getValue())); } } catch (IOException e) { handleException(e, node); @@ -131,9 +139,8 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { for (Entry refEntry : repo.getRefDatabase() .getRefs(RefDatabase.ALL).entrySet()) { if (refEntry.getValue().isSymbolic()) - refs.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.SYMBOLICREF, repo, - refEntry.getValue())); + refs.add(new SymbolicRefNode(node, repo, refEntry + .getValue())); } } catch (IOException e) { handleException(e, node); @@ -151,8 +158,7 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { RepositoriesView.REMOTE); for (String configName : configNames) { - remotes.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.REMOTE, repo, configName)); + remotes.add(new RemoteNode(node, repo, configName)); } return remotes.toArray(); @@ -162,23 +168,11 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { List> nodeList = new ArrayList>(); - nodeList.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.BRANCHES, node.getRepository(), node - .getRepository())); - - nodeList.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.TAGS, repo, repo)); - - nodeList.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.SYMBOLICREFS, repo, repo)); - - nodeList.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.WORKINGDIR, node.getRepository(), - node.getRepository())); - - nodeList.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.REMOTES, node.getRepository(), node - .getRepository())); + nodeList.add(new BranchesNode(node, repo)); + nodeList.add(new TagsNode(node, repo)); + nodeList.add(new SymbolicRefsNode(node, repo)); + nodeList.add(new WorkingDirNode(node, repo)); + nodeList.add(new RemotesNode(node, repo)); return nodeList.toArray(); } @@ -209,11 +203,9 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { }); for (File file : childFiles) { if (file.isDirectory()) { - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.FOLDER, repo, file)); + children.add(new FolderNode(node, repo, file)); } else { - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.FILE, repo, file)); + children.add(new FileNode(node, repo, file)); } } @@ -241,11 +233,9 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { }); for (File file : childFiles) { if (file.isDirectory()) { - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.FOLDER, repo, file)); + children.add(new FolderNode(node, repo, file)); } else { - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.FILE, repo, file)); + children.add(new FileNode(node, repo, file)); } } @@ -267,19 +257,17 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { } if (!rc.getURIs().isEmpty()) - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.FETCH, node.getRepository(), rc - .getURIs().get(0).toPrivateString())); + children.add(new FetchNode(node, node.getRepository(), rc + .getURIs().get(0).toPrivateString())); if (!rc.getPushURIs().isEmpty()) if (rc.getPushURIs().size() == 1) - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.PUSH, node.getRepository(), - rc.getPushURIs().get(0).toPrivateString())); + children.add(new PushNode(node, node.getRepository(), rc + .getURIs().get(0).toPrivateString())); else - children.add(new RepositoryTreeNode(node, - RepositoryTreeNodeType.PUSH, node.getRepository(), - rc.getPushURIs().get(0).toPrivateString() + "...")); //$NON-NLS-1$ + children.add(new PushNode(node, node.getRepository(), rc + .getURIs().get(0).toPrivateString() + + "...")); //$NON-NLS-1$ return children.toArray(); @@ -309,8 +297,7 @@ public class RepositoriesViewContentProvider implements ITreeContentProvider { private void handleException(Exception e, RepositoryTreeNode parentNode) { Activator.handleError(e.getMessage(), e, false); // add a node indicating that there was an Exception - new RepositoryTreeNode(parentNode, - RepositoryTreeNodeType.ERROR, parentNode.getRepository(), + new ErrorNode(parentNode, parentNode.getRepository(), UIText.RepositoriesViewContentProvider_ExceptionNodeText); } diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewLabelProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewLabelProvider.java index 3c82b3b9..419ddaf1 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewLabelProvider.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewLabelProvider.java @@ -17,6 +17,7 @@ import java.util.Map; import org.eclipse.egit.ui.UIIcons; import org.eclipse.egit.ui.UIText; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; import org.eclipse.jface.resource.CompositeImageDescriptor; import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.jface.viewers.LabelProvider; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySourceProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySourceProvider.java index b5c66f70..ec348887 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySourceProvider.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryPropertySourceProvider.java @@ -10,7 +10,8 @@ *******************************************************************************/ package org.eclipse.egit.ui.internal.repository; -import org.eclipse.egit.ui.internal.repository.RepositoryTreeNode.RepositoryTreeNodeType; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode; +import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNodeType; import org.eclipse.jgit.lib.Repository; import org.eclipse.ui.views.properties.IPropertySource; import org.eclipse.ui.views.properties.IPropertySourceProvider; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/BranchesNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/BranchesNode.java new file mode 100644 index 00000000..f7354850 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/BranchesNode.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Branches" node + */ +public class BranchesNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public BranchesNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.BRANCHES, repository, repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/ErrorNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/ErrorNode.java new file mode 100644 index 00000000..8ecc4f30 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/ErrorNode.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Error" node + */ +public class ErrorNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param error + * the error message + */ + public ErrorNode(RepositoryTreeNode parent, Repository repository, + String error) { + super(parent, RepositoryTreeNodeType.ERROR, repository, error); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FetchNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FetchNode.java new file mode 100644 index 00000000..e900c1e3 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FetchNode.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Fetch" node + */ +public class FetchNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param fetchUri + * the push URI (or another suitable representation of the fetch) + */ + public FetchNode(RepositoryTreeNode parent, Repository repository, + String fetchUri) { + super(parent, RepositoryTreeNodeType.FETCH, repository, fetchUri); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FileNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FileNode.java new file mode 100644 index 00000000..1018ee76 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FileNode.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import java.io.File; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents a File in the working directory tree + */ +public class FileNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param file + * the file + */ + public FileNode(RepositoryTreeNode parent, Repository repository, File file) { + super(parent, RepositoryTreeNodeType.FILE, repository, file); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FolderNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FolderNode.java new file mode 100644 index 00000000..83f66177 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/FolderNode.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import java.io.File; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents a directory in the working directory tree + */ +public class FolderNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param directory + * the directory + */ + public FolderNode(RepositoryTreeNode parent, Repository repository, + File directory) { + super(parent, RepositoryTreeNodeType.FOLDER, repository, directory); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/LocalBranchesNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/LocalBranchesNode.java new file mode 100644 index 00000000..350ab913 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/LocalBranchesNode.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Local Branches" node + */ +public class LocalBranchesNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public LocalBranchesNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.LOCALBRANCHES, repository, + repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/PushNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/PushNode.java new file mode 100644 index 00000000..fcfa9383 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/PushNode.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Push" node + */ +public class PushNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param pushUri + * the push URI (or another suitable representation of the push) + */ + public PushNode(RepositoryTreeNode parent, Repository repository, + String pushUri) { + super(parent, RepositoryTreeNodeType.PUSH, repository, pushUri); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RefNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RefNode.java new file mode 100644 index 00000000..f3e87b64 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RefNode.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Ref; +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Reference" node + */ +public class RefNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param ref + * the reference + */ + public RefNode(RepositoryTreeNode parent, Repository repository, Ref ref) { + super(parent, RepositoryTreeNodeType.REF, repository, ref); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteBranchesNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteBranchesNode.java new file mode 100644 index 00000000..6a32b191 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteBranchesNode.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Remote Branches" node + */ +public class RemoteBranchesNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public RemoteBranchesNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.REMOTEBRANCHES, repository, + repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteNode.java new file mode 100644 index 00000000..c3160f66 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemoteNode.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Remote" node + */ +public class RemoteNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param remoteName + * the name of the remote specification + */ + public RemoteNode(RepositoryTreeNode parent, Repository repository, + String remoteName) { + super(parent, RepositoryTreeNodeType.REMOTE, repository, remoteName); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemotesNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemotesNode.java new file mode 100644 index 00000000..5507727f --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RemotesNode.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Remotes" node + */ +public class RemotesNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public RemotesNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.REMOTES, repository, repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryNode.java new file mode 100644 index 00000000..a55bb15f --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryNode.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Repository" node + */ +public class RepositoryNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public RepositoryNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.REPO, repository, repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryTreeNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNode.java similarity index 77% rename from org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryTreeNode.java rename to org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNode.java index 34090557..bfa20c23 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoryTreeNode.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNode.java @@ -8,17 +8,12 @@ * Contributors: * Mathias Kinzler (SAP AG) - initial implementation *******************************************************************************/ -package org.eclipse.egit.ui.internal.repository; +package org.eclipse.egit.ui.internal.repository.tree; import java.io.File; -import org.eclipse.egit.ui.Activator; -import org.eclipse.egit.ui.UIIcons; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; /** * A node in the Git Repositories view tree @@ -26,7 +21,7 @@ import org.eclipse.ui.PlatformUI; * @param * the type */ -public class RepositoryTreeNode implements Comparable { +public abstract class RepositoryTreeNode implements Comparable { private final Repository myRepository; @@ -337,81 +332,4 @@ public class RepositoryTreeNode implements Comparable { return false; } - /** - * Specifies the type of a {@link RepositoryTreeNode} - */ - public enum RepositoryTreeNodeType { - - /** */ - REPO(UIIcons.REPOSITORY.createImage()), // - /** */ - BRANCHES(UIIcons.BRANCHES.createImage()), // - /** */ - REF(UIIcons.BRANCH.createImage()), // - /** */ - LOCALBRANCHES(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FOLDER)), // - /** */ - REMOTEBRANCHES(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FOLDER)), // - /** */ - TAGS(UIIcons.TAGS.createImage()), // - /** */ - SYMBOLICREFS(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FOLDER)), // - /** */ - SYMBOLICREF(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FILE)), // TODO icon - /** */ - TAG(UIIcons.TAG.createImage()), // - /** */ - FILE(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FILE)), // - /** */ - FOLDER(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FOLDER)), // - /** */ - REMOTES(UIIcons.REMOTE_REPOSITORY.createImage()), // - /** */ - REMOTE(UIIcons.REMOTE_SPEC.createImage()), // - /** */ - FETCH(UIIcons.FETCH.createImage()), // - /** */ - PUSH(UIIcons.PUSH.createImage()), // - /** */ - WORKINGDIR(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_OBJ_FOLDER)), // - /** */ - ERROR(PlatformUI.getWorkbench().getSharedImages().getImage( - ISharedImages.IMG_ELCL_STOP)) // TODO icon? - - ; - - private final Image myImage; - - private RepositoryTreeNodeType(String iconName) { - - if (iconName != null) { - myImage = Activator.getDefault().getImageRegistry().get( - iconName); - } else { - myImage = null; - } - - } - - private RepositoryTreeNodeType(Image icon) { - myImage = icon; - - } - - /** - * @return the icon for this type - */ - public Image getIcon() { - return myImage; - } - - } - } diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNodeType.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNodeType.java new file mode 100644 index 00000000..d55a1103 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/RepositoryTreeNodeType.java @@ -0,0 +1,95 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.egit.ui.Activator; +import org.eclipse.egit.ui.UIIcons; +import org.eclipse.swt.graphics.Image; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +/** + * + */ +public enum RepositoryTreeNodeType { + /** */ + REPO(UIIcons.REPOSITORY.createImage()), // + /** */ + BRANCHES(UIIcons.BRANCHES.createImage()), // + /** */ + REF(UIIcons.BRANCH.createImage()), // + /** */ + LOCALBRANCHES(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FOLDER)), // + /** */ + REMOTEBRANCHES(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FOLDER)), // + /** */ + TAGS(UIIcons.TAGS.createImage()), // + /** */ + SYMBOLICREFS(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FOLDER)), // + /** */ + SYMBOLICREF(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FILE)), // TODO icon + /** */ + TAG(UIIcons.TAG.createImage()), // + /** */ + FILE(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FILE)), // + /** */ + FOLDER(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FOLDER)), // + /** */ + REMOTES(UIIcons.REMOTE_REPOSITORY.createImage()), // + /** */ + REMOTE(UIIcons.REMOTE_SPEC.createImage()), // + /** */ + FETCH(UIIcons.FETCH.createImage()), // + /** */ + PUSH(UIIcons.PUSH.createImage()), // + /** */ + WORKINGDIR(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_OBJ_FOLDER)), // + /** */ + ERROR(PlatformUI.getWorkbench().getSharedImages().getImage( + ISharedImages.IMG_ELCL_STOP)) // TODO icon? + + ; + + private final Image myImage; + + private RepositoryTreeNodeType(String iconName) { + + if (iconName != null) { + myImage = Activator.getDefault().getImageRegistry().get( + iconName); + } else { + myImage = null; + } + + } + + private RepositoryTreeNodeType(Image icon) { + myImage = icon; + + } + + /** + * @return the icon for this type + */ + public Image getIcon() { + return myImage; + } + + + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefNode.java new file mode 100644 index 00000000..1a63c2fe --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefNode.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Ref; +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Symbolic Reference" node + */ +public class SymbolicRefNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param ref + * the symbolic reference + */ + public SymbolicRefNode(RepositoryTreeNode parent, Repository repository, + Ref ref) { + super(parent, RepositoryTreeNodeType.SYMBOLICREF, repository, ref); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefsNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefsNode.java new file mode 100644 index 00000000..c476aa80 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/SymbolicRefsNode.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Symbolic References" node + */ +public class SymbolicRefsNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public SymbolicRefsNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.SYMBOLICREFS, repository, + repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagNode.java new file mode 100644 index 00000000..5c04c86c --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagNode.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Ref; +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Tag" node + */ +public class TagNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + * @param ref + * the tag reference + */ + public TagNode(RepositoryTreeNode parent, Repository repository, Ref ref) { + super(parent, RepositoryTreeNodeType.TAG, repository, ref); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagsNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagsNode.java new file mode 100644 index 00000000..e629260d --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/TagsNode.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Tags" node + */ +public class TagsNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public TagsNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.TAGS, repository, repository); + } + +} diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/WorkingDirNode.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/WorkingDirNode.java new file mode 100644 index 00000000..34a179a2 --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/WorkingDirNode.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2010 SAP AG. + * 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: + * Mathias Kinzler (SAP AG) - initial implementation + *******************************************************************************/ +package org.eclipse.egit.ui.internal.repository.tree; + +import org.eclipse.jgit.lib.Repository; + +/** + * Represents the "Working Directory" node + */ +public class WorkingDirNode extends RepositoryTreeNode { + + /** + * Constructs the node. + * + * @param parent + * the parent node (may be null) + * @param repository + * the {@link Repository} + */ + public WorkingDirNode(RepositoryTreeNode parent, Repository repository) { + super(parent, RepositoryTreeNodeType.WORKINGDIR, repository, repository); + } + +} -- 2.11.4.GIT