Date minUploadDate, Date maxUploadDate,
Date minTakenDate, Date maxTakenDate
) throws FlickrException, IOException, SAXException {
List parameters = new ArrayList();
PlacesList placesList = new PlacesList();
parameters.add(new Parameter("method", METHOD_PLACES_FOR_TAGS));
parameters.add(new Parameter("api_key", apiKey));
parameters.add(new Parameter("place_type_id", placeTypeId));
if (woeId != null) {
parameters.add(new Parameter("woe_id", woeId));
}
if (placeId != null) {
parameters.add(new Parameter("place_id", placeId));
}
if (threshold != null) {
parameters.add(new Parameter("threshold", threshold));
}
if (tags != null) {
parameters.add(new Parameter("tags", StringUtilities.join(tags, ",")));
}
if (tagMode != null) {
parameters.add(new Parameter("tag_mode", tagMode));
}
if (machineTags != null) {
parameters.add(new Parameter("machine_tags", machineTags));
}
if (machineTagMode != null) {
parameters.add(new Parameter("machine_tag_mode", machineTagMode));
}
if (minUploadDate != null) {
parameters.add(new Parameter("min_upload_date", new Long(minUploadDate.getTime() / 1000L)));
}
if (maxUploadDate != null) {
parameters.add(new Parameter("max_upload_date", new Long(maxUploadDate.getTime() / 1000L)));
}
if (minTakenDate != null) {
parameters.add(new Parameter("min_taken_date", ((DateFormat) SearchParameters.MYSQL_DATE_FORMATS.get()).format(minTakenDate)));
}
if (maxTakenDate != null) {
parameters.add(new Parameter("max_taken_date", ((DateFormat) SearchParameters.MYSQL_DATE_FORMATS.get()).format(maxTakenDate)));
}
parameters.add(
new Parameter(
"api_sig",
AuthUtilities.getSignature(sharedSecret, parameters)
)
);
Response response = transportAPI.get(transportAPI.getPath(), parameters);