Package br.edu.utfpr.cm.JGitMinerWeb.managedBean

Source Code of br.edu.utfpr.cm.JGitMinerWeb.managedBean.GitMinerRepositoryBean

package br.edu.utfpr.cm.JGitMinerWeb.managedBean;

import br.edu.utfpr.cm.JGitMinerWeb.dao.GenericDao;
import br.edu.utfpr.cm.JGitMinerWeb.model.miner.EntityRepository;
import br.edu.utfpr.cm.JGitMinerWeb.services.miner.AuthServices;
import br.edu.utfpr.cm.JGitMinerWeb.services.miner.RepositoryServices;
import br.edu.utfpr.cm.JGitMinerWeb.util.JsfUtil;
import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.service.RepositoryService;

@Named
@RequestScoped
public class GitMinerRepositoryBean implements Serializable {

    @EJB
    private GenericDao dao;
    private EntityRepository repository;
    private EntityRepository repositorySelected;
    private String repositoryName;
    private String repositoryOwnerLogin;
    private String repositoryUrl;

    public GitMinerRepositoryBean() {
        repository = new EntityRepository();
        repositorySelected = new EntityRepository();
    }

    public EntityRepository getRepository() {
        return repository;
    }

    public void setRepository(EntityRepository repository) {
        this.repository = repository;
    }

    public EntityRepository getRepositorySelected() {
        return repositorySelected;
    }

    public void setRepositorySelected(EntityRepository repositorySelected) {
        this.repositorySelected = repositorySelected;
    }

    public String getRepositoryName() {
        return repositoryName;
    }

    public void setRepositoryName(String repositoryName) {
        this.repositoryName = repositoryName;
    }

    public String getRepositoryOwner() {
        return repositoryOwnerLogin;
    }

    public void setRepositoryOwner(String repositoryOwner) {
        this.repositoryOwnerLogin = repositoryOwner;
    }

    public String getRepositoryUrl() {
        return repositoryUrl;
    }

    public void setRepositoryUrl(String repositoryUrl) {
        this.repositoryUrl = repositoryUrl;
    }

    public void goMiner() {
        System.out.println("gotMiner Repository");
        try {
            if (this.repositoryUrl != null && !this.repositoryUrl.isEmpty()) {
                parseRepositoryUrl();
            }
           
            if (this.repositoryName == null || this.repositoryName.isEmpty()
                    || this.repositoryOwnerLogin == null || this.repositoryOwnerLogin.isEmpty()) {
                throw new RuntimeException("Informe o nome e login do repositorio desejado, ou a URL para a página do GitHub.");
            }

            Repository gitRepository = new RepositoryService(AuthServices.getGitHubClient()).getRepository(this.repositoryOwnerLogin, this.repositoryName);

            System.err.println("Repositório: " + gitRepository.getName() + " | " + gitRepository.getOwner().getLogin() + " | " + gitRepository.getCreatedAt() + " | " + gitRepository.getHtmlUrl());

            repository = RepositoryServices.createEntity(gitRepository, dao, true);

            JsfUtil.addSuccessMessage("Repositorio salvo com sucesso.");
        } catch (Exception e) {
            e.printStackTrace();
            JsfUtil.addErrorMessage("Erro ao salvar Repositorio.<br />Descrição: " + e.getMessage());
        }
    }

    public List<EntityRepository> getAllRepositories() {
        return dao.selectAll(EntityRepository.class);
    }

    public List<EntityRepository> getRepositoriesPrimaryMiner() {
        return dao.executeNamedQuery("Repository.findByPrimaryMiner");
    }

    private void parseRepositoryUrl() {
        this.repositoryUrl = this.repositoryUrl.toLowerCase().trim();
        String[] tokens = this.repositoryUrl.split("github.com/");
        tokens = tokens[1].split("/");
        this.repositoryOwnerLogin = tokens[0];
        this.repositoryName = tokens[1];
    }
}
TOP

Related Classes of br.edu.utfpr.cm.JGitMinerWeb.managedBean.GitMinerRepositoryBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.