List of usage examples for org.eclipse.jgit.lib Repository getGlobalListenerList
public static ListenerList getGlobalListenerList()
From source file:com.gitblit.tickets.BranchTicketService.java
License:Apache License
@Inject public BranchTicketService(IRuntimeManager runtimeManager, IPluginManager pluginManager, INotificationManager notificationManager, IUserManager userManager, IRepositoryManager repositoryManager) { super(runtimeManager, pluginManager, notificationManager, userManager, repositoryManager); lastAssignedId = new ConcurrentHashMap<String, AtomicLong>(); // register the branch ticket service for repository ref changes Repository.getGlobalListenerList().addRefsChangedListener(this); }
From source file:org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan.java
License:Open Source License
private void registerRefChangedListener() { refsChangedListener = Repository.getGlobalListenerList().addRefsChangedListener(this); }
From source file:org.eclipse.egit.ui.Activator.java
License:Open Source License
private void setupRepoIndexRefresh() { refreshJob = new ResourceRefreshJob(); refreshHandle = Repository.getGlobalListenerList().addIndexChangedListener(refreshJob); }
From source file:org.eclipse.egit.ui.internal.commit.CommitEditor.java
License:Open Source License
/** * @see org.eclipse.ui.forms.editor.FormEditor#addPages() *//*from w w w . j a v a 2s .c o m*/ protected void addPages() { try { commitPage = new CommitEditorPage(this); addPage(commitPage); if (getCommit().getRevCommit().getParentCount() <= 1) { diffPage = new DiffEditorPage(this); addPage(diffPage); } if (getCommit().getNotes().length > 0) { notePage = new NotesEditorPage(this); addPage(notePage); } } catch (PartInitException e) { Activator.error("Error adding page", e); //$NON-NLS-1$ } refListenerHandle = Repository.getGlobalListenerList().addRefsChangedListener(this); }
From source file:org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator.java
License:Open Source License
/** * Constructs a new Git resource decorator *//*from w w w . jav a 2 s . c o m*/ public GitLightweightDecorator() { TeamUI.addPropertyChangeListener(this); Activator.addPropertyChangeListener(this); PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().addPropertyChangeListener(this); myIndexChangedHandle = Repository.getGlobalListenerList().addIndexChangedListener(this); myRefsChangedHandle = Repository.getGlobalListenerList().addRefsChangedListener(this); GitProjectData.addRepositoryChangeListener(this); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); // This is an optimization to ensure that while decorating our fonts and colors are // pre-created and decoration can occur without having to syncExec. ensureFontAndColorsCreated(fonts, colors); }
From source file:org.eclipse.egit.ui.internal.history.GitHistoryPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { trace = GitTraceLocation.HISTORYVIEW.isActive(); if (trace)/*from w w w.j a v a 2s .c om*/ GitTraceLocation.getTrace().traceEntry(GitTraceLocation.HISTORYVIEW.getLocation()); historyControl = createMainPanel(parent); GridDataFactory.fillDefaults().grab(true, true).applyTo(historyControl); graphDetailSplit = new SashForm(historyControl, SWT.VERTICAL); GridDataFactory.fillDefaults().grab(true, true).applyTo(graphDetailSplit); graph = new CommitGraphTable(graphDetailSplit, getSite(), popupMgr); revInfoSplit = new SashForm(graphDetailSplit, SWT.HORIZONTAL); commentViewer = new CommitMessageViewer(revInfoSplit, getSite()); fileViewer = new CommitFileDiffViewer(revInfoSplit, getSite()); findToolbar = new FindToolbar(historyControl); layoutSashForm(graphDetailSplit, UIPreferences.RESOURCEHISTORY_GRAPH_SPLIT); layoutSashForm(revInfoSplit, UIPreferences.RESOURCEHISTORY_REV_SPLIT); attachCommitSelectionChanged(); initActions(); getSite().registerContextMenu(POPUP_ID, popupMgr, graph.getTableView()); // due to the issues described in bug 322751, it makes no // sense to set a selection provider for the site here layout(); myRefsChangedHandle = Repository.getGlobalListenerList().addRefsChangedListener(this); if (trace) GitTraceLocation.getTrace().traceExit(GitTraceLocation.HISTORYVIEW.getLocation()); }
From source file:org.eclipse.egit.ui.internal.reflog.ReflogView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { GridLayoutFactory.fillDefaults().applyTo(parent); toolkit = new FormToolkit(parent.getDisplay()); parent.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { toolkit.dispose();/*w w w .j ava2 s. c o m*/ } }); form = toolkit.createForm(parent); Image repoImage = UIIcons.REPOSITORY.createImage(); UIUtils.hookDisposal(form, repoImage); final Image branchImage = UIIcons.CHANGESET.createImage(); UIUtils.hookDisposal(form, branchImage); form.setImage(repoImage); form.setText(UIText.StagingView_NoSelectionTitle); GridDataFactory.fillDefaults().grab(true, true).applyTo(form); toolkit.decorateFormHeading(form); GridLayoutFactory.fillDefaults().applyTo(form.getBody()); Composite tableComposite = toolkit.createComposite(form.getBody()); tableComposite.setLayout(new GridLayout()); GridDataFactory.fillDefaults().grab(true, true).applyTo(tableComposite); final TreeColumnLayout layout = new TreeColumnLayout(); FilteredTree filteredTree = new FilteredTree(tableComposite, SWT.NONE | SWT.BORDER | SWT.FULL_SELECTION, new PatternFilter(), true) { @Override protected void createControl(Composite composite, int treeStyle) { super.createControl(composite, treeStyle); treeComposite.setLayout(layout); } }; toolkit.adapt(filteredTree); refLogTableTreeViewer = filteredTree.getViewer(); refLogTableTreeViewer.getTree().setLinesVisible(true); refLogTableTreeViewer.getTree().setHeaderVisible(true); refLogTableTreeViewer.setContentProvider(new ReflogViewContentProvider()); ColumnViewerToolTipSupport.enableFor(refLogTableTreeViewer); TreeViewerColumn toColumn = createColumn(layout, UIText.ReflogView_CommitColumnHeader, 10, SWT.LEFT); toColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { final ReflogEntry entry = (ReflogEntry) element; return entry.getNewId().abbreviate(7).name(); } @Override public String getToolTipText(Object element) { final ReflogEntry entry = (ReflogEntry) element; return entry.getNewId().name(); } @Override public Image getImage(Object element) { return branchImage; } }); TreeViewerColumn commitMessageColumn = createColumn(layout, UIText.ReflogView_CommitMessageColumnHeader, 40, SWT.LEFT); commitMessageColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { final ReflogEntry entry = (ReflogEntry) element; RevCommit c = getCommit(entry); return c == null ? "" : c.getShortMessage(); //$NON-NLS-1$ } private RevCommit getCommit(final ReflogEntry entry) { RevWalk walk = new RevWalk(getRepository()); walk.setRetainBody(true); RevCommit c = null; try { c = walk.parseCommit(entry.getNewId()); } catch (IOException ignored) { // ignore } finally { walk.release(); } return c; } }); TreeViewerColumn dateColumn = createColumn(layout, UIText.ReflogView_DateColumnHeader, 15, SWT.LEFT); dateColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { final ReflogEntry entry = (ReflogEntry) element; final PersonIdent who = entry.getWho(); // TODO add option to use RelativeDateFormatter return absoluteFormatter.format(who.getWhen()); } @Override public Image getImage(Object element) { return null; } }); TreeViewerColumn messageColumn = createColumn(layout, UIText.ReflogView_MessageColumnHeader, 40, SWT.LEFT); messageColumn.setLabelProvider(new ColumnLabelProvider() { private ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources()); @Override public String getText(Object element) { final ReflogEntry entry = (ReflogEntry) element; return entry.getComment(); } public Image getImage(Object element) { String comment = ((ReflogEntry) element).getComment(); if (comment.startsWith("commit:") || comment.startsWith("commit (initial):")) //$NON-NLS-1$ //$NON-NLS-2$ return (Image) resourceManager.get(UIIcons.COMMIT); if (comment.startsWith("commit (amend):")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.AMEND_COMMIT); if (comment.startsWith("pull")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.PULL); if (comment.startsWith("clone")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.CLONEGIT); if (comment.startsWith("rebase")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.REBASE); if (comment.startsWith("merge")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.MERGE); if (comment.startsWith("fetch")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.FETCH); if (comment.startsWith("branch")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.CREATE_BRANCH); if (comment.startsWith("checkout")) //$NON-NLS-1$ return (Image) resourceManager.get(UIIcons.CHECKOUT); return null; } public void dispose() { resourceManager.dispose(); super.dispose(); } }); new OpenAndLinkWithEditorHelper(refLogTableTreeViewer) { @Override protected void linkToEditor(ISelection selection) { // Not supported } @Override protected void open(ISelection sel, boolean activate) { handleOpen(sel, OpenStrategy.activateOnOpen()); } @Override protected void activate(ISelection selection) { handleOpen(selection, true); } private void handleOpen(ISelection selection, boolean activateOnOpen) { if (selection instanceof IStructuredSelection) if (selection.isEmpty()) return; Repository repo = getRepository(); if (repo == null) return; RevWalk walk = new RevWalk(repo); try { for (Object element : ((IStructuredSelection) selection).toArray()) { ReflogEntry entry = (ReflogEntry) element; ObjectId id = entry.getNewId(); if (id == null || id.equals(ObjectId.zeroId())) id = entry.getOldId(); if (id != null && !id.equals(ObjectId.zeroId())) CommitEditor.openQuiet(new RepositoryCommit(repo, walk.parseCommit(id)), activateOnOpen); } } catch (IOException e) { Activator.logError(UIText.ReflogView_ErrorOnOpenCommit, e); } finally { walk.release(); } } }; selectionChangedListener = new ISelectionListener() { public void selectionChanged(IWorkbenchPart part, ISelection selection) { if (part instanceof IEditorPart) { IEditorInput input = ((IEditorPart) part).getEditorInput(); if (input instanceof IFileEditorInput) reactOnSelection(new StructuredSelection(((IFileEditorInput) input).getFile())); } else reactOnSelection(selection); } }; IWorkbenchPartSite site = getSite(); ISelectionService service = (ISelectionService) site.getService(ISelectionService.class); service.addPostSelectionListener(selectionChangedListener); // Use current selection to populate reflog view ISelection selection = service.getSelection(); if (selection != null && !selection.isEmpty()) { IWorkbenchPart part = site.getPage().getActivePart(); if (part != null) selectionChangedListener.selectionChanged(part, selection); } site.setSelectionProvider(refLogTableTreeViewer); addRefsChangedListener = Repository.getGlobalListenerList().addRefsChangedListener(this); // register context menu MenuManager menuManager = new MenuManager(); menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); Tree tree = refLogTableTreeViewer.getTree(); tree.setMenu(menuManager.createContextMenu(tree)); getSite().registerContextMenu(POPUP_MENU_ID, menuManager, refLogTableTreeViewer); }