Skip to content

Commit

Permalink
fix(kraken): fixing video id deserialization using ChannelEndpoint#ge…
Browse files Browse the repository at this point in the history
…tVideos()
  • Loading branch information
Damian Staszewski committed Jul 19, 2018
1 parent ac3f03b commit 1fc1947
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/main/java/me/philippheuer/twitch4j/model/Video.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package me.philippheuer.twitch4j.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.Date;
import java.util.Map;
import lombok.Data;
import me.philippheuer.util.conversion.VideoIdDeserializer;

/**
* Model representing a video.
Expand All @@ -16,6 +18,7 @@
public class Video {

@JsonProperty("_id")
@JsonDeserialize(using = VideoIdDeserializer.class)
private long id;

private String title;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package me.philippheuer.util.conversion;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import java.io.IOException;

public class VideoIdDeserializer extends JsonDeserializer<Long> {
@Override
public Long deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
if (p.getValueAsString().startsWith("v")) {
return Long.parseLong(p.getValueAsString().substring(1));
}
else return ctxt.readValue(p, Long.class);
}
}

0 comments on commit 1fc1947

Please sign in to comment.