TVDB Actors non funziona

di il
2 risposte

TVDB Actors non funziona

Dopo aver inserito le librerie e provato a fare un piccolo main per testre le funzionalità della libreria TVDBJavaConnector-master, la funzione getActors sembra restituire un vettore nullo!
public static void main(String[] args) throws TVDBOutboundConnectionException {
		// TODO Auto-generated method stub
		List<Tvshow> tv = null;
		TVDBConnector t = new TVDBConnector();
		tv = t.searchSeriesInTVDB("lost", Language.ITALIANO);
		for(Tvshow tmp : tv){
			System.out.println("Film: "+ tmp.getSeriesName()
					+" --> ID:  "+ tmp.getSeriesid());
			System.out.println("Actors: ");
			for(Actor act : tmp.getActors()){
				System.out.println(act.getName());
			}
			
		}
}
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!
Ora io ho poca poca pratica di java, quindi mi domandavo se sono io che sbaglio qualcosa (probabile) o la libreria non funziona....
Grazie:)

2 Risposte

  • Re: TVDB Actors non funziona

    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...
  • Re: TVDB Actors non funziona

    Grazie mille, mi bastava sapere questo, quindi è colpa mia se non funziona
    Adesso cerco di guardarci io cosi imparo qualcosa!!
Devi accedere o registrarti per scrivere nel forum
2 risposte