Example usage for org.eclipse.jgit.lib Repository getListenerList

List of usage examples for org.eclipse.jgit.lib Repository getListenerList

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib Repository getListenerList.

Prototype

@NonNull
public ListenerList getListenerList() 

Source Link

Document

Get listeners observing only events on this repository.

Usage

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;
}