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

io.relayr.java.api.mock.MockProjectsApi 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.ProjectsApi;
import io.relayr.java.model.projects.App;
import io.relayr.java.model.projects.ExtendedApp;
import retrofit.http.Body;
import retrofit.http.Path;
import rx.Observable;
import rx.functions.Func1;

public class MockProjectsApi implements ProjectsApi {

    private final MockBackend mServer;

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

    @Override
    public Observable getAppInfo() {
        return mServer.createObservable(new TypeToken() {
        }, MockBackend.APP_INFO);
    }

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

    @Override public Observable createApp(final ExtendedApp app) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.APP_EXTENDED).flatMap(new Func1, Observable>() {
            @Override public Observable call(List apps) {
                return Observable.just(apps.get(0));
            }
        });
    }

    @Override public Observable updateApp(String appId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.APP_EXTENDED).flatMap(new Func1, Observable>() {
            @Override public Observable call(List apps) {
                return Observable.just(apps.get(0));
            }
        });
    }

    @Override public Observable deleteApp(String appId) {
        return Observable.empty();
    }

    @Override public Observable getApp(String appId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.APP_EXTENDED).flatMap(new Func1, Observable>() {
            @Override public Observable call(List apps) {
                return Observable.just(apps.get(0));
            }
        });
    }

    @Override public Observable> getPublisherApps(String publisherId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.APP_LIST);
    }

    @Override
    public Observable> getPublisherExtendedApps(String publisherId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.APP_EXTENDED);
    }

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

    @Override
    public Observable updateUserApp(String userId, String appId, ExtendedApp app) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.APP_EXTENDED).flatMap(new Func1, Observable>() {
            @Override public Observable call(List apps) {
                return Observable.just(apps.get(0));
            }
        });
    }

    @Override
    public Observable getUserApp(String userId, String appId) {
        return mServer.createObservable(new TypeToken() {
        }, MockBackend.APP_EXTENDED);
    }

    @Override
    public Observable deleteUserApp(String userId, String appId) {
        return Observable.empty();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy