diff --git a/partial-response/src/main/java/com/iluwatar/partialresponse/FieldJsonMapper.java b/partial-response/src/main/java/com/iluwatar/partialresponse/FieldJsonMapper.java index 32e9ae83d..dce164f0d 100644 --- a/partial-response/src/main/java/com/iluwatar/partialresponse/FieldJsonMapper.java +++ b/partial-response/src/main/java/com/iluwatar/partialresponse/FieldJsonMapper.java @@ -24,7 +24,16 @@ package com.iluwatar.partialresponse; +/** + * Map a video to json + */ public class FieldJsonMapper { + + /** + * @param video object containing video information + * @param fields fields information to get + * @return json of required fields from video + */ public String toJson(Video video, String[] fields) { return null; } diff --git a/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java b/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java index d8d80fd00..7310f26b0 100644 --- a/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java +++ b/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java @@ -53,15 +53,18 @@ public class Video { this.language = language; } + /** + * @return json representaion of video + */ @Override public String toString() { - return "{" + - "\"id\": \"" + id + "\"," + - "\"title\": \"" + title + "\"," + - "\"length\": " + length + "," + - "\"description\": \"" + description + "\"," + - "\"director\": \"" + director + "\"," + - "\"language\": \"" + language + "\"," + - "}"; + return "{" + + "\"id\": \"" + id + "\"," + + "\"title\": \"" + title + "\"," + + "\"length\": " + length + "," + + "\"description\": \"" + description + "\"," + + "\"director\": \"" + director + "\"," + + "\"language\": \"" + language + "\"," + + "}"; } } diff --git a/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java b/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java index 8c571e6d6..457ecec00 100644 --- a/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java +++ b/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java @@ -26,15 +26,28 @@ package com.iluwatar.partialresponse; import java.util.Map; +/** + * The resource class which serves video information. + * This class act as server in the demo. Which has all video details. + */ public class VideoResource { private FieldJsonMapper fieldJsonMapper; private Map videos; + /** + * @param fieldJsonMapper map object to json. + * @param videos initialize resource with existing videos. Act as database. + */ public VideoResource(FieldJsonMapper fieldJsonMapper, Map videos) { this.fieldJsonMapper = fieldJsonMapper; this.videos = videos; } + /** + * @param id video id + * @param fields fields to get information about + * @return json of specified fields of particular video by id + */ public String getDetails(Integer id, String... fields) { if (fields.length == 0) { return videos.get(id).toString(); diff --git a/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java b/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java index df25c2dea..d420863a8 100644 --- a/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java +++ b/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java @@ -38,6 +38,9 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.when; +/** + * tests {@link VideoResource}. + */ @RunWith(MockitoJUnitRunner.class) public class VideoResourceTest { @Mock @@ -58,7 +61,8 @@ public class VideoResourceTest { public void shouldGiveVideoDetailsById() { String actualDetails = resource.getDetails(1); - String expectedDetails = "{\"id\": \"1\",\"title\": \"Avatar\",\"length\": 178,\"description\": \"epic science fiction film\",\"director\": \"James Cameron\",\"language\": \"English\",}"; + String expectedDetails = "{\"id\": \"1\",\"title\": \"Avatar\",\"length\": 178,\"description\": " + + "\"epic science fiction film\",\"director\": \"James Cameron\",\"language\": \"English\",}"; assertEquals(expectedDetails, actualDetails); }