Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.sportradar.unifiedodds.sdk.di.DataProvidersModule Maven / Gradle / Ivy
package com.sportradar.unifiedodds.sdk.di;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.name.Named;
import com.sportradar.uf.sportsapi.datamodel.*;
import com.sportradar.unifiedodds.sdk.SDKInternalConfiguration;
import com.sportradar.unifiedodds.sdk.impl.DataProvider;
import com.sportradar.unifiedodds.sdk.impl.Deserializer;
import com.sportradar.unifiedodds.sdk.impl.LogHttpDataFetcher;
import com.sportradar.unifiedodds.sdk.impl.UnifiedFeedConstants;
/**
* Created on 2019-03-29
*
* @author e.roznik
*/
public class DataProvidersModule extends AbstractModule {
@Override
protected void configure() {
// empty
}
@Provides
@Named("SummaryEndpointDataProvider")
private DataProvider provideSummaryEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
String nodeIdStr = cfg.getSdkNodeId() != null && cfg.getSdkNodeId() != 0
? "?node_id=" + cfg.getSdkNodeId()
: "";
String httpHttps = cfg.getUseApiSsl() ? "https" : "http";
String replaySummary = httpHttps + "://" + UnifiedFeedConstants.PRODUCTION_API_HOST + "/v1/replay/sports/%s/sport_events/%s/summary.xml" + nodeIdStr;
return new DataProvider<>(
cfg.isReplaySession()
? replaySummary
: "/sports/%s/sport_events/%s/summary.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides @Named("FixtureEndpointDataProvider")
private DataProvider provideFixtureEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/sport_events/%s/fixture.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides @Named("FixtureChangeFixtureEndpointDataProvider")
private DataProvider provideFixtureChangeFixtureEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/sport_events/%s/fixture_change_fixture.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideFixtureChangesDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/fixtures/changes.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideAllTournamentsEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/tournaments.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideSportsEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/sports.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideDateScheduleEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/schedules/%s/schedule.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides @Named("TournamentScheduleProvider")
private DataProvider provideTournamentScheduleEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/tournaments/%s/schedule.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider providePlayerProfileEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/players/%s/profile.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideCompetitorProfileEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/competitors/%s/profile.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideSimpleTeamProfileEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/competitors/%s/profile.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideTournamentSeasonsEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/tournaments/%s/seasons.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideMatchTimelineEndpointDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/sport_events/%s/timeline.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideSportCategoriesEndpointProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/sports/%s/sports/%s/categories.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideLotteriesDataProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/wns/sports/%s/lotteries.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideDrawSummaryProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/wns/sports/%s/sport_events/%s/summary.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideDrawFixtureProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/wns/sports/%s/sport_events/%s/fixture.xml",
cfg,
httpDataFetcher,
deserializer
);
}
@Provides
private DataProvider provideLotteryScheduleProvider(SDKInternalConfiguration cfg,
LogHttpDataFetcher httpDataFetcher,
@Named("SportsApiJaxbDeserializer") Deserializer deserializer) {
return new DataProvider<>(
"/wns/sports/%s/lotteries/%s/schedule.xml",
cfg,
httpDataFetcher,
deserializer
);
}
}