Skip to content
This repository was archived by the owner on Sep 25, 2023. It is now read-only.

Commit 639a208

Browse files
author
Tom McAdam
committed
Maintain brand reference on series
We need to set the parentRef on series when writing a series.
1 parent 15e5979 commit 639a208

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/main/java/org/atlasapi/remotesite/five/FiveBrandProcessor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void processShow(Element element) {
7171

7272
String id = childValue(element, "id");
7373
EpisodeProcessingNodeFactory nodeFactory
74-
= new EpisodeProcessingNodeFactory(episodeProcessor, brand.getSpecialization());
74+
= new EpisodeProcessingNodeFactory(brand, episodeProcessor);
7575

7676
try {
7777
String responseBody = httpClient.get(getShowUri(id) + WATCHABLES_URL_SUFFIX).body();
@@ -219,18 +219,18 @@ private class EpisodeProcessingNodeFactory extends NodeFactory {
219219

220220
private final FiveEpisodeProcessor episodeProcessor;
221221
private final List<Item> items = Lists.newArrayList();
222-
private final Specialization specialization;
222+
private final Brand brand;
223223

224-
public EpisodeProcessingNodeFactory(FiveEpisodeProcessor episodeProcessor, Specialization specialization) {
225-
this.episodeProcessor = episodeProcessor;
226-
this.specialization = specialization;
224+
public EpisodeProcessingNodeFactory(Brand brand, FiveEpisodeProcessor episodeProcessor) {
225+
this.brand = checkNotNull(brand);
226+
this.episodeProcessor = checkNotNull(episodeProcessor);
227227
}
228228

229229
@Override
230230
public Nodes finishMakingElement(Element element) {
231231
if (element.getLocalName().equalsIgnoreCase("watchable")) {
232232
try {
233-
items.add(episodeProcessor.processEpisode(element, specialization));
233+
items.add(episodeProcessor.processEpisode(element, brand));
234234
}
235235
catch (Exception e) {
236236
log.error("Exception when processing episode", e);

src/main/java/org/atlasapi/remotesite/five/FiveEpisodeProcessor.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.atlasapi.media.TransportSubType;
1212
import org.atlasapi.media.TransportType;
1313
import org.atlasapi.media.channel.Channel;
14+
import org.atlasapi.media.entity.Brand;
1415
import org.atlasapi.media.entity.Broadcast;
1516
import org.atlasapi.media.entity.Encoding;
1617
import org.atlasapi.media.entity.Episode;
@@ -58,12 +59,12 @@ public FiveEpisodeProcessor(String baseApiUrl, RemoteSiteClient<HttpResponse> ht
5859
this.channelMap = channelMap;
5960
}
6061

61-
public Item processEpisode(Element element, Specialization specialization) throws Exception {
62+
public Item processEpisode(Element element, Brand brand) throws Exception {
6263

6364
String id = childValue(element, "id");
6465

6566
Item item;
66-
if(specialization == Specialization.FILM) {
67+
if (brand.getSpecialization() == Specialization.FILM) {
6768
item = new Film(getEpisodeUri(id), getEpisodeCurie(id), Publisher.FIVE);
6869
item.setMediaType(MediaType.VIDEO);
6970
item.setSpecialization(Specialization.FILM);
@@ -76,7 +77,7 @@ public Item processEpisode(Element element, Specialization specialization) throw
7677
if (!Strings.isNullOrEmpty(episodeNumber)) {
7778
episode.setEpisodeNumber(Integer.valueOf(episodeNumber));
7879
}
79-
processSeries(episode, element);
80+
processSeries(episode, element, brand);
8081
item = episode;
8182
}
8283

@@ -169,14 +170,15 @@ private Location getLocation(Element element) throws Exception {
169170
}
170171

171172

172-
private void processSeries(Episode episode, Element element) {
173+
private void processSeries(Episode episode, Element element, Brand brand) {
173174
Element seasonLinkElement = element.getFirstChildElement("season_link");
174175
if (seasonLinkElement != null) {
175176
Element seasonElement = seasonLinkElement.getFirstChildElement("season");
176177
String id = childValue(seasonElement, "id");
177178
Series series = getSeriesMap().get(id);
178179
if (series == null){
179180
series = new Series(seasonLinkElement.getAttributeValue("href"), getSeriesCurie(id), Publisher.FIVE);
181+
series.setParent(brand);
180182
series.setGenres(genreMap.mapRecognised(ImmutableSet.of(childValue(seasonElement, "genre"))));
181183

182184
Maybe<String> image = getImage(seasonElement);

0 commit comments

Comments
 (0)