Refactor parameters to be more descriptive

pull/9/head
Hammy 4 years ago
parent b50e4363d6
commit 69d0187f77

@ -2,12 +2,13 @@ package me.goudham;
import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.databind.type.TypeFactory;
import me.goudham.domain.user.UserList;
import me.goudham.util.Season; import me.goudham.util.Season;
import me.goudham.api.entity.series.FilteredSeries; import me.goudham.domain.series.FilteredSeries;
import me.goudham.api.entity.series.Series; import me.goudham.domain.series.Series;
import me.goudham.api.entity.user.User; import me.goudham.domain.user.User;
import me.goudham.api.entity.waifu.FilteredWaifu; import me.goudham.domain.waifu.FilteredWaifu;
import me.goudham.api.entity.waifu.Waifu; import me.goudham.domain.waifu.Waifu;
import me.goudham.exception.APIMapperException; import me.goudham.exception.APIMapperException;
import me.goudham.exception.APIResponseException; import me.goudham.exception.APIResponseException;
@ -51,13 +52,13 @@ public class APIWrapper {
/** /**
* Honestly I don't really know how this works * Honestly I don't really know how this works
* *
* @param entity The actual class of the given entity. E.g {@link Waifu#getClass()} * @param model The actual class of the given model. E.g {@link Waifu#getClass()}
* @param <T> The type of entity to be returned. E.g {@link Waifu} or {@link Series} * @param <T> The type of model to be returned. E.g {@link Waifu} or {@link Series}
* @return {@link JavaType} * @return {@link JavaType}
* *
*/ */
private <T> JavaType listOf(Class<T> entity) { private <T> JavaType listOf(Class<T> model) {
return TypeFactory.defaultInstance().constructCollectionType(List.class, entity); return TypeFactory.defaultInstance().constructCollectionType(List.class, model);
} }
/** /**
@ -94,8 +95,8 @@ public class APIWrapper {
return new Result(responseCode, responseBody); return new Result(responseCode, responseBody);
} }
Response<Waifu> getWaifu(String param) throws APIResponseException, APIMapperException { Response<Waifu> getWaifu(String waifuId) throws APIResponseException, APIMapperException {
Result waifuResult = sendRequest(httpClient, "waifu/" + param); Result waifuResult = sendRequest(httpClient, "waifu/" + waifuId);
return apiMapper.deserialize(waifuResult, Waifu.class); return apiMapper.deserialize(waifuResult, Waifu.class);
} }
@ -109,8 +110,8 @@ public class APIWrapper {
return apiMapper.deserialize(randomWaifuResult, FilteredWaifu.class); return apiMapper.deserialize(randomWaifuResult, FilteredWaifu.class);
} }
Response<Series> getSeries(String param) throws APIResponseException, APIMapperException { Response<Series> getSeries(String seriesId) throws APIResponseException, APIMapperException {
Result seriesResult = sendRequest(httpClient, "series/" + param); Result seriesResult = sendRequest(httpClient, "series/" + seriesId);
return apiMapper.deserialize(seriesResult, Series.class); return apiMapper.deserialize(seriesResult, Series.class);
} }
@ -139,13 +140,23 @@ public class APIWrapper {
return apiMapper.deserialize(allSeriesResult, listOf(FilteredSeries.class)); return apiMapper.deserialize(allSeriesResult, listOf(FilteredSeries.class));
} }
Response<List<FilteredWaifu>> getSeriesWaifus(String param) throws APIResponseException, APIMapperException { Response<List<FilteredWaifu>> getSeriesWaifus(String seriesId) throws APIResponseException, APIMapperException {
Result allWaifusFromSeriesResults = sendRequest(httpClient, "series/" + param + "/waifus"); Result allWaifusFromSeriesResults = sendRequest(httpClient, "series/" + seriesId + "/waifus");
return apiMapper.deserialize(allWaifusFromSeriesResults, listOf(FilteredWaifu.class)); return apiMapper.deserialize(allWaifusFromSeriesResults, listOf(FilteredWaifu.class));
} }
Response<User> getUserProfile(String param) throws APIResponseException, APIMapperException { Response<User> getUserProfile(String userId) throws APIResponseException, APIMapperException {
Result userProfileResult = sendRequest(httpClient, "user/" + param); Result userProfileResult = sendRequest(httpClient, "user/" + userId);
return apiMapper.deserialize(userProfileResult, User.class); return apiMapper.deserialize(userProfileResult, User.class);
} }
Response<List<UserList>> getUserLists(String userId) throws APIResponseException, APIMapperException {
Result userProfileResult = sendRequest(httpClient, "user/" + userId + "/lists");
return apiMapper.deserialize(userProfileResult, listOf(UserList.class));
}
Response<UserList> getUserList(String userId, String listId) throws APIResponseException, APIMapperException {
Result userProfileResult = sendRequest(httpClient, "user/" + userId + "/lists/" + listId);
return apiMapper.deserialize(userProfileResult, UserList.class);
}
} }

Loading…
Cancel
Save