0

I would like to extract a list of github repositories created by students but when I do an if between login of students and login of owner of the repositories it say they are different.

'''

    List<Classi> classi = professoriRepository.findByLogin(login).get(0).getClassi();   
    List<Studenti> st = studentiRepository.findAll();
    List<Studenti> studenti = new ArrayList<Studenti>();
    
    for (Studenti studente: st) {
        for (Classi classe: classi) {
            if (studente.getClasse() == classe) {
                studenti.add(studente);
            }
        }
    }
    
    Github github = new RtGithub(token);
    String found = github.entry()
      .uri().path("/user/repos").back()
      .method(Request.GET)
      .fetch()
      .as(JsonResponse.class)
      .body();
    
    ObjectMapper mapper = new ObjectMapper();   
    List<Object> repos = new ArrayList<Object>();
    repos = Arrays.asList(mapper.readValue(found, Object[].class));
    
    List<Object> listRepos = new ArrayList<Object>();
    
    for (Object repo: repos) {
        for (Studenti studente: studenti) {
            if (!(repo instanceof Map)) {
                throw new IllegalArgumentException("Root object must be a JSON object.");
            }
            
            if (!( ((Map)repo).get("owner") instanceof Map )) {
                throw new IllegalArgumentException("NON FUNZIONA NIENTE IN JAVA");
            }
            
            String owner = (String) ((Map)((Map)repo).get("owner")).get("login");
            
            logger.info("owner: " + owner + " || login: " + studente.getLogin());
            
            if ((String) studente.getLogin() == owner) {
                
                logger.info("true");
                
                listRepos.add(repo);
            }
        }
    }
    
    return listRepos;

'''

Thanks in advance for your help.

0 Answers0