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.