Lore_valgi ha scritto:
Gardando nella libreria ho trovato questa funzione :
public ArrayList<Actor> getActors() {
if (this.actors == null) {
actors = new ArrayList<Actor>();
}
return actors;
}
ma non ho trovato la setter corrispondente ed il campo actors è privato!
Sì, è vero, non c'è il setter. Ma quella classe Tvshow è "mappata" con GSON, che va ad accedere (per suo design) direttamente sui campi (anche private!) tramite reflection.
Pertanto sicuramente da qualche parte viene fatta una request HTTP al server di TVDB e una response JSON viene "mappata" su un oggetto Tvshow che poi ti viene restituito.
Non ho tempo/modo ora di indagare ulteriormente (potrei farlo stasera o domani) ma le possibili cause possono essere:
- La libreria TVDBJavaConnector è "bacata", non gestisce correttamente le request/response, ecc...
- La libreria TVDBJavaConnector è tecnicamente corretta ma è disallineata rispetto alle strutture dati fornite da TVDB. Magari TVDB ha cambiato il nome del field JSON per gli attori che non si chiama più "actors" e la TVDBJavaConnector non è stata aggiornata.
- Il server TVDB non fornisce più quella informazione o c'è qualche problema o sono in manutenzione ecc...