Skip to content

Commit b93704c

Browse files
committed
Merge branch 'master' of github.com:callmeal/Flickr4Java
Conflicts: Flickr4Java/src/com/flickr4java/flickr/Flickr.java Flickr4Java/src/com/flickr4java/flickr/cameras/Brand.java Flickr4Java/src/com/flickr4java/flickr/cameras/Camera.java Flickr4Java/src/com/flickr4java/flickr/cameras/CamerasInterface.java Flickr4Java/src/com/flickr4java/flickr/cameras/Details.java Flickr4Java/test/src/com/flickr4java/flickr/test/CamerasInterfaceTest.java Flickr4Java/test/src/com/flickr4java/flickr/test/PeopleInterfaceTest.java Flickr4Java/test/src/com/flickr4java/flickr/test/PhotosInterfaceTest.java Flickr4Java/test/src/com/flickr4java/flickr/test/PhotosetsInterfaceTest.java Flickr4Java/test/src/com/flickr4java/flickr/test/TestProperties.java Flickr4Java/test/src/setup.properties.example
2 parents 8e2e210 + 8080af1 commit b93704c

File tree

11 files changed

+1929
-0
lines changed

11 files changed

+1929
-0
lines changed

Flickr4Java/src/com/flickr4java/flickr/Flickr.java

Lines changed: 618 additions & 0 deletions
Large diffs are not rendered by default.

Flickr4Java/src/com/flickr4java/flickr/cameras/Brand.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<<<<<<< HEAD
2+
<<<<<<< HEAD
23
package com.flickr4java.flickr.cameras;
34

45
public class Brand {
@@ -49,3 +50,29 @@ public void setId(String id) {
4950
}
5051
}
5152
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0
53+
=======
54+
package com.flickr4java.flickr.cameras;
55+
56+
public class Brand {
57+
58+
private String id;
59+
60+
private String name;
61+
62+
public String getName() {
63+
return name;
64+
}
65+
66+
public void setName(String name) {
67+
this.name = name;
68+
}
69+
70+
public String getId() {
71+
return id;
72+
}
73+
74+
public void setId(String id) {
75+
this.id = id;
76+
}
77+
}
78+
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0

Flickr4Java/src/com/flickr4java/flickr/cameras/Camera.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,61 @@
11
<<<<<<< HEAD
2+
<<<<<<< HEAD
3+
package com.flickr4java.flickr.cameras;
4+
5+
public class Camera {
6+
7+
private String id;
8+
9+
private Details details;
10+
11+
private String smallImage;
12+
13+
private String largeImage;
14+
15+
private String name;
16+
17+
public String getSmallImage() {
18+
return smallImage;
19+
}
20+
21+
public void setSmallImage(String smallImage) {
22+
this.smallImage = smallImage;
23+
}
24+
25+
public String getLargeImage() {
26+
return largeImage;
27+
}
28+
29+
public void setLargeImage(String largeImage) {
30+
this.largeImage = largeImage;
31+
}
32+
33+
public String getId() {
34+
return id;
35+
}
36+
37+
public void setId(String id) {
38+
this.id = id;
39+
}
40+
41+
public Details getDetails() {
42+
return details;
43+
}
44+
45+
public void setDetails(Details details) {
46+
this.details = details;
47+
}
48+
49+
public String getName() {
50+
return name;
51+
}
52+
53+
public void setName(String name) {
54+
this.name = name;
55+
}
56+
57+
}
58+
=======
259
package com.flickr4java.flickr.cameras;
360

461
public class Camera {
@@ -54,6 +111,7 @@ public void setName(String name) {
54111
}
55112

56113
}
114+
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0
57115
=======
58116
package com.flickr4java.flickr.cameras;
59117

Flickr4Java/src/com/flickr4java/flickr/cameras/CamerasInterface.java

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<<<<<<< HEAD
2+
<<<<<<< HEAD
23
/**
34
* @author acaplan
45
*/
@@ -277,3 +278,143 @@ public List<Camera> getBrandModels(String strBrand) throws FlickrException {
277278

278279
}
279280
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0
281+
=======
282+
/**
283+
* @author acaplan
284+
*/
285+
package com.flickr4java.flickr.cameras;
286+
287+
import java.util.ArrayList;
288+
import java.util.HashMap;
289+
import java.util.List;
290+
import java.util.Map;
291+
292+
import org.apache.log4j.Logger;
293+
import org.w3c.dom.Element;
294+
import org.w3c.dom.NodeList;
295+
296+
import com.flickr4java.flickr.Flickr;
297+
import com.flickr4java.flickr.FlickrException;
298+
import com.flickr4java.flickr.Response;
299+
import com.flickr4java.flickr.Transport;
300+
import com.flickr4java.flickr.util.XMLUtilities;
301+
302+
/**
303+
* Interface for flickr.collections.* methods.
304+
*
305+
* @author callmeal
306+
* @version $Id$ Copyright (c) 2012 allanc
307+
*/
308+
public class CamerasInterface {
309+
private static final String METHOD_GET_BRANDS = "flickr.cameras.getBrands";
310+
311+
private static final String METHOD_GET_BRAND_MODELS = "flickr.cameras.getBrandModels";
312+
313+
/**
314+
* Logger for log4j.
315+
*/
316+
@SuppressWarnings("unused")
317+
private static Logger _log = Logger.getLogger(CamerasInterface.class);
318+
319+
private final String apiKey;
320+
321+
private final String sharedSecret;
322+
323+
private final Transport transportAPI;
324+
325+
public CamerasInterface(String apiKey, String sharedSecret, Transport transportAPI) {
326+
this.apiKey = apiKey;
327+
this.sharedSecret = sharedSecret;
328+
this.transportAPI = transportAPI;
329+
}
330+
331+
/**
332+
* Returns all the brands of cameras that Flickr knows about.
333+
*
334+
* This method does not require authentication.
335+
*
336+
*
337+
* @return List of Brands
338+
* @throws FlickrException
339+
*/
340+
public List<Brand> getBrands() throws FlickrException {
341+
Map<String, Object> parameters = new HashMap<String, Object>();
342+
parameters.put("method", METHOD_GET_BRANDS);
343+
parameters.put(Flickr.API_KEY, apiKey);
344+
345+
Response response = transportAPI.get(transportAPI.getPath(), parameters, sharedSecret);
346+
if (response.isError()) {
347+
throw new FlickrException(response.getErrorCode(), response.getErrorMessage());
348+
}
349+
350+
List<Brand> lst = new ArrayList<Brand>();
351+
Element mElement = response.getPayload();
352+
NodeList brandElements = mElement.getElementsByTagName("brand");
353+
for (int i = 0; i < brandElements.getLength(); i++) {
354+
Element brandElement = (Element) brandElements.item(i);
355+
Brand brand = new Brand();
356+
brand.setId(brandElement.getAttribute("id"));
357+
brand.setName(brandElement.getAttribute("name"));
358+
lst.add(brand);
359+
}
360+
361+
return lst;
362+
}
363+
364+
/**
365+
* Returns all the brands of cameras that Flickr knows about.
366+
*
367+
* This method does not require authentication.
368+
*
369+
*
370+
* @return List of Brands
371+
* @throws FlickrException
372+
*/
373+
public List<Camera> getBrandModels(String strBrand) throws FlickrException {
374+
Map<String, Object> parameters = new HashMap<String, Object>();
375+
parameters.put("method", METHOD_GET_BRAND_MODELS);
376+
parameters.put(Flickr.API_KEY, apiKey);
377+
parameters.put("brand", strBrand);
378+
379+
Response response = transportAPI.get(transportAPI.getPath(), parameters, sharedSecret);
380+
if (response.isError()) {
381+
throw new FlickrException(response.getErrorCode(), response.getErrorMessage());
382+
}
383+
384+
List<Camera> lst = new ArrayList<Camera>();
385+
Element mElement = response.getPayload();
386+
NodeList cameraElements = mElement.getElementsByTagName("camera");
387+
for (int i = 0; i < cameraElements.getLength(); i++) {
388+
Element cameraElement = (Element) cameraElements.item(i);
389+
Camera cam = new Camera();
390+
cam.setId(cameraElement.getAttribute("id"));
391+
cam.setName(XMLUtilities.getChildValue(cameraElement, "name"));
392+
393+
NodeList detailsNodes = cameraElement.getElementsByTagName("details");
394+
int n = detailsNodes.getLength();
395+
if (n == 1) {
396+
Element detailElement = (Element) detailsNodes.item(0);
397+
Details detail = new Details();
398+
cam.setDetails(detail);
399+
detail.setMegapixels(XMLUtilities.getChildValue(detailElement, "megapixels"));
400+
detail.setZoom(XMLUtilities.getChildValue(detailElement, "zoom"));
401+
detail.setLcdSize(XMLUtilities.getChildValue(detailElement, "lcd_screen_size"));
402+
detail.setStorageType(XMLUtilities.getChildValue(detailElement, "memory_type"));
403+
}
404+
405+
NodeList imageNodes = cameraElement.getElementsByTagName("images");
406+
n = imageNodes.getLength();
407+
if (n == 1) {
408+
Element imageElement = (Element) imageNodes.item(0);
409+
cam.setSmallImage(XMLUtilities.getChildValue(imageElement, "small"));
410+
cam.setLargeImage(XMLUtilities.getChildValue(imageElement, "large"));
411+
}
412+
413+
lst.add(cam);
414+
}
415+
416+
return lst;
417+
}
418+
419+
}
420+
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0

Flickr4Java/src/com/flickr4java/flickr/cameras/Details.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,49 @@
11
<<<<<<< HEAD
2+
<<<<<<< HEAD
3+
package com.flickr4java.flickr.cameras;
4+
5+
public class Details {
6+
private String megapixels;
7+
8+
private String zoom;
9+
10+
private String lcdSize;
11+
12+
private String storageType;
13+
14+
public String getMegapixels() {
15+
return megapixels;
16+
}
17+
18+
public void setMegapixels(String megapixels) {
19+
this.megapixels = megapixels;
20+
}
21+
22+
public String getZoom() {
23+
return zoom;
24+
}
25+
26+
public void setZoom(String zoom) {
27+
this.zoom = zoom;
28+
}
29+
30+
public String getLcdSize() {
31+
return lcdSize;
32+
}
33+
34+
public void setLcdSize(String lcdSize) {
35+
this.lcdSize = lcdSize;
36+
}
37+
38+
public String getStorageType() {
39+
return storageType;
40+
}
41+
42+
public void setStorageType(String storageType) {
43+
this.storageType = storageType;
44+
}
45+
}
46+
=======
247
package com.flickr4java.flickr.cameras;
348

449
public class Details {
@@ -42,6 +87,7 @@ public void setStorageType(String storageType) {
4287
this.storageType = storageType;
4388
}
4489
}
90+
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0
4591
=======
4692
package com.flickr4java.flickr.cameras;
4793

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

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,53 @@
11
<<<<<<< HEAD
2+
<<<<<<< HEAD
3+
package com.flickr4java.flickr.test;
4+
5+
import static junit.framework.Assert.assertNotNull;
6+
import static junit.framework.Assert.assertTrue;
7+
8+
import java.util.Collection;
9+
10+
import org.junit.Test;
11+
12+
import com.flickr4java.flickr.Flickr;
13+
import com.flickr4java.flickr.FlickrException;
14+
import com.flickr4java.flickr.cameras.Brand;
15+
import com.flickr4java.flickr.cameras.Camera;
16+
import com.flickr4java.flickr.cameras.CamerasInterface;
17+
18+
public class CamerasInterfaceTest extends Flickr4JavaTest {
19+
20+
@Test
21+
public void testGetBrands() throws FlickrException {
22+
23+
// not implementing much for tests here - flickr doesn't give us much to go on.
24+
CamerasInterface camInterface = flickr.getCamerasInterface();
25+
Collection<Brand> brands = camInterface.getBrands();
26+
assertNotNull(brands);
27+
assertTrue(brands.size() > 0);
28+
}
29+
30+
@Test
31+
public void testGetBrandModels() throws FlickrException {
32+
33+
// not implementing much for tests here - flickr doesn't give us much to go on.
34+
// the interface may not be final - the documented xml nodes don't correspond to what is in the xml
35+
CamerasInterface camInterface = flickr.getCamerasInterface();
36+
Flickr.debugStream = true;
37+
Collection<Camera> cams = camInterface.getBrandModels("Canon");
38+
assertNotNull(cams);
39+
assertTrue(cams.size() > 0);
40+
for (Camera cam : cams) {
41+
assertNotNull(cam.getId());
42+
assertNotNull(cam.getName());
43+
/*
44+
* assertNotNull(cam.getSmallImage()); assertNotNull(cam.getLargeImage()); assertNotNull(cam.getDetails().getMegapixels());
45+
* assertNotNull(cam.getDetails().getZoom()); assertNotNull(cam.getDetails().getLcdSize()); assertNotNull(cam.getDetails().getStorageType());
46+
*/}
47+
}
48+
49+
}
50+
=======
251
package com.flickr4java.flickr.test;
352

453
import static junit.framework.Assert.assertNotNull;
@@ -46,6 +95,7 @@ public void testGetBrandModels() throws FlickrException {
4695
}
4796

4897
}
98+
>>>>>>> 8080af10a7f34bdce972d0e96765084e14e113f0
4999
=======
50100
package com.flickr4java.flickr.test;
51101

0 commit comments

Comments
 (0)