package org.fluxtream.core.domain; import java.util.List; import org.fluxtream.core.TimeInterval; import org.fluxtream.core.connectors.ObjectType; import org.fluxtream.core.services.ApiDataService; import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * @author Chris Bartley (bartley@cmu.edu) */ @Component public class DefaultPhotoFacetFinderStrategy implements PhotoFacetFinderStrategy { @Autowired private ApiDataService apiDataService; @Override public List<AbstractFacet> findAll(final ApiKey apiKey, final ObjectType objectType, TimeInterval timeInterval) { return apiDataService.getApiDataFacets(apiKey, objectType, timeInterval, null); } @Override public List<AbstractFacet> findBefore(final ApiKey apiKey, final ObjectType objectType, final long timeInMillis, final int desiredCount) { return apiDataService.getApiDataFacetsBefore(apiKey, objectType, timeInMillis, desiredCount); } @Override public List<AbstractFacet> findAfter(final ApiKey apiKey, final ObjectType objectType, final long timeInMillis, final int desiredCount) { return apiDataService.getApiDataFacetsAfter(apiKey, objectType, timeInMillis, desiredCount); } @Override public List<AbstractFacet> findAll(final ApiKey apiKey, final ObjectType objectType, final TimeInterval timeInterval, @Nullable final TagFilter tagFilter) { return apiDataService.getApiDataFacets(apiKey, objectType, timeInterval, tagFilter, null); } @Override public List<AbstractFacet> findBefore(final ApiKey apiKey, final ObjectType objectType, final long timeInMillis, final int desiredCount, @Nullable final TagFilter tagFilter) { return apiDataService.getApiDataFacetsBefore(apiKey, objectType, timeInMillis, desiredCount, tagFilter); } @Override public List<AbstractFacet> findAfter(final ApiKey apiKey, final ObjectType objectType, final long timeInMillis, final int desiredCount, @Nullable final TagFilter tagFilter) { return apiDataService.getApiDataFacetsAfter(apiKey, objectType, timeInMillis, desiredCount, tagFilter); } @Override public AbstractFacet findOldest(final ApiKey apiKey, final ObjectType objectType) { return apiDataService.getOldestApiDataFacet(apiKey, objectType); } @Override public AbstractFacet findLatest(final ApiKey apiKey, final ObjectType objectType) { return apiDataService.getLatestApiDataFacet(apiKey, objectType); } }