package git;

import issueData.Issue;
import org.eclipse.jgit.treewalk.TreeWalk;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class IssueReader {

    private IssueRepo repo;
    private List<Issue> issues;

    public IssueReader() {
        this.repo = new IssueRepo();
        this.issues = new ArrayList<>();
    }

    public void walkTree() {
        try (TreeWalk treeWalk = new TreeWalk(repo.getRepository())) {
            treeWalk.addTree(repo.getCurrentCommit().getTree());
            treeWalk.setRecursive(true);
            while (treeWalk.next()) {
                if(issues.isEmpty() || !exists(treeWalk.getPathString())){
                    Issue issue = new Issue();
                    issue.setOriginalHash(trimPath(treeWalk.getPathString()));
                    issues.add(issue);
                    System.out.println("create");
                } 
//                System.out.println(treeWalk.getPathString());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public boolean exists(String path){
        for(Issue issue : issues) {
            if(issue.getOriginalHash().equals(trimPath(path))) return true;
        }
        return false;
    }

    public String trimPath(String path){
        return  path.split("/")[0];
    }


}