package com.azimo.tool.task.provider; import com.azimo.tool.firebase.FirebaseServiceManager; import com.azimo.tool.firebase.collection.CreatedIssueCollection; import com.azimo.tool.publisher.AndroidPublisherReviewsService; import com.azimo.tool.publisher.collection.ReviewCollection; import com.azimo.tool.publisher.model.AppReview; import com.azimo.tool.task.interfaces.Provider; /** * Created by F1sherKK on 27/01/17. */ public class UncreatedIssuesProvider implements Provider<ReviewCollection> { private AndroidPublisherReviewsService publisherReviewsService; private FirebaseServiceManager firebaseIssueServiceManager; public UncreatedIssuesProvider(AndroidPublisherReviewsService publisherReviewsService, FirebaseServiceManager firebaseIssueServiceManager) { this.publisherReviewsService = publisherReviewsService; this.firebaseIssueServiceManager = firebaseIssueServiceManager; } @Override public ReviewCollection fetch() throws Exception { ReviewCollection reviews = publisherReviewsService.getReviews(AndroidPublisherReviewsService.MAX_REVIEWS); CreatedIssueCollection createdIssues = firebaseIssueServiceManager.getCreatedIssues(); ReviewCollection reviewsWithoutIssuesCreated = new ReviewCollection(); for (AppReview review : reviews) { if (!createdIssues.containsReviewId(review.getReviewId())) { reviewsWithoutIssuesCreated.add(review); } } return reviewsWithoutIssuesCreated; } }