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

io.relayr.java.api.mock.MockDeviceApi 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.DeviceApi;
import io.relayr.java.model.CreateDevice;
import io.relayr.java.model.Device;
import io.relayr.java.model.action.Command;
import io.relayr.java.model.action.Configuration;
import io.relayr.java.model.device.laststate.LastCommands;
import io.relayr.java.model.device.laststate.LastConfigurations;
import io.relayr.java.model.device.laststate.LastReadings;
import io.relayr.java.model.json.JsonListResponse;
import io.relayr.java.model.state.State;
import io.relayr.java.model.state.StateCommands;
import io.relayr.java.model.state.StateConfigurations;
import io.relayr.java.model.state.StateMetadata;
import io.relayr.java.model.state.StateReadings;
import retrofit.client.Response;
import retrofit.http.Path;
import retrofit.http.Query;
import rx.Observable;
import rx.Subscriber;

import static io.relayr.java.api.mock.MockBackend.DEVICE_STATE;
import static io.relayr.java.api.mock.MockBackend.DEVICE_STATE_METADATA;
import static io.relayr.java.api.mock.MockBackend.DEVICE_STATE_READINGS;
import static io.relayr.java.api.mock.MockBackend.PUBLIC_DEVICES;
import static io.relayr.java.api.mock.MockBackend.USER_DEVICE;
import static io.relayr.java.api.mock.MockBackend.USER_DEVICES_FILTERED;

public class MockDeviceApi implements DeviceApi {

    private final MockBackend backend;

    Observable emptyObservable = Observable.create(new Observable.OnSubscribe() {
        @Override
        public void call(Subscriber subscriber) {
            subscriber.onNext(null);
        }
    });

    @Inject public MockDeviceApi(MockBackend mockBackend) {
        backend = mockBackend;
    }

    @Override public Observable getDevice(String deviceId) {
        return backend.createObservable(new TypeToken() {
        }, USER_DEVICE);
    }

    @Override
    public Observable> getAllDevices(Integer pageNumber, Integer pageSize, String deviceIds,
                                                              String modelId, String firmwareVersion,
                                                              String deviceName, String deviceDescription) {
        return backend.createObservable(new TypeToken>() {
        }, USER_DEVICES_FILTERED);
    }

    @Override
    public Observable createDevice(CreateDevice device) {
        return backend.createObservable(new TypeToken() {
        }, USER_DEVICE);
    }

    @Override
    public Observable updateDevice(String deviceId, Device device) {
        return Observable.just(device);
    }

    @Override
    public Observable deleteDevice(String deviceId) {
        return emptyObservable;
    }

    @Override
    public Observable checkDevicePermission(String deviceId, String action) {
        return emptyObservable;
    }

    @Override
    public Observable> getPublicDevices(String meaning) {
        return backend.createObservable(new TypeToken>() {
        }, PUBLIC_DEVICES);
    }

    @Override
    public Observable sendCommand(String deviceId, Command command) {
        return emptyObservable;
    }

    @Override
    public Observable sendConfiguration(String deviceId, Configuration configuration) {
        return emptyObservable;
    }

    @Override
    public Observable setMetadata(String deviceId, String key, Object metadata) {
        return emptyObservable;
    }

    @Override public Observable getState(String deviceId) {
        return backend.createObservable(new TypeToken() {
        }, DEVICE_STATE);
    }

    @Override
    public Observable getMetadata(String deviceId, String name) {
        return backend.createObservable(new TypeToken() {
        }, DEVICE_STATE_METADATA);
    }

    @Override public Observable deleteMetadata(String deviceId, String key) {
        return emptyObservable;
    }

    @Override
    public Observable getReadings(String deviceId, String path, String meaning) {
        return backend.createObservable(new TypeToken() {
        }, DEVICE_STATE_READINGS);
    }

    @Override
    public Observable> getLastReadings(String deviceId, String deviceIds, String path, String meaning) {
        return emptyObservable;
    }

    @Override
    public Observable getCommands(String deviceId, String path, String name) {
        return emptyObservable;
    }

    @Override
    public Observable> getLastCommands(String deviceId, String deviceIds, String path, String name) {
        return emptyObservable;
    }

    @Override
    public Observable getConfigurations(String deviceId, String path, String name) {
        return emptyObservable;
    }

    @Override
    public Observable> getLastConfigurations(String deviceId, String path, String name) {
        return emptyObservable;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy