Skip to content

Commit 5b868b2

Browse files
committed
added 'getSizes' feature on photo object boncey#155
1 parent a73565d commit 5b868b2

File tree

2 files changed

+154
-108
lines changed

2 files changed

+154
-108
lines changed

Flickr4Java/src/main/java/com/flickr4java/flickr/photos/Photo.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.text.DateFormat;
2222
import java.text.ParseException;
2323
import java.text.SimpleDateFormat;
24+
import java.util.Arrays;
2425
import java.util.Collection;
2526
import java.util.Date;
2627

@@ -1083,6 +1084,15 @@ else if (size.getLabel() == Size.HD_MP4) {
10831084
}
10841085
}
10851086

1087+
public Collection<Size> getSizes() {
1088+
return Arrays.asList(
1089+
smallSize, squareSize, thumbnailSize, mediumSize,
1090+
largeSize, large1600Size, large2048Size, originalSize,
1091+
squareLargeSize, small320Size, medium640Size, medium800Size,
1092+
videoPlayer, siteMP4, videoOriginal, mobileMP4, hdMP4
1093+
);
1094+
}
1095+
10861096
public Size getSquareSize() {
10871097
return squareSize;
10881098
}

Flickr4Java/src/test/java/com/flickr4java/flickr/test/PhotosInterfaceTest.java

Lines changed: 144 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ public class PhotosInterfaceTest extends Flickr4JavaTest {
5151
private final File smallSquareFile = new File("out.smallsquare.jpg");
5252

5353
private final File thumbnailFile = new File("out.thumbnail.jpg");
54+
55+
private List<Size> photoSizes;
56+
57+
@Override
58+
public void setUp() throws FlickrException {
59+
super.setUp();
60+
preparePhotoSizes();
61+
}
5462

5563
@After
5664
public void teardown() {
@@ -61,6 +69,129 @@ public void teardown() {
6169
smallSquareFile.deleteOnExit();
6270
thumbnailFile.deleteOnExit();
6371
}
72+
73+
private void preparePhotoSizes() {
74+
photoSizes = new ArrayList<Size>();
75+
Size size = new Size();
76+
size.setLabel("Thumbnail");
77+
size.setWidth("100");
78+
size.setHeight("75");
79+
size.setSource("urlThumb");
80+
size.setUrl("urlThumbPage");
81+
photoSizes.add(size);
82+
size = new Size();
83+
size.setLabel("Square");
84+
size.setWidth("75");
85+
size.setHeight("75");
86+
size.setSource("urlSquare");
87+
size.setUrl("urlSquarePage");
88+
photoSizes.add(size);
89+
size = new Size();
90+
size.setLabel("Small");
91+
size.setWidth("240");
92+
size.setHeight("180");
93+
size.setSource("urlSmall");
94+
size.setUrl("urlSmallPage");
95+
photoSizes.add(size);
96+
size = new Size();
97+
size.setLabel("Medium");
98+
size.setWidth("240");
99+
size.setHeight("180");
100+
size.setSource("urlMedium");
101+
size.setUrl("urlMediumPage");
102+
photoSizes.add(size);
103+
size = new Size();
104+
size.setLabel("Original");
105+
size.setWidth("240");
106+
size.setHeight("180");
107+
size.setSource("urlOriginal");
108+
size.setUrl("urlOriginalPage");
109+
photoSizes.add(size);
110+
size = new Size();
111+
size.setLabel("Large");
112+
size.setWidth("240");
113+
size.setHeight("180");
114+
size.setSource("urlLarge");
115+
size.setUrl("urlLargePage");
116+
photoSizes.add(size);
117+
size = new Size();
118+
size.setLabel("Large Square");
119+
size.setWidth("150");
120+
size.setHeight("150");
121+
size.setSource("urlSquareLarge");
122+
size.setUrl("urlSquareLargePage");
123+
photoSizes.add(size);
124+
size = new Size();
125+
size.setLabel("Small 320");
126+
size.setWidth("320");
127+
size.setHeight("240");
128+
size.setSource("urlSmall320");
129+
size.setUrl("urlSmall320Page");
130+
photoSizes.add(size);
131+
size = new Size();
132+
size.setLabel("Medium 640");
133+
size.setWidth("640");
134+
size.setHeight("320");
135+
size.setSource("urlMedium640");
136+
size.setUrl("urlMedium640Page");
137+
photoSizes.add(size);
138+
size = new Size();
139+
size.setLabel("Medium 800");
140+
size.setWidth("800");
141+
size.setHeight("500");
142+
size.setSource("urlMedium800");
143+
size.setUrl("urlMedium800Page");
144+
photoSizes.add(size);
145+
size = new Size();
146+
size.setLabel("Large 1600");
147+
size.setWidth("1600");
148+
size.setHeight("1024");
149+
size.setSource("urlLarge1600");
150+
size.setUrl("urlLarge1600Page");
151+
photoSizes.add(size);
152+
size = new Size();
153+
size.setLabel("Large 2048");
154+
size.setWidth("2048");
155+
size.setHeight("1600");
156+
size.setSource("urlLarge2048");
157+
size.setUrl("urlLarge2048Page");
158+
photoSizes.add(size);
159+
size = new Size();
160+
size.setLabel("Video Player");
161+
size.setWidth("320");
162+
size.setHeight("240");
163+
size.setSource("urlVideoPlayer");
164+
size.setUrl("urlVideoPlayerPage");
165+
photoSizes.add(size);
166+
size = new Size();
167+
size.setLabel("Site MP4");
168+
size.setWidth("320");
169+
size.setHeight("240");
170+
size.setSource("urlSiteMP4");
171+
size.setUrl("urlSiteMP4Page");
172+
photoSizes.add(size);
173+
size = new Size();
174+
size.setLabel("Video Original");
175+
size.setWidth("960");
176+
size.setHeight("720");
177+
size.setSource("urlVideoOriginal");
178+
size.setUrl("urlVideoOriginalPage");
179+
photoSizes.add(size);
180+
size = new Size();
181+
size.setLabel("Mobile MP4");
182+
size.setWidth("640");
183+
size.setHeight("360");
184+
size.setSource("urlMobileMP4");
185+
size.setUrl("urlMobileMP4Page");
186+
photoSizes.add(size);
187+
size = new Size();
188+
size.setLabel("HD MP4");
189+
size.setWidth("1280");
190+
size.setHeight("720");
191+
size.setSource("urlHDMP4");
192+
size.setUrl("urlHDMP4Page");
193+
photoSizes.add(size);
194+
}
64195

65196
@Test
66197
public void testAddAndRemoveTags() throws FlickrException {
@@ -390,113 +521,6 @@ public void testGetPhoto() throws FlickrException {
390521
*/
391522
@Test
392523
public void testSetSizes() {
393-
List<Size> sizes = new ArrayList<Size>();
394-
Size size = new Size();
395-
size.setLabel("Thumbnail");
396-
size.setWidth("100");
397-
size.setHeight("75");
398-
size.setSource("urlThumb");
399-
size.setUrl("urlThumbPage");
400-
sizes.add(size);
401-
size = new Size();
402-
size.setLabel("Square");
403-
size.setWidth("75");
404-
size.setHeight("75");
405-
size.setSource("urlSquare");
406-
size.setUrl("urlSquarePage");
407-
sizes.add(size);
408-
size = new Size();
409-
size.setLabel("Small");
410-
size.setWidth("240");
411-
size.setHeight("180");
412-
size.setSource("urlSmall");
413-
size.setUrl("urlSmallPage");
414-
sizes.add(size);
415-
size = new Size();
416-
size.setLabel("Medium");
417-
size.setWidth("240");
418-
size.setHeight("180");
419-
size.setSource("urlMedium");
420-
size.setUrl("urlMediumPage");
421-
sizes.add(size);
422-
size = new Size();
423-
size.setLabel("Original");
424-
size.setWidth("240");
425-
size.setHeight("180");
426-
size.setSource("urlOriginal");
427-
size.setUrl("urlOriginalPage");
428-
sizes.add(size);
429-
size = new Size();
430-
size.setLabel("Large");
431-
size.setWidth("240");
432-
size.setHeight("180");
433-
size.setSource("urlLarge");
434-
size.setUrl("urlLargePage");
435-
sizes.add(size);
436-
size = new Size();
437-
size.setLabel("Large Square");
438-
size.setWidth("150");
439-
size.setHeight("150");
440-
size.setSource("urlSquareLarge");
441-
size.setUrl("urlSquareLargePage");
442-
sizes.add(size);
443-
size = new Size();
444-
size.setLabel("Small 320");
445-
size.setWidth("320");
446-
size.setHeight("240");
447-
size.setSource("urlSmall320");
448-
size.setUrl("urlSmall320Page");
449-
sizes.add(size);
450-
size = new Size();
451-
size.setLabel("Medium 640");
452-
size.setWidth("640");
453-
size.setHeight("320");
454-
size.setSource("urlMedium640");
455-
size.setUrl("urlMedium640Page");
456-
sizes.add(size);
457-
size = new Size();
458-
size.setLabel("Medium 800");
459-
size.setWidth("800");
460-
size.setHeight("500");
461-
size.setSource("urlMedium800");
462-
size.setUrl("urlMedium800Page");
463-
sizes.add(size);
464-
size = new Size();
465-
size.setLabel("Large 1600");
466-
size.setWidth("1600");
467-
size.setHeight("1024");
468-
size.setSource("urlLarge1600");
469-
size.setUrl("urlLarge1600Page");
470-
sizes.add(size);
471-
size = new Size();
472-
size.setLabel("Large 2048");
473-
size.setWidth("2048");
474-
size.setHeight("1600");
475-
size.setSource("urlLarge2048");
476-
size.setUrl("urlLarge2048Page");
477-
sizes.add(size);
478-
size = new Size();
479-
size.setLabel("Video Player");
480-
size.setWidth("320");
481-
size.setHeight("240");
482-
size.setSource("urlVideoPlayer");
483-
size.setUrl("urlVideoPlayerPage");
484-
sizes.add(size);
485-
size = new Size();
486-
size.setLabel("Site MP4");
487-
size.setWidth("320");
488-
size.setHeight("240");
489-
size.setSource("urlSiteMP4");
490-
size.setUrl("urlSiteMP4Page");
491-
sizes.add(size);
492-
size = new Size();
493-
size.setLabel("Video Original");
494-
size.setWidth("960");
495-
size.setHeight("720");
496-
size.setSource("urlVideoOriginal");
497-
size.setUrl("urlVideoOriginalPage");
498-
sizes.add(size);
499-
500524
Photo p = new Photo();
501525
p.setId("id");
502526
p.setServer("server");
@@ -520,7 +544,7 @@ public void testSetSizes() {
520544
} catch (FlickrException ex) {
521545
}
522546
// setSizes() to override the generated URLs.
523-
p.setSizes(sizes);
547+
p.setSizes(photoSizes);
524548
assertEquals("urlSmall", p.getSmallUrl());
525549
assertEquals("urlSquare", p.getSmallSquareUrl());
526550
assertEquals("urlThumb", p.getThumbnailUrl());
@@ -540,4 +564,16 @@ public void testSetSizes() {
540564
} catch (FlickrException ex) {
541565
}
542566
}
567+
568+
@Test
569+
public void testGetAllSizes() {
570+
Photo p = new Photo();
571+
p.setSizes(photoSizes);
572+
573+
List<Size> pSizes = new ArrayList<Size>(p.getSizes());
574+
575+
for(Size s: pSizes) {
576+
assertNotNull(s);
577+
}
578+
}
543579
}

0 commit comments

Comments
 (0)