src/main/java/com/drmilk/nbawrapper/domain/utils/team/TeamScheduleResponse.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "_internal",
    "league"
})
public class TeamScheduleResponse {

    @JsonProperty("_internal")
    private Internal internal;
    @JsonProperty("league")
    private GameContainer league;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("_internal")
    public Internal getInternal() {
        return internal;
    }

    @JsonProperty("_internal")
    public void setInternal(Internal internal) {
        this.internal = internal;
    }

    @JsonProperty("league")
    public GameContainer getLeague() {
        return league;
    }

    @JsonProperty("league")
    public void setLeague(GameContainer league) {
        this.league = league;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/TeamSummaryResponse.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "_internal",
    "league"
})
public class TeamSummaryResponse {

    @JsonProperty("_internal")
    private Internal internal;
    @JsonProperty("league")
    private TeamSummaryContainer league;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("_internal")
    public Internal getInternal() {
        return internal;
    }

    @JsonProperty("_internal")
    public void setInternal(Internal internal) {
        this.internal = internal;
    }

    @JsonProperty("league")
    public TeamSummaryContainer getLeague() {
        return league;
    }

    @JsonProperty("league")
    public void setLeague(TeamSummaryContainer league) {
        this.league = league;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/utils/QueryManager.java
public class QueryManager {

	public static HttpResponse getHttpResponse(String url) throws ClientProtocolException, IOException {
		DefaultHttpClient httpClient = new DefaultHttpClient();
		HttpGet getRequest = new HttpGet(url);
		getRequest.addHeader("accept", "application/json");
		HttpResponse response = httpClient.execute(getRequest);
		if (response.getStatusLine().getStatusCode() != 200) {
			throw new RuntimeException("Failed : HTTP error code : " + response.getStatusLine().getStatusCode());
		}
		return response;
	}
}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/PlayerOverview.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "personId"
})
public class PlayerOverview {

    @JsonProperty("personId")
    private String personId;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("personId")
    public String getPersonId() {
        return personId;
    }

    @JsonProperty("personId")
    public void setPersonId(String personId) {
        this.personId = personId;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/TeamLeadersResponse.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "_internal",
    "league"
})
public class TeamLeadersResponse {

    @JsonProperty("_internal")
    private Internal internal;
    @JsonProperty("league")
    private TeamLeadersContainer league;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("_internal")
    public Internal getInternal() {
        return internal;
    }

    @JsonProperty("_internal")
    public void setInternal(Internal internal) {
        this.internal = internal;
    }

    @JsonProperty("league")
    public TeamLeadersContainer getLeague() {
        return league;
    }

    @JsonProperty("league")
    public void setLeague(TeamLeadersContainer league) {
        this.league = league;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/Game.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "seasonStageId",
    "gameId",
    "statusNum",
    "extendedStatusNum",
    "startTimeUTC",
    "startDateEastern",
    "isHomeTeam",
    "nugget",
    "vTeam",
    "hTeam"
})
public class Game {

    @JsonProperty("seasonStageId")
    private Integer seasonStageId;
    @JsonProperty("gameId")
    private String gameId;
    @JsonProperty("statusNum")
    private Integer statusNum;
    @JsonProperty("extendedStatusNum")
    private Integer extendedStatusNum;
    @JsonProperty("startTimeUTC")
    private String startTimeUTC;
    @JsonProperty("startDateEastern")
    private String startDateEastern;
    @JsonProperty("isHomeTeam")
    private Boolean isHomeTeam;
    @JsonProperty("nugget")
    private Nugget nugget;
    @JsonProperty("vTeam")
    private TeamScore visitingTeamScore;
    @JsonProperty("hTeam")
    private TeamScore homeTeamScore;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("seasonStageId")
    public Integer getSeasonStageId() {
        return seasonStageId;
    }

    @JsonProperty("seasonStageId")
    public void setSeasonStageId(Integer seasonStageId) {
        this.seasonStageId = seasonStageId;
    }

    @JsonProperty("gameId")
    public String getGameId() {
        return gameId;
    }

    @JsonProperty("gameId")
    public void setGameId(String gameId) {
        this.gameId = gameId;
    }

    @JsonProperty("statusNum")
    public Integer getStatusNum() {
        return statusNum;
    }

    @JsonProperty("statusNum")
    public void setStatusNum(Integer statusNum) {
        this.statusNum = statusNum;
    }

    @JsonProperty("extendedStatusNum")
    public Integer getExtendedStatusNum() {
        return extendedStatusNum;
    }

    @JsonProperty("extendedStatusNum")
    public void setExtendedStatusNum(Integer extendedStatusNum) {
        this.extendedStatusNum = extendedStatusNum;
    }

    @JsonProperty("startTimeUTC")
    public String getStartTimeUTC() {
        return startTimeUTC;
    }

    @JsonProperty("startTimeUTC")
    public void setStartTimeUTC(String startTimeUTC) {
        this.startTimeUTC = startTimeUTC;
    }

    @JsonProperty("startDateEastern")
    public String getStartDateEastern() {
        return startDateEastern;
    }

    @JsonProperty("startDateEastern")
    public void setStartDateEastern(String startDateEastern) {
        this.startDateEastern = startDateEastern;
    }

    @JsonProperty("isHomeTeam")
    public Boolean getIsHomeTeam() {
        return isHomeTeam;
    }

    @JsonProperty("isHomeTeam")
    public void setIsHomeTeam(Boolean isHomeTeam) {
        this.isHomeTeam = isHomeTeam;
    }

    @JsonProperty("nugget")
    public Nugget getNugget() {
        return nugget;
    }

    @JsonProperty("nugget")
    public void setNugget(Nugget nugget) {
        this.nugget = nugget;
    }

    @JsonProperty("vTeam")
    public TeamScore getVisitingTeamScore() {
        return visitingTeamScore;
    }

    @JsonProperty("vTeam")
    public void setVisitingTeamScore(TeamScore vTeam) {
        this.visitingTeamScore = vTeam;
    }

    @JsonProperty("hTeam")
    public TeamScore getHomeTeamScore() {
        return homeTeamScore;
    }

    @JsonProperty("hTeam")
    public void setHomeTeamScore(TeamScore hTeam) {
        this.homeTeamScore = hTeam;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/TeamLeaders.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "seasonStageId",
    "ppg",
    "trpg",
    "apg",
    "fgp",
    "tpp",
    "ftp",
    "bpg",
    "spg",
    "tpg",
    "pfpg"
})
public class TeamLeaders {

    @JsonProperty("seasonStageId")
    private Integer seasonStageId;
    @JsonProperty("ppg")
    private List<Leader> pointsPG = null;
    @JsonProperty("trpg")
    private List<Leader> totalReboundsPG = null;
    @JsonProperty("apg")
    private List<Leader> assistsPG = null;
    @JsonProperty("fgp")
    private List<Leader> fieldGoalPercentage = null;
    @JsonProperty("tpp")
    private List<Leader> threePointPercentage = null;
    @JsonProperty("ftp")
    private List<Leader> freeThrowPercentage = null;
    @JsonProperty("bpg")
    private List<Leader> blocksPG = null;
    @JsonProperty("spg")
    private List<Leader> stealsPG = null;
    @JsonProperty("tpg")
    private List<Leader> turnoversPG = null;
    @JsonProperty("pfpg")
    private List<Leader> personalFoulPG = null;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("seasonStageId")
    public Integer getSeasonStageId() {
        return seasonStageId;
    }

    @JsonProperty("seasonStageId")
    public void setSeasonStageId(Integer seasonStageId) {
        this.seasonStageId = seasonStageId;
    }

    @JsonProperty("ppg")
    public List<Leader> getPointsPG() {
        return pointsPG;
    }

    @JsonProperty("ppg")
    public void setPointsPG(List<Leader> ppg) {
        this.pointsPG = ppg;
    }

    @JsonProperty("trpg")
    public List<Leader> getTotalReboundsPG() {
        return totalReboundsPG;
    }

    @JsonProperty("trpg")
    public void setTotalReboundsPG(List<Leader> trpg) {
        this.totalReboundsPG = trpg;
    }

    @JsonProperty("apg")
    public List<Leader> getAssistsPG() {
        return assistsPG;
    }

    @JsonProperty("apg")
    public void setAssistsPG(List<Leader> apg) {
        this.assistsPG = apg;
    }

    @JsonProperty("fgp")
    public List<Leader> getFieldGoalPercentage() {
        return fieldGoalPercentage;
    }

    @JsonProperty("fgp")
    public void setFieldGoalPercentage(List<Leader> fgp) {
        this.fieldGoalPercentage = fgp;
    }

    @JsonProperty("tpp")
    public List<Leader> getThreePointPercentage() {
        return threePointPercentage;
    }

    @JsonProperty("tpp")
    public void setThreePointPercentage(List<Leader> tpp) {
        this.threePointPercentage = tpp;
    }

    @JsonProperty("ftp")
    public List<Leader> getFreeThrowPercentage() {
        return freeThrowPercentage;
    }

    @JsonProperty("ftp")
    public void setFreeThrowPercentage(List<Leader> ftp) {
        this.freeThrowPercentage = ftp;
    }

    @JsonProperty("bpg")
    public List<Leader> getBlocksPG() {
        return blocksPG;
    }

    @JsonProperty("bpg")
    public void setBlocksPG(List<Leader> bpg) {
        this.blocksPG = bpg;
    }

    @JsonProperty("spg")
    public List<Leader> getStealsPG() {
        return stealsPG;
    }

    @JsonProperty("spg")
    public void setStealsPG(List<Leader> spg) {
        this.stealsPG = spg;
    }

    @JsonProperty("tpg")
    public List<Leader> getTurnoversPG() {
        return turnoversPG;
    }

    @JsonProperty("tpg")
    public void setTurnoversPG(List<Leader> tpg) {
        this.turnoversPG = tpg;
    }

    @JsonProperty("pfpg")
    public List<Leader> getPersonalFoulPG() {
        return personalFoulPG;
    }

    @JsonProperty("pfpg")
    public void setPersonalFoulPG(List<Leader> pfpg) {
        this.personalFoulPG = pfpg;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/TeamRosterResponse.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "_internal",
    "league"
})
public class TeamRosterResponse {

    @JsonProperty("_internal")
    private Internal internal;
    @JsonProperty("league")
    private RosterContainer league;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("_internal")
    public Internal getInternal() {
        return internal;
    }

    @JsonProperty("_internal")
    public void setInternal(Internal internal) {
        this.internal = internal;
    }

    @JsonProperty("league")
    public RosterContainer getLeague() {
        return league;
    }

    @JsonProperty("league")
    public void setLeague(RosterContainer league) {
        this.league = league;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/domain/utils/team/TeamSummary.java
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "isNBAFranchise",
    "isAllStar",
    "city",
    "altcityName",
    "fullName",
    "tricode",
    "teamId",
    "nickname",
    "urlName",
    "confName",
    "divName"
})
public class TeamSummary {

    @JsonProperty("isNBAFranchise")
    private Boolean isNBAFranchise;
    @JsonProperty("isAllStar")
    private Boolean isAllStar;
    @JsonProperty("city")
    private String city;
    @JsonProperty("altcityName")
    private String altcityName;
    @JsonProperty("fullName")
    private String fullName;
    @JsonProperty("tricode")
    private String tricode;
    @JsonProperty("teamId")
    private String teamId;
    @JsonProperty("nickname")
    private String nickname;
    @JsonProperty("urlName")
    private String urlName;
    @JsonProperty("confName")
    private String confName;
    @JsonProperty("divName")
    private String divName;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("isNBAFranchise")
    public Boolean getIsNBAFranchise() {
        return isNBAFranchise;
    }

    @JsonProperty("isNBAFranchise")
    public void setIsNBAFranchise(Boolean isNBAFranchise) {
        this.isNBAFranchise = isNBAFranchise;
    }

    @JsonProperty("isAllStar")
    public Boolean getIsAllStar() {
        return isAllStar;
    }

    @JsonProperty("isAllStar")
    public void setIsAllStar(Boolean isAllStar) {
        this.isAllStar = isAllStar;
    }

    @JsonProperty("city")
    public String getCity() {
        return city;
    }

    @JsonProperty("city")
    public void setCity(String city) {
        this.city = city;
    }

    @JsonProperty("altcityName")
    public String getAltcityName() {
        return altcityName;
    }

    @JsonProperty("altcityName")
    public void setAltcityName(String altcityName) {
        this.altcityName = altcityName;
    }

    @JsonProperty("fullName")
    public String getFullName() {
        return fullName;
    }

    @JsonProperty("fullName")
    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    @JsonProperty("tricode")
    public String getTricode() {
        return tricode;
    }

    @JsonProperty("tricode")
    public void setTricode(String tricode) {
        this.tricode = tricode;
    }

    @JsonProperty("teamId")
    public String getTeamId() {
        return teamId;
    }

    @JsonProperty("teamId")
    public void setTeamId(String teamId) {
        this.teamId = teamId;
    }

    @JsonProperty("nickname")
    public String getNickname() {
        return nickname;
    }

    @JsonProperty("nickname")
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    @JsonProperty("urlName")
    public String getUrlName() {
        return urlName;
    }

    @JsonProperty("urlName")
    public void setUrlName(String urlName) {
        this.urlName = urlName;
    }

    @JsonProperty("confName")
    public String getConfName() {
        return confName;
    }

    @JsonProperty("confName")
    public void setConfName(String confName) {
        this.confName = confName;
    }

    @JsonProperty("divName")
    public String getDivName() {
        return divName;
    }

    @JsonProperty("divName")
    public void setDivName(String divName) {
        this.divName = divName;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
src/main/java/com/drmilk/nbawrapper/config/AppConfig.java
@Configuration
@ComponentScan("com.drmilk.nbawrapper")
public class AppConfig {

	@Bean
	public String currentSeason() {
		Calendar now = Calendar.getInstance();
		Integer year = now.get(Calendar.YEAR);
		Integer month = now.get(Calendar.MONTH);
		if (month >= Calendar.SEPTEMBER) {
			return year.toString();
		} else {
			year--;
			return year.toString();
		}
	}

	@Bean
	public String sourceBaseUrl() {
		return "http://data.nba.net/data/10s/prod/v1";
	}
	
	@Bean
	public ObjectMapper objectMapper() {
		return new ObjectMapper();
	}

}
src/main/java/com/drmilk/nbawrapper/exception/TeamNotFoundException.java
public class TeamNotFoundException extends Exception {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3602276931645781539L;

	public TeamNotFoundException(String message) {
		super(message);
	}
}


Question: package com.drmilk.nbawrapper.domain;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import com.drmilk.nbawrapper.config.AppConfig;
import com.drmilk.nbawrapper.domain.utils.team.Game;
import com.drmilk.nbawrapper.domain.utils.team.PlayerOverview;
import com.drmilk.nbawrapper.domain.utils.team.TeamLeaders;
import com.drmilk.nbawrapper.domain.utils.team.TeamLeadersResponse;
import com.drmilk.nbawrapper.domain.utils.team.TeamRosterResponse;
import com.drmilk.nbawrapper.domain.utils.team.TeamScheduleResponse;
import com.drmilk.nbawrapper.domain.utils.team.TeamSummary;
import com.drmilk.nbawrapper.domain.utils.team.TeamSummaryResponse;
import com.drmilk.nbawrapper.exception.TeamNotFoundException;
import com.drmilk.nbawrapper.utils.QueryManager;
import com.fasterxml.jackson.databind.ObjectMapper;
import info.debatty.java.stringsimilarity.Cosine;





/**
 * Object representation of a NBA team.
 * 
 * @author Antoine Guay
 */
public class Team {
	
	private static AbstractApplicationContext  context = new AnnotationConfigApplicationContext(AppConfig.class);
	
	private static ObjectMapper objectMapper = (ObjectMapper) context.getBean("objectMapper");
	
	private static String currentSeason = (String) context.getBean("currentSeason");

	private static String sourceBaseUrl = (String) context.getBean("sourceBaseUrl");
	
	public final static String LOGO_BASE_URL = "http://i.cdn.turner.com/nba/nba/assets/logos/teams/secondary/web/";
	
	public final static String LOGO_END_URL = ".svg";

	private TeamSummary teamSummary;
	private List<String> roster;
Answer: 	private TeamLeaders teamLeaders;