Update WrapperGenericList methods
This commit is contained in:
@@ -22,6 +22,8 @@ package com.omertron.themoviedbapi.methods;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.omertron.themoviedbapi.MovieDbException;
|
||||
import com.omertron.themoviedbapi.model.artwork.ArtworkMedia;
|
||||
import com.omertron.themoviedbapi.model.change.ChangeListItem;
|
||||
import com.omertron.themoviedbapi.model.collection.Collection;
|
||||
import com.omertron.themoviedbapi.model.company.Company;
|
||||
import com.omertron.themoviedbapi.model.keyword.Keyword;
|
||||
@@ -77,6 +79,10 @@ public class AbstractMethod {
|
||||
});
|
||||
TYPE_REFS.put(Review.class, new TypeReference<WrapperGenericList<Review>>() {
|
||||
});
|
||||
TYPE_REFS.put(ChangeListItem.class, new TypeReference<WrapperGenericList<ChangeListItem>>() {
|
||||
});
|
||||
TYPE_REFS.put(ArtworkMedia.class, new TypeReference<WrapperGenericList<ArtworkMedia>>() {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -301,7 +301,6 @@ public class TmdbAccount extends AbstractMethod {
|
||||
parameters.add(Param.ID, guestSessionId);
|
||||
parameters.add(Param.LANGUAGE, language);
|
||||
parameters.add(Param.PAGE, page);
|
||||
//TODO: Test this works
|
||||
if (sortBy != null) {
|
||||
// Only created_at is supported
|
||||
parameters.add(Param.SORT_BY, "created_at");
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
*/
|
||||
package com.omertron.themoviedbapi.methods;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.omertron.themoviedbapi.MovieDbException;
|
||||
import com.omertron.themoviedbapi.model.change.ChangeListItem;
|
||||
import com.omertron.themoviedbapi.tools.ApiUrl;
|
||||
@@ -28,7 +27,6 @@ import com.omertron.themoviedbapi.tools.MethodBase;
|
||||
import com.omertron.themoviedbapi.tools.MethodSub;
|
||||
import com.omertron.themoviedbapi.tools.Param;
|
||||
import com.omertron.themoviedbapi.tools.TmdbParameters;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperGenericList;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
|
||||
@@ -69,9 +67,7 @@ public class TmdbChanges extends AbstractMethod {
|
||||
params.add(Param.END_DATE, endDate);
|
||||
|
||||
URL url = new ApiUrl(apiKey, method).subMethod(MethodSub.CHANGES).buildUrl(params);
|
||||
TypeReference tr = new TypeReference<WrapperGenericList<ChangeListItem>>() {
|
||||
};
|
||||
return processWrapperList(tr, url, "changes");
|
||||
return processWrapperList(getTypeReference(ChangeListItem.class), url, "changes");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -52,7 +52,6 @@ import com.omertron.themoviedbapi.wrapper.WrapperTranslations;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperVideos;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
import org.yamj.api.common.exception.ApiExceptionType;
|
||||
|
||||
/**
|
||||
@@ -409,10 +408,7 @@ public class TmdbMovies extends AbstractMethod {
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.MOVIE).subMethod(MethodSub.REVIEWS).buildUrl(parameters);
|
||||
WrapperGenericList<Review> wrapper = processWrapper(getTypeReference(Review.class), url, "review");
|
||||
TmdbResultsList<Review> results = new TmdbResultsList<Review>(null);
|
||||
results.getResults().addAll(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -433,10 +429,8 @@ public class TmdbMovies extends AbstractMethod {
|
||||
parameters.add(Param.APPEND, appendToResponse);
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.MOVIE).subMethod(MethodSub.LISTS).buildUrl(parameters);
|
||||
List<UserList> wrapper = processWrapperList(getTypeReference(UserList.class), url, "movie lists");
|
||||
TmdbResultsList<UserList> results = new TmdbResultsList<UserList>(null);
|
||||
results.getResults().addAll(wrapper);
|
||||
return results;
|
||||
WrapperGenericList<UserList> wrapper = processWrapper(getTypeReference(UserList.class), url, "movie lists");
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -246,21 +246,8 @@ public class TmdbPeople extends AbstractMethod {
|
||||
parameters.add(Param.LANGUAGE, language);
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.PERSON).subMethod(MethodSub.TAGGED_IMAGES).buildUrl(parameters);
|
||||
|
||||
WrapperGenericList<ArtworkMedia> wrapper;
|
||||
|
||||
String webpage = httpTools.getRequest(url);
|
||||
try {
|
||||
TypeReference tr = new TypeReference<WrapperGenericList<ArtworkMedia>>() {
|
||||
};
|
||||
wrapper = MAPPER.readValue(webpage, tr);
|
||||
} catch (IOException ex) {
|
||||
throw new MovieDbException(ApiExceptionType.MAPPING_FAILED, "Failed to get tagged images", url, ex);
|
||||
}
|
||||
|
||||
TmdbResultsList<ArtworkMedia> results = new TmdbResultsList<ArtworkMedia>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
WrapperGenericList<ArtworkMedia> wrapper = processWrapper(getTypeReference(ArtworkMedia.class), url, "tagged images");
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -311,19 +298,8 @@ public class TmdbPeople extends AbstractMethod {
|
||||
parameters.add(Param.PAGE, page);
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.PERSON).subMethod(MethodSub.POPULAR).buildUrl(parameters);
|
||||
String webpage = httpTools.getRequest(url);
|
||||
|
||||
WrapperGenericList<PersonFind> wrapper;
|
||||
try {
|
||||
TypeReference tr = new TypeReference<WrapperGenericList<PersonFind>>() {
|
||||
};
|
||||
wrapper = MAPPER.readValue(webpage, tr);
|
||||
TmdbResultsList<PersonFind> results = new TmdbResultsList<PersonFind>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
} catch (IOException ex) {
|
||||
throw new MovieDbException(ApiExceptionType.MAPPING_FAILED, "Failed to get person popular", url, ex);
|
||||
}
|
||||
WrapperGenericList<PersonFind> wrapper = processWrapper(getTypeReference(PersonFind.class), url, "person popular");
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,12 +22,12 @@ package com.omertron.themoviedbapi.methods;
|
||||
import com.omertron.themoviedbapi.MovieDbException;
|
||||
import com.omertron.themoviedbapi.enumeration.SearchType;
|
||||
import static com.omertron.themoviedbapi.methods.AbstractMethod.MAPPER;
|
||||
import com.omertron.themoviedbapi.model.movie.MovieDb;
|
||||
import com.omertron.themoviedbapi.model.media.MediaBasic;
|
||||
import com.omertron.themoviedbapi.model.keyword.Keyword;
|
||||
import com.omertron.themoviedbapi.model.collection.Collection;
|
||||
import com.omertron.themoviedbapi.model.company.Company;
|
||||
import com.omertron.themoviedbapi.model.keyword.Keyword;
|
||||
import com.omertron.themoviedbapi.model.list.UserList;
|
||||
import com.omertron.themoviedbapi.model.media.MediaBasic;
|
||||
import com.omertron.themoviedbapi.model.movie.MovieDb;
|
||||
import com.omertron.themoviedbapi.model.person.PersonFind;
|
||||
import com.omertron.themoviedbapi.model.tv.TVBasic;
|
||||
import com.omertron.themoviedbapi.results.TmdbResultsList;
|
||||
@@ -80,9 +80,7 @@ public class TmdbSearch extends AbstractMethod {
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.COMPANY).buildUrl(parameters);
|
||||
WrapperGenericList<Company> wrapper = processWrapper(getTypeReference(Company.class), url, "company");
|
||||
TmdbResultsList<Company> results = new TmdbResultsList<Company>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,9 +100,7 @@ public class TmdbSearch extends AbstractMethod {
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.COLLECTION).buildUrl(parameters);
|
||||
WrapperGenericList<Collection> wrapper = processWrapper(getTypeReference(Collection.class), url, "collection");
|
||||
TmdbResultsList<Collection> results = new TmdbResultsList<Collection>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,9 +118,7 @@ public class TmdbSearch extends AbstractMethod {
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.KEYWORD).buildUrl(parameters);
|
||||
WrapperGenericList<Keyword> wrapper = processWrapper(getTypeReference(Keyword.class), url, "keyword");
|
||||
TmdbResultsList<Keyword> results = new TmdbResultsList<Keyword>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -144,9 +138,7 @@ public class TmdbSearch extends AbstractMethod {
|
||||
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.LIST).buildUrl(parameters);
|
||||
WrapperGenericList<UserList> wrapper = processWrapper(getTypeReference(UserList.class), url, "list");
|
||||
TmdbResultsList<UserList> results = new TmdbResultsList<UserList>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -182,9 +174,7 @@ public class TmdbSearch extends AbstractMethod {
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.MOVIE).buildUrl(parameters);
|
||||
|
||||
WrapperGenericList<MovieDb> wrapper = processWrapper(getTypeReference(MovieDb.class), url, "movie");
|
||||
TmdbResultsList<MovieDb> results = new TmdbResultsList<MovieDb>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,11 +232,8 @@ public class TmdbSearch extends AbstractMethod {
|
||||
parameters.add(Param.SEARCH_TYPE, searchType.getPropertyString());
|
||||
}
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.PERSON).buildUrl(parameters);
|
||||
|
||||
WrapperGenericList<PersonFind> wrapper = processWrapper(getTypeReference(PersonFind.class), url, "person");
|
||||
TmdbResultsList<PersonFind> results = new TmdbResultsList<PersonFind>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -270,11 +257,8 @@ public class TmdbSearch extends AbstractMethod {
|
||||
parameters.add(Param.SEARCH_TYPE, searchType.getPropertyString());
|
||||
}
|
||||
URL url = new ApiUrl(apiKey, MethodBase.SEARCH).subMethod(MethodSub.MOVIE).buildUrl(parameters);
|
||||
|
||||
WrapperGenericList<TVBasic> wrapper = processWrapper(getTypeReference(TVBasic.class), url, "TV Show");
|
||||
TmdbResultsList<TVBasic> results = new TmdbResultsList<TVBasic>(wrapper.getResults());
|
||||
results.copyWrapper(wrapper);
|
||||
return results;
|
||||
return wrapper.getTmdbResultsList();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user