Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7900b6d25b | |||
| 4747c42fc6 | |||
| 1a96343924 | |||
| 76191c13c0 | |||
| ce533c2b41 | |||
| de623ff0db | |||
| 6745f5f3d5 | |||
| 955ef0369e | |||
| 4c682731b6 | |||
| c99f60f636 | |||
| 265878d016 | |||
| 9bf7175ee8 | |||
| 00063cc85d | |||
| 2f7468914c | |||
| 4d9d53421f | |||
| 9f135c3ca7 | |||
| 7d9552a08c | |||
| 3acf07b36a | |||
| f501126b76 | |||
| 8ab8699dd5 | |||
| 6c4ba2a492 | |||
| 44df73f2d1 | |||
| 98a1b5d1b9 |
@@ -13,7 +13,7 @@
|
||||
|
||||
<groupId>com.omertron</groupId>
|
||||
<artifactId>themoviedbapi</artifactId>
|
||||
<version>3.4</version>
|
||||
<version>3.5</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>API-The MovieDB</name>
|
||||
@@ -62,7 +62,7 @@
|
||||
</issueManagement>
|
||||
|
||||
<ciManagement>
|
||||
<system>Hudson CI</system>
|
||||
<system>Jenkins CI</system>
|
||||
<url>http://jenkins.omertron.com/job/API-TheMovieDb/</url>
|
||||
</ciManagement>
|
||||
|
||||
@@ -83,22 +83,22 @@
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>2.1.4</version>
|
||||
<version>2.2.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.1.4</version>
|
||||
<version>2.2.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.1.4</version>
|
||||
<version>2.2.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.7</version>
|
||||
<version>1.8</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
@@ -108,18 +108,18 @@
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.3</version>
|
||||
<version>1.7.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-jdk14</artifactId>
|
||||
<version>1.7.3</version>
|
||||
<version>1.7.5</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>${project.artifactId}-${project.version}-r${buildNumber}</finalName>
|
||||
<finalName>${project.artifactId}-${project.version}-${buildNumber}</finalName>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -127,8 +127,9 @@
|
||||
<artifactId>buildnumber-maven-plugin</artifactId>
|
||||
<version>1.2</version>
|
||||
<configuration>
|
||||
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
|
||||
<revisionOnScmFailure>0000</revisionOnScmFailure>
|
||||
<shortRevisionLength>10</shortRevisionLength>
|
||||
<doCheck>false</doCheck>
|
||||
<doUpdate>false</doUpdate>
|
||||
<timestampFormat>{0,date,yyyy-MM-dd HH:mm:ss}</timestampFormat>
|
||||
</configuration>
|
||||
<executions>
|
||||
@@ -190,12 +191,12 @@
|
||||
<property name="header_line" value="The MovieDb API${line.separator}" />
|
||||
<property name="build_date_line" value="Build Date: ${timestamp}${line.separator}" />
|
||||
<property name="version_line" value="Version: ${project.version}${line.separator}" />
|
||||
<!--<property name="revision_line" value="Revision: r${buildNumber}${line.separator}" />-->
|
||||
<property name="buildnumber_line" value="Git-SHA: ${buildNumber}${line.separator}" />
|
||||
<echo>Writing version file: ${version_file}</echo>
|
||||
<echo file="${version_file}" append="false">${header_line}</echo>
|
||||
<echo file="${version_file}" append="true">${build_date_line}</echo>
|
||||
<echo file="${version_file}" append="true">${version_line}</echo>
|
||||
<!--<echo file="${version_file}" append="true">${revision_line}</echo>-->
|
||||
<echo file="${version_file}" append="true">${buildnumber_line}</echo>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
@@ -290,12 +291,12 @@
|
||||
<extension>
|
||||
<groupId>org.apache.maven.scm</groupId>
|
||||
<artifactId>maven-scm-provider-gitexe</artifactId>
|
||||
<version>1.4</version>
|
||||
<version>1.8.1</version>
|
||||
</extension>
|
||||
<extension>
|
||||
<groupId>org.apache.maven.scm</groupId>
|
||||
<artifactId>maven-scm-manager-plexus</artifactId>
|
||||
<version>1.4</version>
|
||||
<version>1.8.1</version>
|
||||
</extension>
|
||||
<extension>
|
||||
<groupId>org.kathrynhuxtable.maven.wagon</groupId>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,124 +1,135 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class CollectionInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(CollectionInfo.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("id")
|
||||
private int id;
|
||||
@JsonProperty("name")
|
||||
private String name;
|
||||
@JsonProperty("poster_path")
|
||||
private String posterPath;
|
||||
@JsonProperty("backdrop_path")
|
||||
private String backdropPath;
|
||||
@JsonProperty("parts")
|
||||
private List<Collection> parts = new ArrayList<Collection>();
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public String getBackdropPath() {
|
||||
return backdropPath;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public List<Collection> getParts() {
|
||||
return parts;
|
||||
}
|
||||
|
||||
public String getPosterPath() {
|
||||
return posterPath;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setBackdropPath(String backdropPath) {
|
||||
this.backdropPath = backdropPath;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setParts(List<Collection> parts) {
|
||||
this.parts = parts;
|
||||
}
|
||||
|
||||
public void setPosterPath(String posterPath) {
|
||||
this.posterPath = posterPath;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("[CollectionInfo=");
|
||||
sb.append("[id=").append(id);
|
||||
sb.append("],[name=").append(name);
|
||||
sb.append("],[posterPath=").append(posterPath);
|
||||
sb.append("],[backdropPath=").append(backdropPath);
|
||||
sb.append("],[# of parts=").append(parts.size());
|
||||
sb.append("]]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class CollectionInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(CollectionInfo.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("id")
|
||||
private int id;
|
||||
@JsonProperty("name")
|
||||
private String name;
|
||||
@JsonProperty("overview")
|
||||
private String overview;
|
||||
@JsonProperty("poster_path")
|
||||
private String posterPath;
|
||||
@JsonProperty("backdrop_path")
|
||||
private String backdropPath;
|
||||
@JsonProperty("parts")
|
||||
private List<Collection> parts = new ArrayList<Collection>();
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public String getBackdropPath() {
|
||||
return backdropPath;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getOverview() {
|
||||
return overview;
|
||||
}
|
||||
|
||||
public List<Collection> getParts() {
|
||||
return parts;
|
||||
}
|
||||
|
||||
public String getPosterPath() {
|
||||
return posterPath;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setBackdropPath(String backdropPath) {
|
||||
this.backdropPath = backdropPath;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setOverview(String overview) {
|
||||
this.overview = overview;
|
||||
}
|
||||
|
||||
public void setParts(List<Collection> parts) {
|
||||
this.parts = parts;
|
||||
}
|
||||
|
||||
public void setPosterPath(String posterPath) {
|
||||
this.posterPath = posterPath;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("[CollectionInfo=");
|
||||
sb.append("[id=").append(id);
|
||||
sb.append("],[name=").append(name);
|
||||
sb.append("],[overview=").append(overview);
|
||||
sb.append("],[posterPath=").append(posterPath);
|
||||
sb.append("],[backdropPath=").append(backdropPath);
|
||||
sb.append("],[# of parts=").append(parts.size());
|
||||
sb.append("]]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,262 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation;private either version 3 of the License;private or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful;private
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not;private see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import static com.omertron.themoviedbapi.tools.ApiUrl.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* Generate a discover object for use in the MovieDbApi
|
||||
*
|
||||
* This allows you to just add the search components you are concerned with
|
||||
*
|
||||
* @author stuart.boston
|
||||
*/
|
||||
public class Discover {
|
||||
|
||||
private Map<String, String> params = new HashMap<String, String>();
|
||||
private static final String PARAM_PRIMARY_RELEASE_YEAR = "primary_release_year=";
|
||||
private static final String PARAM_VOTE_COUNT_GTE = "vote_count.gte=";
|
||||
private static final String PARAM_VOTE_AVERAGE_GTE = "vote_average.gte=";
|
||||
private static final String PARAM_WITH_GENRES = "with_genres=";
|
||||
private static final String PARAM_RELEASE_DATE_GTE = "release_date.gte=";
|
||||
private static final String PARAM_RELEASE_DATE_LTE = "release_date.lte=";
|
||||
private static final String PARAM_CERTIFICATION_COUNTRY = "certification_country=";
|
||||
private static final String PARAM_CERTIFICATION_LTE = "certification.lte=";
|
||||
private static final String PARAM_WITH_COMPANIES = "with_companies=";
|
||||
private static final String PARAM_SORT_BY = "sort_by=";
|
||||
private static final int YEAR_MIN = 1900;
|
||||
private static final int YEAR_MAX = 2100;
|
||||
|
||||
/**
|
||||
* Get the parameters
|
||||
*
|
||||
* This will be used to construct the URL in the API
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getParams() {
|
||||
return params;
|
||||
}
|
||||
|
||||
/**
|
||||
* Minimum value is 1 if included.
|
||||
*
|
||||
* @param page
|
||||
*/
|
||||
public Discover page(int page) {
|
||||
if (page > 0) {
|
||||
params.put(PARAM_PAGE, String.valueOf(page));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* ISO 639-1 code
|
||||
*
|
||||
* @param language
|
||||
*/
|
||||
public Discover language(String language) {
|
||||
if (StringUtils.isNotBlank(language)) {
|
||||
params.put(PARAM_LANGUAGE, language);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Available options are <br>
|
||||
* vote_average.desc<br>
|
||||
* vote_average.asc<br>
|
||||
* release_date.desc<br>
|
||||
* release_date.asc<br>
|
||||
* popularity.desc<br>
|
||||
* popularity.asc
|
||||
*
|
||||
* @param sortBy
|
||||
*/
|
||||
public Discover sortBy(String sortBy) {
|
||||
if (StringUtils.isNotBlank(sortBy)) {
|
||||
params.put(PARAM_SORT_BY, sortBy);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggle the inclusion of adult titles
|
||||
*
|
||||
* @param includeAdult
|
||||
*/
|
||||
public Discover includeAdult(boolean includeAdult) {
|
||||
params.put(PARAM_ADULT, String.valueOf(includeAdult));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the results release dates to matches that include this value.
|
||||
*
|
||||
* @param year
|
||||
*/
|
||||
public Discover year(int year) {
|
||||
if (checkYear(year)) {
|
||||
params.put(PARAM_YEAR, String.valueOf(year));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter the results so that only the primary release date year has this value
|
||||
*
|
||||
* @param primaryReleaseYear
|
||||
*/
|
||||
public Discover primaryReleaseYear(int primaryReleaseYear) {
|
||||
if (checkYear(primaryReleaseYear)) {
|
||||
params.put(PARAM_PRIMARY_RELEASE_YEAR, String.valueOf(primaryReleaseYear));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Only include movies that are equal to, or have a vote count higher than this value
|
||||
*
|
||||
* @param voteCountGte
|
||||
*/
|
||||
public Discover voteCountGte(int voteCountGte) {
|
||||
if (voteCountGte > 0) {
|
||||
params.put(PARAM_VOTE_COUNT_GTE, String.valueOf(voteCountGte));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Only include movies that are equal to, or have a higher average rating than this value
|
||||
*
|
||||
* @param voteAverageGte
|
||||
*/
|
||||
public Discover voteAverageGte(float voteAverageGte) {
|
||||
if (voteAverageGte > 0) {
|
||||
params.put(PARAM_VOTE_AVERAGE_GTE, String.valueOf(voteAverageGte));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Only include movies with the specified genres.
|
||||
*
|
||||
* Expected value is an integer (the id of a genre).
|
||||
*
|
||||
* Multiple values can be specified.
|
||||
*
|
||||
* Comma separated indicates an 'AND' query, while a pipe (|) separated value indicates an 'OR'
|
||||
*
|
||||
* @param withGenres
|
||||
*/
|
||||
public Discover withGenres(String withGenres) {
|
||||
if (StringUtils.isNotBlank(withGenres)) {
|
||||
params.put(PARAM_WITH_GENRES, withGenres);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* The minimum release to include.
|
||||
*
|
||||
* Expected format is YYYY-MM-DD.
|
||||
*
|
||||
* @param releaseDateGte
|
||||
*/
|
||||
public Discover releaseDateGte(String releaseDateGte) {
|
||||
if (StringUtils.isNotBlank(releaseDateGte)) {
|
||||
params.put(PARAM_RELEASE_DATE_GTE, releaseDateGte);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* The maximum release to include.
|
||||
*
|
||||
* Expected format is YYYY-MM-DD.
|
||||
*
|
||||
* @param releaseDateLte
|
||||
*/
|
||||
public Discover releaseDateLte(String releaseDateLte) {
|
||||
if (StringUtils.isNotBlank(releaseDateLte)) {
|
||||
params.put(PARAM_RELEASE_DATE_LTE, releaseDateLte);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Only include movies with certifications for a specific country.
|
||||
*
|
||||
* When this value is specified, 'certificationLte' is required.
|
||||
*
|
||||
* A ISO 3166-1 is expected
|
||||
*
|
||||
* @param certificationCountry
|
||||
*/
|
||||
public Discover certificationCountry(String certificationCountry) {
|
||||
if (StringUtils.isNotBlank(certificationCountry)) {
|
||||
params.put(PARAM_CERTIFICATION_COUNTRY, certificationCountry);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Only include movies with this certification and lower.
|
||||
*
|
||||
* Expected value is a valid certification for the specified 'certificationCountry'.
|
||||
*
|
||||
* @param certificationLte
|
||||
*/
|
||||
public Discover certificationLte(String certificationLte) {
|
||||
if (StringUtils.isNotBlank(certificationLte)) {
|
||||
params.put(PARAM_CERTIFICATION_LTE, certificationLte);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter movies to include a specific company.
|
||||
*
|
||||
* Expected value is an integer (the id of a company).
|
||||
*
|
||||
* They can be comma separated to indicate an 'AND' query
|
||||
*
|
||||
* @param withCompanies
|
||||
*/
|
||||
public Discover withCompanies(String withCompanies) {
|
||||
if (StringUtils.isNotBlank(withCompanies)) {
|
||||
params.put(PARAM_WITH_COMPANIES, withCompanies);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* check the year is between the min and max
|
||||
*
|
||||
* @param year
|
||||
* @return
|
||||
*/
|
||||
private boolean checkYear(int year) {
|
||||
return (year >= YEAR_MIN && year <= YEAR_MAX);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class JobDepartment {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
// Logger
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MovieChanges.class);
|
||||
// Properties
|
||||
@JsonProperty("department")
|
||||
private String department;
|
||||
@JsonProperty("job_list")
|
||||
private List<String> jobs;
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getters">
|
||||
public String getDepartment() {
|
||||
return department;
|
||||
}
|
||||
|
||||
public List<String> getJobs() {
|
||||
return jobs;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setters">
|
||||
public void setDepartment(String department) {
|
||||
this.department = department;
|
||||
}
|
||||
|
||||
public void setJobs(List<String> jobs) {
|
||||
this.jobs = jobs;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
}
|
||||
@@ -1,354 +1,475 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Movie Bean
|
||||
*
|
||||
* @author stuart.boston
|
||||
*/
|
||||
public class MovieDb implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MovieDb.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("backdrop_path")
|
||||
private String backdropPath;
|
||||
@JsonProperty("id")
|
||||
private int id;
|
||||
@JsonProperty("original_title")
|
||||
private String originalTitle;
|
||||
@JsonProperty("popularity")
|
||||
private float popularity;
|
||||
@JsonProperty("poster_path")
|
||||
private String posterPath;
|
||||
@JsonProperty("release_date")
|
||||
private String releaseDate;
|
||||
@JsonProperty("title")
|
||||
private String title;
|
||||
@JsonProperty("adult")
|
||||
private boolean adult;
|
||||
@JsonProperty("belongs_to_collection")
|
||||
private Collection belongsToCollection;
|
||||
@JsonProperty("budget")
|
||||
private long budget;
|
||||
@JsonProperty("genres")
|
||||
private List<Genre> genres;
|
||||
@JsonProperty("homepage")
|
||||
private String homepage;
|
||||
@JsonProperty("imdb_id")
|
||||
private String imdbID;
|
||||
@JsonProperty("overview")
|
||||
private String overview;
|
||||
@JsonProperty("production_companies")
|
||||
private List<ProductionCompany> productionCompanies;
|
||||
@JsonProperty("production_countries")
|
||||
private List<ProductionCountry> productionCountries;
|
||||
@JsonProperty("revenue")
|
||||
private long revenue;
|
||||
@JsonProperty("runtime")
|
||||
private int runtime;
|
||||
@JsonProperty("spoken_languages")
|
||||
private List<Language> spokenLanguages;
|
||||
@JsonProperty("tagline")
|
||||
private String tagline;
|
||||
@JsonProperty("vote_average")
|
||||
private float voteAverage;
|
||||
@JsonProperty("vote_count")
|
||||
private int voteCount;
|
||||
@JsonProperty("status")
|
||||
private String status;
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public String getBackdropPath() {
|
||||
return backdropPath;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getOriginalTitle() {
|
||||
return originalTitle;
|
||||
}
|
||||
|
||||
public float getPopularity() {
|
||||
return popularity;
|
||||
}
|
||||
|
||||
public String getPosterPath() {
|
||||
return posterPath;
|
||||
}
|
||||
|
||||
public String getReleaseDate() {
|
||||
return releaseDate;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public boolean isAdult() {
|
||||
return adult;
|
||||
}
|
||||
|
||||
public Collection getBelongsToCollection() {
|
||||
return belongsToCollection;
|
||||
}
|
||||
|
||||
public long getBudget() {
|
||||
return budget;
|
||||
}
|
||||
|
||||
public List<Genre> getGenres() {
|
||||
return genres;
|
||||
}
|
||||
|
||||
public String getHomepage() {
|
||||
return homepage;
|
||||
}
|
||||
|
||||
public String getImdbID() {
|
||||
return imdbID;
|
||||
}
|
||||
|
||||
public String getOverview() {
|
||||
return overview;
|
||||
}
|
||||
|
||||
public List<ProductionCompany> getProductionCompanies() {
|
||||
return productionCompanies;
|
||||
}
|
||||
|
||||
public List<ProductionCountry> getProductionCountries() {
|
||||
return productionCountries;
|
||||
}
|
||||
|
||||
public long getRevenue() {
|
||||
return revenue;
|
||||
}
|
||||
|
||||
public int getRuntime() {
|
||||
return runtime;
|
||||
}
|
||||
|
||||
public List<Language> getSpokenLanguages() {
|
||||
return spokenLanguages;
|
||||
}
|
||||
|
||||
public String getTagline() {
|
||||
return tagline;
|
||||
}
|
||||
|
||||
public float getVoteAverage() {
|
||||
return voteAverage;
|
||||
}
|
||||
|
||||
public int getVoteCount() {
|
||||
return voteCount;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setBackdropPath(String backdropPath) {
|
||||
this.backdropPath = backdropPath;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setOriginalTitle(String originalTitle) {
|
||||
this.originalTitle = originalTitle;
|
||||
}
|
||||
|
||||
public void setPopularity(float popularity) {
|
||||
this.popularity = popularity;
|
||||
}
|
||||
|
||||
public void setPosterPath(String posterPath) {
|
||||
this.posterPath = posterPath;
|
||||
}
|
||||
|
||||
public void setReleaseDate(String releaseDate) {
|
||||
this.releaseDate = releaseDate;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public void setAdult(boolean adult) {
|
||||
this.adult = adult;
|
||||
}
|
||||
|
||||
public void setBelongsToCollection(Collection belongsToCollection) {
|
||||
this.belongsToCollection = belongsToCollection;
|
||||
}
|
||||
|
||||
public void setBudget(long budget) {
|
||||
this.budget = budget;
|
||||
}
|
||||
|
||||
public void setGenres(List<Genre> genres) {
|
||||
this.genres = genres;
|
||||
}
|
||||
|
||||
public void setHomepage(String homepage) {
|
||||
this.homepage = homepage;
|
||||
}
|
||||
|
||||
public void setImdbID(String imdbID) {
|
||||
this.imdbID = imdbID;
|
||||
}
|
||||
|
||||
public void setOverview(String overview) {
|
||||
this.overview = overview;
|
||||
}
|
||||
|
||||
public void setProductionCompanies(List<ProductionCompany> productionCompanies) {
|
||||
this.productionCompanies = productionCompanies;
|
||||
}
|
||||
|
||||
public void setProductionCountries(List<ProductionCountry> productionCountries) {
|
||||
this.productionCountries = productionCountries;
|
||||
}
|
||||
|
||||
public void setRevenue(long revenue) {
|
||||
this.revenue = revenue;
|
||||
}
|
||||
|
||||
public void setRuntime(int runtime) {
|
||||
this.runtime = runtime;
|
||||
}
|
||||
|
||||
public void setSpokenLanguages(List<Language> spokenLanguages) {
|
||||
this.spokenLanguages = spokenLanguages;
|
||||
}
|
||||
|
||||
public void setTagline(String tagline) {
|
||||
this.tagline = tagline;
|
||||
}
|
||||
|
||||
public void setVoteAverage(float voteAverage) {
|
||||
this.voteAverage = voteAverage;
|
||||
}
|
||||
|
||||
public void setVoteCount(int voteCount) {
|
||||
this.voteCount = voteCount;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
// </editor-fold>
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Equals and HashCode">
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final MovieDb other = (MovieDb) obj;
|
||||
if (this.id != other.id) {
|
||||
return false;
|
||||
}
|
||||
if ((this.imdbID == null) ? (other.imdbID != null) : !this.imdbID.equals(other.imdbID)) {
|
||||
return false;
|
||||
}
|
||||
if (this.runtime != other.runtime) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 5;
|
||||
hash = 89 * hash + this.id;
|
||||
hash = 89 * hash + (this.imdbID != null ? this.imdbID.hashCode() : 0);
|
||||
hash = 89 * hash + this.runtime;
|
||||
return hash;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("[MovieDB=");
|
||||
sb.append("[backdropPath=").append(backdropPath);
|
||||
sb.append("],[id=").append(id);
|
||||
sb.append("],[originalTitle=").append(originalTitle);
|
||||
sb.append("],[popularity=").append(popularity);
|
||||
sb.append("],[posterPath=").append(posterPath);
|
||||
sb.append("],[releaseDate=").append(releaseDate);
|
||||
sb.append("],[title=").append(title);
|
||||
sb.append("],[adult=").append(adult);
|
||||
sb.append("],[belongsToCollection=").append(belongsToCollection);
|
||||
sb.append("],[budget=").append(budget);
|
||||
sb.append("],[genres=").append(genres);
|
||||
sb.append("],[homepage=").append(homepage);
|
||||
sb.append("],[imdbID=").append(imdbID);
|
||||
sb.append("],[overview=").append(overview);
|
||||
sb.append("],[productionCompanies=").append(productionCompanies);
|
||||
sb.append("],[productionCountries=").append(productionCountries);
|
||||
sb.append("],[revenue=").append(revenue);
|
||||
sb.append("],[runtime=").append(runtime);
|
||||
sb.append("],[spokenLanguages=").append(spokenLanguages);
|
||||
sb.append("],[tagline=").append(tagline);
|
||||
sb.append("],[voteAverage=").append(voteAverage);
|
||||
sb.append("],[voteCount=").append(voteCount);
|
||||
sb.append("],[status=").append(status);
|
||||
sb.append("]]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperAlternativeTitles;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperImages;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperMovie;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperMovieCasts;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperMovieKeywords;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperMovieList;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperReleaseInfo;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperReviews;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperTrailers;
|
||||
import com.omertron.themoviedbapi.wrapper.WrapperTranslations;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Movie Bean
|
||||
*
|
||||
* @author stuart.boston
|
||||
*/
|
||||
public class MovieDb implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MovieDb.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("backdrop_path")
|
||||
private String backdropPath;
|
||||
@JsonProperty("id")
|
||||
private int id;
|
||||
@JsonProperty("original_title")
|
||||
private String originalTitle;
|
||||
@JsonProperty("popularity")
|
||||
private float popularity;
|
||||
@JsonProperty("poster_path")
|
||||
private String posterPath;
|
||||
@JsonProperty("release_date")
|
||||
private String releaseDate;
|
||||
@JsonProperty("title")
|
||||
private String title;
|
||||
@JsonProperty("adult")
|
||||
private boolean adult;
|
||||
@JsonProperty("belongs_to_collection")
|
||||
private Collection belongsToCollection;
|
||||
@JsonProperty("budget")
|
||||
private long budget;
|
||||
@JsonProperty("genres")
|
||||
private List<Genre> genres;
|
||||
@JsonProperty("homepage")
|
||||
private String homepage;
|
||||
@JsonProperty("imdb_id")
|
||||
private String imdbID;
|
||||
@JsonProperty("overview")
|
||||
private String overview;
|
||||
@JsonProperty("production_companies")
|
||||
private List<ProductionCompany> productionCompanies;
|
||||
@JsonProperty("production_countries")
|
||||
private List<ProductionCountry> productionCountries;
|
||||
@JsonProperty("revenue")
|
||||
private long revenue;
|
||||
@JsonProperty("runtime")
|
||||
private int runtime;
|
||||
@JsonProperty("spoken_languages")
|
||||
private List<Language> spokenLanguages;
|
||||
@JsonProperty("tagline")
|
||||
private String tagline;
|
||||
@JsonProperty("vote_average")
|
||||
private float voteAverage;
|
||||
@JsonProperty("vote_count")
|
||||
private int voteCount;
|
||||
@JsonProperty("status")
|
||||
private String status;
|
||||
// AppendToResponse Properties
|
||||
@JsonProperty("alternative_titles")
|
||||
private WrapperAlternativeTitles alternativeTitles;
|
||||
@JsonProperty("casts")
|
||||
private WrapperMovieCasts casts;
|
||||
@JsonProperty("images")
|
||||
private WrapperImages images;
|
||||
@JsonProperty("keywords")
|
||||
private WrapperMovieKeywords keywords;
|
||||
@JsonProperty("releases")
|
||||
private WrapperReleaseInfo releases;
|
||||
@JsonProperty("trailers")
|
||||
private WrapperTrailers trailers;
|
||||
@JsonProperty("translations")
|
||||
private WrapperTranslations translations;
|
||||
@JsonProperty("similar_movies")
|
||||
private WrapperMovie similarMovies;
|
||||
@JsonProperty("reviews")
|
||||
private WrapperReviews reviews;
|
||||
@JsonProperty("lists")
|
||||
private WrapperMovieList lists;
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public String getBackdropPath() {
|
||||
return backdropPath;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getOriginalTitle() {
|
||||
return originalTitle;
|
||||
}
|
||||
|
||||
public float getPopularity() {
|
||||
return popularity;
|
||||
}
|
||||
|
||||
public String getPosterPath() {
|
||||
return posterPath;
|
||||
}
|
||||
|
||||
public String getReleaseDate() {
|
||||
return releaseDate;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public boolean isAdult() {
|
||||
return adult;
|
||||
}
|
||||
|
||||
public Collection getBelongsToCollection() {
|
||||
return belongsToCollection;
|
||||
}
|
||||
|
||||
public long getBudget() {
|
||||
return budget;
|
||||
}
|
||||
|
||||
public List<Genre> getGenres() {
|
||||
return genres;
|
||||
}
|
||||
|
||||
public String getHomepage() {
|
||||
return homepage;
|
||||
}
|
||||
|
||||
public String getImdbID() {
|
||||
return imdbID;
|
||||
}
|
||||
|
||||
public String getOverview() {
|
||||
return overview;
|
||||
}
|
||||
|
||||
public List<ProductionCompany> getProductionCompanies() {
|
||||
return productionCompanies;
|
||||
}
|
||||
|
||||
public List<ProductionCountry> getProductionCountries() {
|
||||
return productionCountries;
|
||||
}
|
||||
|
||||
public long getRevenue() {
|
||||
return revenue;
|
||||
}
|
||||
|
||||
public int getRuntime() {
|
||||
return runtime;
|
||||
}
|
||||
|
||||
public List<Language> getSpokenLanguages() {
|
||||
return spokenLanguages;
|
||||
}
|
||||
|
||||
public String getTagline() {
|
||||
return tagline;
|
||||
}
|
||||
|
||||
public float getVoteAverage() {
|
||||
return voteAverage;
|
||||
}
|
||||
|
||||
public int getVoteCount() {
|
||||
return voteCount;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setBackdropPath(String backdropPath) {
|
||||
this.backdropPath = backdropPath;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setOriginalTitle(String originalTitle) {
|
||||
this.originalTitle = originalTitle;
|
||||
}
|
||||
|
||||
public void setPopularity(float popularity) {
|
||||
this.popularity = popularity;
|
||||
}
|
||||
|
||||
public void setPosterPath(String posterPath) {
|
||||
this.posterPath = posterPath;
|
||||
}
|
||||
|
||||
public void setReleaseDate(String releaseDate) {
|
||||
this.releaseDate = releaseDate;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public void setAdult(boolean adult) {
|
||||
this.adult = adult;
|
||||
}
|
||||
|
||||
public void setBelongsToCollection(Collection belongsToCollection) {
|
||||
this.belongsToCollection = belongsToCollection;
|
||||
}
|
||||
|
||||
public void setBudget(long budget) {
|
||||
this.budget = budget;
|
||||
}
|
||||
|
||||
public void setGenres(List<Genre> genres) {
|
||||
this.genres = genres;
|
||||
}
|
||||
|
||||
public void setHomepage(String homepage) {
|
||||
this.homepage = homepage;
|
||||
}
|
||||
|
||||
public void setImdbID(String imdbID) {
|
||||
this.imdbID = imdbID;
|
||||
}
|
||||
|
||||
public void setOverview(String overview) {
|
||||
this.overview = overview;
|
||||
}
|
||||
|
||||
public void setProductionCompanies(List<ProductionCompany> productionCompanies) {
|
||||
this.productionCompanies = productionCompanies;
|
||||
}
|
||||
|
||||
public void setProductionCountries(List<ProductionCountry> productionCountries) {
|
||||
this.productionCountries = productionCountries;
|
||||
}
|
||||
|
||||
public void setRevenue(long revenue) {
|
||||
this.revenue = revenue;
|
||||
}
|
||||
|
||||
public void setRuntime(int runtime) {
|
||||
this.runtime = runtime;
|
||||
}
|
||||
|
||||
public void setSpokenLanguages(List<Language> spokenLanguages) {
|
||||
this.spokenLanguages = spokenLanguages;
|
||||
}
|
||||
|
||||
public void setTagline(String tagline) {
|
||||
this.tagline = tagline;
|
||||
}
|
||||
|
||||
public void setVoteAverage(float voteAverage) {
|
||||
this.voteAverage = voteAverage;
|
||||
}
|
||||
|
||||
public void setVoteCount(int voteCount) {
|
||||
this.voteCount = voteCount;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
// </editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="AppendToResponse Getters">
|
||||
public List<AlternativeTitle> getAlternativeTitles() {
|
||||
return alternativeTitles.getTitles();
|
||||
}
|
||||
|
||||
public List<PersonCast> getCast() {
|
||||
return casts.getCast();
|
||||
}
|
||||
|
||||
public List<PersonCrew> getCrew() {
|
||||
return casts.getCrew();
|
||||
}
|
||||
|
||||
public List<Artwork> getImages() {
|
||||
return images.getAll();
|
||||
}
|
||||
|
||||
public List<Keyword> getKeywords() {
|
||||
return keywords.getKeywords();
|
||||
}
|
||||
|
||||
public List<ReleaseInfo> getReleases() {
|
||||
return releases.getCountries();
|
||||
}
|
||||
|
||||
public List<Trailer> getTrailers() {
|
||||
return trailers.getAll();
|
||||
}
|
||||
|
||||
public List<Translation> getTranslations() {
|
||||
return translations.getTranslations();
|
||||
}
|
||||
|
||||
public List<MovieDb> getSimilarMovies() {
|
||||
return similarMovies.getMovies();
|
||||
}
|
||||
|
||||
public List<MovieList> getLists() {
|
||||
return lists.getMovieList();
|
||||
}
|
||||
|
||||
public List<Reviews> getReviews() {
|
||||
return reviews.getReviews();
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="AppendToResponse Setters">
|
||||
public void setAlternativeTitles(WrapperAlternativeTitles alternativeTitles) {
|
||||
this.alternativeTitles = alternativeTitles;
|
||||
}
|
||||
|
||||
public void setCasts(WrapperMovieCasts casts) {
|
||||
this.casts = casts;
|
||||
}
|
||||
|
||||
public void setImages(WrapperImages images) {
|
||||
this.images = images;
|
||||
}
|
||||
|
||||
public void setKeywords(WrapperMovieKeywords keywords) {
|
||||
this.keywords = keywords;
|
||||
}
|
||||
|
||||
public void setReleases(WrapperReleaseInfo releases) {
|
||||
this.releases = releases;
|
||||
}
|
||||
|
||||
public void setTrailers(WrapperTrailers trailers) {
|
||||
this.trailers = trailers;
|
||||
}
|
||||
|
||||
public void setTranslations(WrapperTranslations translations) {
|
||||
this.translations = translations;
|
||||
}
|
||||
|
||||
public void setSimilarMovies(WrapperMovie similarMovies) {
|
||||
this.similarMovies = similarMovies;
|
||||
}
|
||||
|
||||
public void setLists(WrapperMovieList lists) {
|
||||
this.lists = lists;
|
||||
}
|
||||
|
||||
public void setReviews(WrapperReviews reviews) {
|
||||
this.reviews = reviews;
|
||||
}
|
||||
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Equals and HashCode">
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final MovieDb other = (MovieDb) obj;
|
||||
if (this.id != other.id) {
|
||||
return false;
|
||||
}
|
||||
if ((this.imdbID == null) ? (other.imdbID != null) : !this.imdbID.equals(other.imdbID)) {
|
||||
return false;
|
||||
}
|
||||
if (this.runtime != other.runtime) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 5;
|
||||
hash = 89 * hash + this.id;
|
||||
hash = 89 * hash + (this.imdbID != null ? this.imdbID.hashCode() : 0);
|
||||
hash = 89 * hash + this.runtime;
|
||||
return hash;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("[MovieDB=");
|
||||
sb.append("[backdropPath=").append(backdropPath);
|
||||
sb.append("],[id=").append(id);
|
||||
sb.append("],[originalTitle=").append(originalTitle);
|
||||
sb.append("],[popularity=").append(popularity);
|
||||
sb.append("],[posterPath=").append(posterPath);
|
||||
sb.append("],[releaseDate=").append(releaseDate);
|
||||
sb.append("],[title=").append(title);
|
||||
sb.append("],[adult=").append(adult);
|
||||
sb.append("],[belongsToCollection=").append(belongsToCollection);
|
||||
sb.append("],[budget=").append(budget);
|
||||
sb.append("],[genres=").append(genres);
|
||||
sb.append("],[homepage=").append(homepage);
|
||||
sb.append("],[imdbID=").append(imdbID);
|
||||
sb.append("],[overview=").append(overview);
|
||||
sb.append("],[productionCompanies=").append(productionCompanies);
|
||||
sb.append("],[productionCountries=").append(productionCountries);
|
||||
sb.append("],[revenue=").append(revenue);
|
||||
sb.append("],[runtime=").append(runtime);
|
||||
sb.append("],[spokenLanguages=").append(spokenLanguages);
|
||||
sb.append("],[tagline=").append(tagline);
|
||||
sb.append("],[voteAverage=").append(voteAverage);
|
||||
sb.append("],[voteCount=").append(voteCount);
|
||||
sb.append("],[status=").append(status);
|
||||
sb.append("]]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class Reviews implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(Reviews.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("id")
|
||||
private String id;
|
||||
@JsonProperty("author")
|
||||
private String author;
|
||||
@JsonProperty("content")
|
||||
private String content;
|
||||
@JsonProperty("url")
|
||||
private String url;
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getAuthor() {
|
||||
return author;
|
||||
}
|
||||
|
||||
public String getContent() {
|
||||
return content;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setAuthor(String author) {
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
public void setContent(String content) {
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
}
|
||||
@@ -1,213 +1,251 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.tools;
|
||||
|
||||
import com.omertron.themoviedbapi.TheMovieDbApi;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* The API URL that is used to construct the API call
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class ApiUrl {
|
||||
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ApiUrl.class);
|
||||
/*
|
||||
* TheMovieDbApi API Base URL
|
||||
*/
|
||||
private static final String TMDB_API_BASE = "http://api.themoviedb.org/3/";
|
||||
/*
|
||||
* Parameter configuration
|
||||
*/
|
||||
private static final String DELIMITER_FIRST = "?";
|
||||
private static final String DELIMITER_SUBSEQUENT = "&";
|
||||
private static final String DEFAULT_STRING = "";
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
private TheMovieDbApi tmdb;
|
||||
private String method;
|
||||
private String submethod;
|
||||
private Map<String, String> arguments = new HashMap<String, String>();
|
||||
/*
|
||||
* API Parameters
|
||||
*/
|
||||
public static final String PARAM_ADULT = "include_adult=";
|
||||
public static final String PARAM_API_KEY = "api_key=";
|
||||
public static final String PARAM_COUNTRY = "country=";
|
||||
public static final String PARAM_FAVORITE = "favorite=";
|
||||
public static final String PARAM_ID = "id=";
|
||||
public static final String PARAM_LANGUAGE = "language=";
|
||||
public static final String PARAM_INCLUDE_ALL_MOVIES = "include_all_movies=";
|
||||
// public static final String PARAM_MOVIE_ID = "movie_id=";
|
||||
public static final String PARAM_MOVIE_WATCHLIST = "movie_watchlist=";
|
||||
public static final String PARAM_PAGE = "page=";
|
||||
public static final String PARAM_QUERY = "query=";
|
||||
public static final String PARAM_SESSION = "session_id=";
|
||||
public static final String PARAM_TOKEN = "request_token=";
|
||||
public static final String PARAM_VALUE = "value=";
|
||||
public static final String PARAM_YEAR = "year=";
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Constructor Methods">
|
||||
/**
|
||||
* Constructor for the simple API URL method without a sub-method
|
||||
*
|
||||
* @param method
|
||||
*/
|
||||
public ApiUrl(TheMovieDbApi tmdb, String method) {
|
||||
this.tmdb = tmdb;
|
||||
this.method = method;
|
||||
this.submethod = DEFAULT_STRING;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for the API URL with a sub-method
|
||||
*
|
||||
* @param method
|
||||
* @param submethod
|
||||
*/
|
||||
public ApiUrl(TheMovieDbApi tmdb, String method, String submethod) {
|
||||
this.tmdb = tmdb;
|
||||
this.method = method;
|
||||
this.submethod = submethod;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Build the URL from the pre-created arguments.
|
||||
*/
|
||||
public URL buildUrl() {
|
||||
StringBuilder urlString = new StringBuilder(TMDB_API_BASE);
|
||||
|
||||
// Get the start of the URL
|
||||
urlString.append(method);
|
||||
|
||||
// We have either a queury, or a direct request
|
||||
if (arguments.containsKey(PARAM_QUERY)) {
|
||||
// Append the suffix of the API URL
|
||||
urlString.append(submethod);
|
||||
|
||||
// Append the key information
|
||||
urlString.append(DELIMITER_FIRST).append(PARAM_API_KEY);
|
||||
urlString.append(tmdb.getApiKey());
|
||||
|
||||
// Append the search term
|
||||
urlString.append(DELIMITER_SUBSEQUENT);
|
||||
urlString.append(PARAM_QUERY);
|
||||
|
||||
String query = arguments.get(PARAM_QUERY);
|
||||
|
||||
try {
|
||||
urlString.append(URLEncoder.encode(query, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException ex) {
|
||||
LOG.trace("Unable to encode query: '" + query + "' trying raw.");
|
||||
// If we can't encode it, try it raw
|
||||
urlString.append(query);
|
||||
}
|
||||
|
||||
arguments.remove(PARAM_QUERY);
|
||||
} else {
|
||||
// Append the ID if provided
|
||||
if (arguments.containsKey(PARAM_ID)) {
|
||||
urlString.append(arguments.get(PARAM_ID));
|
||||
arguments.remove(PARAM_ID);
|
||||
}
|
||||
|
||||
// Append the suffix of the API URL
|
||||
urlString.append(submethod);
|
||||
|
||||
// Append the key information
|
||||
urlString.append(DELIMITER_FIRST).append(PARAM_API_KEY);
|
||||
urlString.append(tmdb.getApiKey());
|
||||
}
|
||||
|
||||
for (Map.Entry<String, String> argEntry : arguments.entrySet()) {
|
||||
urlString.append(DELIMITER_SUBSEQUENT).append(argEntry.getKey());
|
||||
urlString.append(argEntry.getValue());
|
||||
}
|
||||
|
||||
try {
|
||||
LOG.trace("URL: {}", urlString.toString());
|
||||
return new URL(urlString.toString());
|
||||
} catch (MalformedURLException ex) {
|
||||
LOG.warn("Failed to create URL {} - {}", urlString.toString(), ex.toString());
|
||||
return null;
|
||||
} finally {
|
||||
arguments.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, String value) {
|
||||
arguments.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, int value) {
|
||||
arguments.put(key, Integer.toString(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, boolean value) {
|
||||
arguments.put(key, Boolean.toString(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the arguments
|
||||
*/
|
||||
public void clearArguments() {
|
||||
arguments.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the arguments directly
|
||||
*
|
||||
* @param args
|
||||
*/
|
||||
public void setArguments(Map<String, String> args) {
|
||||
arguments.putAll(args);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.tools;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* The API URL that is used to construct the API call
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class ApiUrl {
|
||||
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ApiUrl.class);
|
||||
/*
|
||||
* TheMovieDbApi API Base URL
|
||||
*/
|
||||
private static final String TMDB_API_BASE = "http://api.themoviedb.org/3/";
|
||||
/*
|
||||
* Parameter configuration
|
||||
*/
|
||||
private static final String DELIMITER_FIRST = "?";
|
||||
private static final String DELIMITER_SUBSEQUENT = "&";
|
||||
private static final String DEFAULT_STRING = "";
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
private String apiKey;
|
||||
private String method;
|
||||
private String submethod;
|
||||
private Map<String, String> arguments = new HashMap<String, String>();
|
||||
/*
|
||||
* API Parameters
|
||||
*/
|
||||
public static final String PARAM_ADULT = "include_adult=";
|
||||
public static final String PARAM_API_KEY = "api_key=";
|
||||
public static final String PARAM_COUNTRY = "country=";
|
||||
public static final String PARAM_FAVORITE = "favorite=";
|
||||
public static final String PARAM_ID = "id=";
|
||||
public static final String PARAM_LANGUAGE = "language=";
|
||||
public static final String PARAM_INCLUDE_ALL_MOVIES = "include_all_movies=";
|
||||
public static final String PARAM_MOVIE_WATCHLIST = "movie_watchlist=";
|
||||
public static final String PARAM_PAGE = "page=";
|
||||
public static final String PARAM_QUERY = "query=";
|
||||
public static final String PARAM_SESSION = "session_id=";
|
||||
public static final String PARAM_TOKEN = "request_token=";
|
||||
public static final String PARAM_VALUE = "value=";
|
||||
public static final String PARAM_YEAR = "year=";
|
||||
private static final String APPEND_TO_RESPONSE = "append_to_response=";
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Constructor Methods">
|
||||
/**
|
||||
* Constructor for the simple API URL method without a sub-method
|
||||
*
|
||||
* @param method
|
||||
*/
|
||||
public ApiUrl(String apiKey, String method) {
|
||||
this.apiKey = apiKey;
|
||||
this.method = method;
|
||||
this.submethod = DEFAULT_STRING;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for the API URL with a sub-method
|
||||
*
|
||||
* @param method
|
||||
* @param submethod
|
||||
*/
|
||||
public ApiUrl(String apiKey, String method, String submethod) {
|
||||
this.apiKey = apiKey;
|
||||
this.method = method;
|
||||
this.submethod = submethod;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Build the URL from the pre-created arguments.
|
||||
*/
|
||||
public URL buildUrl() {
|
||||
StringBuilder urlString = new StringBuilder(TMDB_API_BASE);
|
||||
|
||||
// Get the start of the URL
|
||||
urlString.append(method);
|
||||
|
||||
// We have either a queury, or a direct request
|
||||
if (arguments.containsKey(PARAM_QUERY)) {
|
||||
// Append the suffix of the API URL
|
||||
if(StringUtils.endsWith(urlString, "/") && submethod.startsWith("/")) {
|
||||
urlString.deleteCharAt(urlString.length()-1);
|
||||
}
|
||||
urlString.append(submethod);
|
||||
|
||||
// Append the key information
|
||||
urlString.append(DELIMITER_FIRST).append(PARAM_API_KEY);
|
||||
urlString.append(apiKey);
|
||||
|
||||
// Append the search term
|
||||
urlString.append(DELIMITER_SUBSEQUENT);
|
||||
urlString.append(PARAM_QUERY);
|
||||
|
||||
String query = arguments.get(PARAM_QUERY);
|
||||
|
||||
try {
|
||||
urlString.append(URLEncoder.encode(query, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException ex) {
|
||||
LOG.trace("Unable to encode query: '{}' trying raw.", query);
|
||||
// If we can't encode it, try it raw
|
||||
urlString.append(query);
|
||||
}
|
||||
|
||||
// Remove the query from the arguments so it is not added later
|
||||
arguments.remove(PARAM_QUERY);
|
||||
} else {
|
||||
// Append the ID if provided
|
||||
if (arguments.containsKey(PARAM_ID)) {
|
||||
urlString.append(arguments.get(PARAM_ID));
|
||||
arguments.remove(PARAM_ID);
|
||||
}
|
||||
|
||||
// Append the suffix of the API URL
|
||||
if(StringUtils.endsWith(urlString, "/") && submethod.startsWith("/")) {
|
||||
urlString.deleteCharAt(urlString.length()-1);
|
||||
}
|
||||
urlString.append(submethod);
|
||||
|
||||
// Append the key information
|
||||
urlString.append(DELIMITER_FIRST).append(PARAM_API_KEY);
|
||||
urlString.append(apiKey);
|
||||
}
|
||||
|
||||
for (Map.Entry<String, String> argEntry : arguments.entrySet()) {
|
||||
urlString.append(DELIMITER_SUBSEQUENT).append(argEntry.getKey());
|
||||
urlString.append(argEntry.getValue());
|
||||
}
|
||||
|
||||
try {
|
||||
LOG.trace("URL: {}", urlString.toString());
|
||||
return new URL(urlString.toString());
|
||||
} catch (MalformedURLException ex) {
|
||||
LOG.warn("Failed to create URL {} - {}", urlString.toString(), ex.toString());
|
||||
return null;
|
||||
} finally {
|
||||
arguments.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, String value) {
|
||||
arguments.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, int value) {
|
||||
arguments.put(key, Integer.toString(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, boolean value) {
|
||||
arguments.put(key, Boolean.toString(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add arguments individually
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void addArgument(String key, float value) {
|
||||
arguments.put(key, Float.toString(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the arguments
|
||||
*/
|
||||
public void clearArguments() {
|
||||
arguments.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the arguments directly
|
||||
*
|
||||
* @param args
|
||||
*/
|
||||
public void setArguments(Map<String, String> args) {
|
||||
arguments.putAll(args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Append any optional parameters to the URL
|
||||
*
|
||||
* @param appendToResponse
|
||||
*/
|
||||
public void appendToResponse(String[] appendToResponse) {
|
||||
if (appendToResponse.length > 0) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
boolean first = Boolean.TRUE;
|
||||
for (String append : appendToResponse) {
|
||||
if (first) {
|
||||
first = Boolean.FALSE;
|
||||
} else {
|
||||
sb.append(",");
|
||||
}
|
||||
sb.append(append);
|
||||
}
|
||||
addArgument(APPEND_TO_RESPONSE, sb.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,74 +1,122 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.Artwork;
|
||||
import java.util.List;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class WrapperImages extends WrapperBase {
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
|
||||
@JsonProperty("backdrops")
|
||||
private List<Artwork> backdrops;
|
||||
@JsonProperty("posters")
|
||||
private List<Artwork> posters;
|
||||
@JsonProperty("profiles")
|
||||
private List<Artwork> profiles;
|
||||
|
||||
public WrapperImages() {
|
||||
super(LoggerFactory.getLogger(WrapperImages.class));
|
||||
}
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public List<Artwork> getBackdrops() {
|
||||
return backdrops;
|
||||
}
|
||||
|
||||
public List<Artwork> getPosters() {
|
||||
return posters;
|
||||
}
|
||||
|
||||
public List<Artwork> getProfiles() {
|
||||
return profiles;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setBackdrops(List<Artwork> backdrops) {
|
||||
this.backdrops = backdrops;
|
||||
}
|
||||
|
||||
public void setPosters(List<Artwork> posters) {
|
||||
this.posters = posters;
|
||||
}
|
||||
|
||||
public void setProfiles(List<Artwork> profiles) {
|
||||
this.profiles = profiles;
|
||||
}
|
||||
//</editor-fold>
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.Artwork;
|
||||
import com.omertron.themoviedbapi.model.ArtworkType;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class WrapperImages extends WrapperBase {
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
|
||||
@JsonProperty("backdrops")
|
||||
private List<Artwork> backdrops = Collections.EMPTY_LIST;
|
||||
@JsonProperty("posters")
|
||||
private List<Artwork> posters = Collections.EMPTY_LIST;
|
||||
@JsonProperty("profiles")
|
||||
private List<Artwork> profiles = Collections.EMPTY_LIST;
|
||||
|
||||
public WrapperImages() {
|
||||
super(LoggerFactory.getLogger(WrapperImages.class));
|
||||
}
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public List<Artwork> getBackdrops() {
|
||||
return backdrops;
|
||||
}
|
||||
|
||||
public List<Artwork> getPosters() {
|
||||
return posters;
|
||||
}
|
||||
|
||||
public List<Artwork> getProfiles() {
|
||||
return profiles;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setBackdrops(List<Artwork> backdrops) {
|
||||
this.backdrops = backdrops;
|
||||
}
|
||||
|
||||
public void setPosters(List<Artwork> posters) {
|
||||
this.posters = posters;
|
||||
}
|
||||
|
||||
public void setProfiles(List<Artwork> profiles) {
|
||||
this.profiles = profiles;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Return a list of all the artwork with their types.
|
||||
*
|
||||
* Leaving the parameters blank will return all types
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<Artwork> getAll(ArtworkType... artworkList) {
|
||||
List<Artwork> artwork = new ArrayList<Artwork>();
|
||||
List<ArtworkType> types;
|
||||
|
||||
if (artworkList.length > 0) {
|
||||
types = new ArrayList<ArtworkType>(Arrays.asList(artworkList));
|
||||
} else {
|
||||
types = new ArrayList<ArtworkType>(Arrays.asList(ArtworkType.values()));
|
||||
}
|
||||
|
||||
if (types.contains(ArtworkType.POSTER)) {
|
||||
// Add all the posters to the list
|
||||
for (Artwork poster : posters) {
|
||||
poster.setArtworkType(ArtworkType.POSTER);
|
||||
artwork.add(poster);
|
||||
}
|
||||
}
|
||||
|
||||
if (types.contains(ArtworkType.BACKDROP)) {
|
||||
// Add all the backdrops to the list
|
||||
for (Artwork backdrop : backdrops) {
|
||||
backdrop.setArtworkType(ArtworkType.BACKDROP);
|
||||
artwork.add(backdrop);
|
||||
}
|
||||
}
|
||||
|
||||
if (types.contains(ArtworkType.PROFILE)) {
|
||||
// Add all the backdrops to the list
|
||||
for (Artwork backdrop : profiles) {
|
||||
backdrop.setArtworkType(ArtworkType.PROFILE);
|
||||
artwork.add(backdrop);
|
||||
}
|
||||
}
|
||||
|
||||
return artwork;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.AlternativeTitle;
|
||||
import com.omertron.themoviedbapi.model.JobDepartment;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class WrapperJobList {
|
||||
|
||||
// Logger
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WrapperJobList.class);
|
||||
// Properties
|
||||
@JsonProperty("jobs")
|
||||
private List<JobDepartment> jobs;
|
||||
|
||||
public List<JobDepartment> getJobs() {
|
||||
return jobs;
|
||||
}
|
||||
|
||||
public void setJobs(List<JobDepartment> jobs) {
|
||||
this.jobs = jobs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.MovieList;
|
||||
import com.omertron.themoviedbapi.model.Person;
|
||||
import java.util.List;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class WrapperPersonList extends WrapperBase {
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
|
||||
@JsonProperty("results")
|
||||
private List<Person> personList;
|
||||
|
||||
public WrapperPersonList() {
|
||||
super(LoggerFactory.getLogger(WrapperPersonList.class));
|
||||
}
|
||||
|
||||
public List<Person> getPersonList() {
|
||||
return personList;
|
||||
}
|
||||
|
||||
public void setPersonList(List<Person> personList) {
|
||||
this.personList = personList;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.Reviews;
|
||||
import java.util.List;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author stuart.boston
|
||||
*/
|
||||
public class WrapperReviews extends WrapperBase {
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
|
||||
@JsonProperty("results")
|
||||
private List<Reviews> reviews;
|
||||
|
||||
public WrapperReviews() {
|
||||
super(LoggerFactory.getLogger(WrapperReviews.class));
|
||||
}
|
||||
|
||||
public List<Reviews> getReviews() {
|
||||
return reviews;
|
||||
}
|
||||
|
||||
public void setReviews(List<Reviews> reviews) {
|
||||
this.reviews = reviews;
|
||||
}
|
||||
}
|
||||
@@ -1,90 +1,112 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.Trailer;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class WrapperTrailers {
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WrapperTrailers.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("id")
|
||||
private int id;
|
||||
@JsonProperty("quicktime")
|
||||
private List<Trailer> quicktime;
|
||||
@JsonProperty("youtube")
|
||||
private List<Trailer> youtube;
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public List<Trailer> getQuicktime() {
|
||||
return quicktime;
|
||||
}
|
||||
|
||||
public List<Trailer> getYoutube() {
|
||||
return youtube;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setQuicktime(List<Trailer> quicktime) {
|
||||
this.quicktime = quicktime;
|
||||
}
|
||||
|
||||
public void setYoutube(List<Trailer> youtube) {
|
||||
this.youtube = youtube;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2004-2013 Stuart Boston
|
||||
*
|
||||
* This file is part of TheMovieDB API.
|
||||
*
|
||||
* TheMovieDB API is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* TheMovieDB API is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.omertron.themoviedbapi.wrapper;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.omertron.themoviedbapi.model.Trailer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public class WrapperTrailers {
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WrapperTrailers.class);
|
||||
/*
|
||||
* Properties
|
||||
*/
|
||||
@JsonProperty("id")
|
||||
private int id;
|
||||
@JsonProperty("quicktime")
|
||||
private List<Trailer> quicktime;
|
||||
@JsonProperty("youtube")
|
||||
private List<Trailer> youtube;
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Getter methods">
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public List<Trailer> getQuicktime() {
|
||||
return quicktime;
|
||||
}
|
||||
|
||||
public List<Trailer> getYoutube() {
|
||||
return youtube;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Setter methods">
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setQuicktime(List<Trailer> quicktime) {
|
||||
this.quicktime = quicktime;
|
||||
}
|
||||
|
||||
public void setYoutube(List<Trailer> youtube) {
|
||||
this.youtube = youtube;
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/**
|
||||
* Get a combined list of the trailers with their source website
|
||||
* @return
|
||||
*/
|
||||
public List<Trailer> getAll() {
|
||||
List<Trailer> trailers = new ArrayList<Trailer>();
|
||||
|
||||
// Add the trailer to the return list along with it's source
|
||||
for (Trailer trailer : quicktime) {
|
||||
trailer.setWebsite(Trailer.WEBSITE_QUICKTIME);
|
||||
trailers.add(trailer);
|
||||
}
|
||||
// Add the trailer to the return list along with it's source
|
||||
for (Trailer trailer : youtube) {
|
||||
trailer.setWebsite(Trailer.WEBSITE_YOUTUBE);
|
||||
trailers.add(trailer);
|
||||
}
|
||||
|
||||
return trailers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle unknown properties and print a message
|
||||
*
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
@JsonAnySetter
|
||||
public void handleUnknown(String key, Object value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unknown property: '").append(key);
|
||||
sb.append("' value: '").append(value).append("'");
|
||||
LOG.trace(sb.toString());
|
||||
}
|
||||
}
|
||||
|
||||
+36
-36
@@ -1,39 +1,39 @@
|
||||
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
|
||||
<id>bin</id>
|
||||
<formats>
|
||||
<format>${distribution.format}</format>
|
||||
</formats>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
<fileSets>
|
||||
<!-- add version.txt file -->
|
||||
<fileSet>
|
||||
<directory>${project.build.directory}</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>version.txt</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<!-- add readme.txt file -->
|
||||
<fileSet>
|
||||
<directory>${basedir}</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>readme.txt</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<!-- add jar files -->
|
||||
<fileSet>
|
||||
<directory>${project.build.directory}</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>**/*.jar</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
</fileSets>
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
|
||||
<id>bin</id>
|
||||
<formats>
|
||||
<format>${distribution.format}</format>
|
||||
</formats>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
<fileSets>
|
||||
<!-- add version.txt file -->
|
||||
<fileSet>
|
||||
<directory>${project.build.directory}</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>version.txt</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<!-- add readme.txt file -->
|
||||
<fileSet>
|
||||
<directory>${basedir}</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>README.md</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<!-- add jar files -->
|
||||
<fileSet>
|
||||
<directory>${project.build.directory}</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>**/*.jar</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
</fileSets>
|
||||
|
||||
</assembly>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user