org.openhab.binding.netatmo.internal.messages.MeasurementRequestStub.java Source code

Java tutorial

Introduction

Here is the source code for org.openhab.binding.netatmo.internal.messages.MeasurementRequestStub.java

Source

/**
 * Copyright (c) 2010-2015, openHAB.org and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 */
package org.openhab.binding.netatmo.internal.messages;

import static com.google.common.base.Charsets.UTF_8;

import java.io.IOException;
import java.net.URL;

import com.google.common.io.Resources;

/**
 * @author Andreas Brenk
 * @author Rob Nielsen
 * @since 1.4.0
 */
public class MeasurementRequestStub extends MeasurementRequest {

    protected static final String ACCESS_TOKEN = "000000000000000000000000|11111111111111111111111111111111";

    protected static final String DEVICE_ID = "70:ee:50:00:02:20";

    protected static final String MODULE_ID = "02:00:00:00:02:a0";

    public static MeasurementRequestStub createRequest(final String resource) throws Exception {
        return new MeasurementRequestStub(resource);
    }

    private final String response;

    private String content;

    private MeasurementRequestStub(final String response) throws Exception {
        super(ACCESS_TOKEN, DEVICE_ID, MODULE_ID);

        final URL resource = getClass().getResource(response);

        if (resource == null) {
            throw new IOException("Resource '" + response + "' not found!");
        }

        this.response = Resources.toString(resource, UTF_8);

    }

    public String getContent() {
        return this.content;
    }

    @Override
    protected String executeQuery(final String content) {
        this.content = content;

        return this.response;
    }

}