package me.chenyi.mm.tmdb; // External imports // None // Local imports // None import java.lang.reflect.Field; import java.sql.Connection; import java.util.HashMap; import java.util.List; import java.util.Map; import com.moviejukebox.themoviedb.MovieDbException; import com.moviejukebox.themoviedb.TheMovieDb; import com.moviejukebox.themoviedb.model.MovieDb; import me.chenyi.mm.model.DatabaseUtil; import me.chenyi.mm.model.Attribute; import me.chenyi.mm.model.ModelUtils; import me.chenyi.mm.model.Node; import me.chenyi.mm.model.NodeType; import org.junit.Test; /** * Class description goes here * * @author $Author:$ * @version $Revision:$ */ public class TmdbTest { private static final String API_KEY = "5a1a77e2eba8984804586122754f969f"; private static TheMovieDb tmdb; public TmdbTest() throws MovieDbException { tmdb = new TheMovieDb(API_KEY); } @Test public void testSearchMovieAndAddtoDb() throws Exception { List<MovieDb> movieDbList = tmdb.searchMovie("300", "", true); Connection connection = DatabaseUtil.openConnection(); NodeType nodeType = ModelUtils.getNodeType(connection, NodeType.TYPE_MOVIE); for(MovieDb movieDb : movieDbList) { Map<Attribute, Object> valueMap = new HashMap(); Field[] fields = movieDb.getClass().getDeclaredFields(); for(int i = 0; i < fields.length; i++) { Field field = fields[i]; System.out.println("field.getName() = " + field.getName()); } valueMap.put(ModelUtils.getOrAddAttribute(connection, "backdropPathAttr", Attribute.AttributeType.String), movieDb.getBackdropPath()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "budget", Attribute.AttributeType.Number), movieDb.getBudget()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "homepage", Attribute.AttributeType.String), movieDb.getHomepage()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "title", Attribute.AttributeType.String), movieDb.getTitle()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "voteAverage", Attribute.AttributeType.Number), movieDb.getVoteAverage()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "imdbID", Attribute.AttributeType.String), movieDb.getImdbID()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "overview", Attribute.AttributeType.String), movieDb.getOverview()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "popularity", Attribute.AttributeType.Number), movieDb.getPopularity()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "revenue", Attribute.AttributeType.Number), movieDb.getRevenue()); valueMap.put(ModelUtils.getOrAddAttribute(connection, "runtime", Attribute.AttributeType.Number), movieDb.getRuntime()); ModelUtils.addNode(connection, nodeType, valueMap); } DatabaseUtil.closeConnection(connection); } @Test public void testGetMovieInfo() throws Exception { MovieDb movieDb = tmdb.getMovieInfo(11, ""); System.out.println("movieDb.getValueMap() = " + movieDb.getValueMap()); } }