List of usage examples for org.eclipse.jgit.lib Repository getListenerList
@NonNull
public ListenerList getListenerList()
From source file:org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.java
License:Open Source License
/** * @param repository//from w w w. ja v a 2 s . co m */ public IndexDiffCacheEntry(Repository repository) { this.repository = repository; indexChangedListenerHandle = repository.getListenerList() .addIndexChangedListener(new IndexChangedListener() { public void onIndexChanged(IndexChangedEvent event) { refreshIndexDelta(); } }); refsChangedListenerHandle = repository.getListenerList().addRefsChangedListener(new RefsChangedListener() { public void onRefsChanged(RefsChangedEvent event) { scheduleReloadJob("RefsChanged"); //$NON-NLS-1$ } }); scheduleReloadJob("IndexDiffCacheEntry construction"); //$NON-NLS-1$ createResourceChangeListener(); if (!repository.isBare()) { try { lastIndex = repository.readDirCache(); } catch (IOException ex) { Activator.error( MessageFormat.format(CoreText.IndexDiffCacheEntry_errorCalculatingIndexDelta, repository), ex); } } }
From source file:org.eclipse.egit.ui.internal.decorators.GitDocument.java
License:Open Source License
static GitDocument create(final IResource resource) throws IOException { if (GitTraceLocation.QUICKDIFF.isActive()) GitTraceLocation.getTrace().trace(GitTraceLocation.QUICKDIFF.getLocation(), "(GitDocument) create: " + resource); //$NON-NLS-1$ GitDocument ret = null;//from ww w. jav a 2 s . c om if (RepositoryProvider.getProvider(resource.getProject()) instanceof GitProvider) { ret = new GitDocument(resource); ret.populate(); final Repository repository = ret.getRepository(); if (repository != null) ret.myRefsChangedHandle = repository.getListenerList().addRefsChangedListener(ret); } return ret; }
From source file:org.eclipse.egit.ui.internal.repository.RepositoriesView.java
License:Open Source License
private void initRepositoriesAndListeners() { synchronized (repositories) { repositories.clear();/*from w ww . jav a 2s. c o m*/ unregisterRepositoryListener(); // listen for repository changes for (String dir : repositoryUtil.getConfiguredRepositories()) { try { Repository repo = repositoryCache.lookupRepository(new File(dir)); myListeners.add(repo.getListenerList().addIndexChangedListener(myIndexChangedListener)); myListeners.add(repo.getListenerList().addRefsChangedListener(myRefsChangedListener)); myListeners.add(repo.getListenerList().addConfigChangedListener(myConfigChangeListener)); repositories.add(repo); } catch (IOException e) { Activator.handleError(e.getMessage(), e, false); } } } }
From source file:org.kie.eclipse.navigator.view.server.KieRepositoryHandler.java
License:Open Source License
public Object load() { if (repository == null) { final File repoRoot = new File(PreferencesUtils.getRepoRoot(this)); final Set<File> gitDirs = new HashSet<File>(); final IRunnableWithProgress runnable = new IRunnableWithProgress() { @Override//w ww . ja va 2s . c om public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Searching for Repositories", IProgressMonitor.UNKNOWN); try { findGitDirsRecursive(repoRoot, gitDirs, monitor, false); } catch (Exception ex) { ex.printStackTrace(); } if (monitor.isCanceled()) { throw new InterruptedException(); } } }; IProgressService ps = PlatformUI.getWorkbench().getProgressService(); try { ps.busyCursorWhile(runnable); } catch (InvocationTargetException | InterruptedException e) { e.printStackTrace(); } for (File dir : gitDirs) { if (getName().equals(dir.getParentFile().getName())) { try { Repository repository = repositoryCache.lookupRepository(dir); StoredConfig storedConfig = repository.getConfig(); Set<String> remotes = storedConfig.getSubsections("remote"); for (String remoteName : remotes) { String url = storedConfig.getString("remote", remoteName, "url"); System.out.println(repository.getDirectory()); System.out.println(url); try { URI u = new URI(url); int port = u.getPort(); String host = u.getHost(); String scheme = u.getScheme(); String path[] = u.getPath().split("/"); String repoName = path[path.length - 1]; if (name.equals(repoName) && host.equals(getServer().getHost()) && port == getDelegate().getGitPort() && "ssh".equals(scheme)) { this.repository = repository; break; } } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } if (repository != null) // TODO: why doesn't this work? repository.getListenerList().addListener(ConfigChangedListener.class, this); } return repository; }