diff options
| -rw-r--r-- | src/main/java/App.java | 1 | ||||
| -rw-r--r-- | src/main/java/com/pina/Holodex.java | 19 | ||||
| -rw-r--r-- | src/main/java/com/pina/query/VideosByChannelIDQueryBuilder.java (renamed from src/main/java/com/pina/query/VideosByChannelIDQuery.java) | 16 |
3 files changed, 24 insertions, 12 deletions
diff --git a/src/main/java/App.java b/src/main/java/App.java index 05f4856..77c3a1e 100644 --- a/src/main/java/App.java +++ b/src/main/java/App.java @@ -28,6 +28,7 @@ public class App channelQuery.setOrg("Nijisanji"); channelQuery.setLimit(75); List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery); + // Gets the first 75 members of Nijisanji VideoQueryBuilder vidoeQuery = new VideoQueryBuilder(); vidoeQuery.setVideoId("9-O_IWM3184"); diff --git a/src/main/java/com/pina/Holodex.java b/src/main/java/com/pina/Holodex.java index 5253f2b..830b01f 100644 --- a/src/main/java/com/pina/Holodex.java +++ b/src/main/java/com/pina/Holodex.java @@ -5,7 +5,7 @@ import com.pina.datatypes.Video; import com.pina.query.ChannelQueryBuilder; import com.pina.query.LiveVideoQueryBuilder; import com.pina.query.VideoQueryBuilder; -import com.pina.query.VideosByChannelIDQuery; +import com.pina.query.VideosByChannelIDQueryBuilder; import okhttp3.OkHttpClient; import okhttp3.Request; import retrofit2.Call; @@ -17,9 +17,18 @@ import java.io.IOException; import java.util.List; public class Holodex { - private final HolodexService service; + private HolodexService service; public Holodex(String apiKey) { + initializeHolodexService(apiKey, "https://holodex.net"); + } + + public Holodex(String apiKey, String baseUrl) { + // purely for unit testing + initializeHolodexService(apiKey, baseUrl); + } + + private void initializeHolodexService(String apiKey, String baseUrl){ OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.addInterceptor(chain -> { Request original = chain.request(); @@ -30,7 +39,7 @@ public class Holodex { return chain.proceed(request); }); Retrofit retrofit = new Retrofit.Builder() - .baseUrl("https://holodex.net") + .baseUrl(baseUrl) .addConverterFactory(JacksonConverterFactory.create()) .client(httpClient.build()) .build(); @@ -38,6 +47,8 @@ public class Holodex { } + + public List<Video> getLiveVideos(LiveVideoQueryBuilder queryBuilder) throws HolodexException { Call<List<Video>> call = service.getLiveVideos(queryBuilder.getChannelId(), queryBuilder.getId(), queryBuilder.getInclude(), queryBuilder.getLang(), @@ -67,7 +78,7 @@ public class Holodex { return executeCall(call); } - public List<Video> getVideosByChannelId(VideosByChannelIDQuery query) throws HolodexException { + public List<Video> getVideosByChannelId(VideosByChannelIDQueryBuilder query) throws HolodexException { Call<List<Video>> call = service.getVideosByChannelId(query.getChannelId(), query.getType(), query.getInclude(), query.getLang(), query.getLimit(), query.getOffset(), query.getPaginated()); return executeCall(call); diff --git a/src/main/java/com/pina/query/VideosByChannelIDQuery.java b/src/main/java/com/pina/query/VideosByChannelIDQueryBuilder.java index 73999f0..ddaa3ec 100644 --- a/src/main/java/com/pina/query/VideosByChannelIDQuery.java +++ b/src/main/java/com/pina/query/VideosByChannelIDQueryBuilder.java @@ -1,6 +1,6 @@ package com.pina.query; -public class VideosByChannelIDQuery { +public class VideosByChannelIDQueryBuilder { private String channelId; private String type; private String include; @@ -9,37 +9,37 @@ public class VideosByChannelIDQuery { private Integer offset; private String paginated; - public VideosByChannelIDQuery setChannelId(String channelId) { + public VideosByChannelIDQueryBuilder setChannelId(String channelId) { this.channelId = channelId; return this; } - public VideosByChannelIDQuery setType(String type) { + public VideosByChannelIDQueryBuilder setType(String type) { this.type = type; return this; } - public VideosByChannelIDQuery setInclude(String include) { + public VideosByChannelIDQueryBuilder setInclude(String include) { this.include = include; return this; } - public VideosByChannelIDQuery setLang(String lang) { + public VideosByChannelIDQueryBuilder setLang(String lang) { this.lang = lang; return this; } - public VideosByChannelIDQuery setLimit(Integer limit) { + public VideosByChannelIDQueryBuilder setLimit(Integer limit) { this.limit = limit; return this; } - public VideosByChannelIDQuery setOffset(Integer offset) { + public VideosByChannelIDQueryBuilder setOffset(Integer offset) { this.offset = offset; return this; } - public VideosByChannelIDQuery setPaginated(String paginated) { + public VideosByChannelIDQueryBuilder setPaginated(String paginated) { this.paginated = paginated; return this; } |
