All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.relayr.java.api.mock.MockPublishersApi Maven / Gradle / Ivy

package io.relayr.java.api.mock;

import com.google.gson.reflect.TypeToken;

import java.util.List;

import javax.inject.Inject;

import io.relayr.java.api.PublishersApi;
import io.relayr.java.model.Publisher;
import rx.Observable;
import rx.functions.Func1;

public class MockPublishersApi implements PublishersApi {

    private final MockBackend mServer;

    @Inject
    public MockPublishersApi(MockBackend mockBackend) {
        mServer = mockBackend;
    }

    @Override public Observable> getAllPublishers() {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.PUBLISHERS);
    }

    @Override public Observable> getUserPublishers(String userId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.PUBLISHERS);
    }

    @Override public Observable getPublisher(final String publisherId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.PUBLISHERS)
                .flatMap(new Func1, Observable>() {
                    @Override public Observable call(List publishers) {
                        return Observable.just(publishers.get(0));
                    }
                });
    }

    @Override public Observable updatePublisher(Publisher publisher) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.PUBLISHERS)
                .flatMap(new Func1, Observable>() {
                    @Override public Observable call(List publishers) {
                        return Observable.just(publishers.get(0));
                    }
                });
    }

    @Override public Observable deletePublisher(String publisherId) {
        return Observable.empty();
    }

    @Override public Observable createPublisher(Publisher publisher) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.PUBLISHERS)
                .flatMap(new Func1, Observable>() {
                    @Override public Observable call(List publishers) {
                        return Observable.just(publishers.get(0));
                    }
                });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy