]> git.basschouten.com Git - openhab-addons.git/blob
6c6ec9c458aba484215ab151b3ff556ccbd65464
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.mielecloud.internal.webservice;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.mielecloud.internal.webservice.api.json.ProcessAction;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
19
20 /**
21  * Implementation of {@link MieleWebservice} that serves as a replacement when no webservice is available.
22  *
23  * @author Björn Lange - Initial Contribution
24  */
25 @NonNullByDefault
26 public final class UnavailableMieleWebservice implements MieleWebservice {
27     public static final UnavailableMieleWebservice INSTANCE = new UnavailableMieleWebservice();
28
29     private final Logger logger = LoggerFactory.getLogger(this.getClass());
30
31     private UnavailableMieleWebservice() {
32     }
33
34     @Override
35     public void setAccessToken(String accessToken) {
36         logger.warn("Cannot set access token: The Miele cloud service is not available.");
37     }
38
39     @Override
40     public boolean hasAccessToken() {
41         logger.warn("There is no access token: The Miele cloud service is not available.");
42         return false;
43     }
44
45     @Override
46     public void connectSse() {
47         logger.warn("Cannot connect to SSE stream: The Miele cloud service is not available.");
48     }
49
50     @Override
51     public void disconnectSse() {
52         logger.warn("Cannot disconnect from SSE stream: The Miele cloud service is not available.");
53     }
54
55     @Override
56     public void fetchActions(String deviceId) {
57         logger.warn("Cannot fetch actions for device '{}': The Miele cloud service is not available.", deviceId);
58     }
59
60     @Override
61     public void putProcessAction(String deviceId, ProcessAction processAction) {
62         logger.warn("Cannot perform '{}' operation for device '{}': The Miele cloud service is not available.",
63                 processAction, deviceId);
64     }
65
66     @Override
67     public void putLight(String deviceId, boolean enabled) {
68         logger.warn("Cannot set light state to '{}' for device '{}': The Miele cloud service is not available.",
69                 enabled ? "ON" : "OFF", deviceId);
70     }
71
72     @Override
73     public void putPowerState(String deviceId, boolean enabled) {
74         logger.warn("Cannot set power state to '{}' for device '{}': The Miele cloud service is not available.",
75                 enabled ? "ON" : "OFF", deviceId);
76     }
77
78     @Override
79     public void putProgram(String deviceId, long programId) {
80         logger.warn("Cannot activate program with ID '{}' for device '{}': The Miele cloud service is not available.",
81                 programId, deviceId);
82     }
83
84     @Override
85     public void logout() {
86         logger.warn("Cannot logout: The Miele cloud service is not available.");
87     }
88
89     @Override
90     public void dispatchDeviceState(String deviceIdentifier) {
91         logger.warn("Cannot re-emit device state for device '{}': The Miele cloud service is not available.",
92                 deviceIdentifier);
93     }
94
95     @Override
96     public void addDeviceStateListener(DeviceStateListener listener) {
97         logger.warn("Cannot add listener for all devices: The Miele cloud service is not available.");
98     }
99
100     @Override
101     public void removeDeviceStateListener(DeviceStateListener listener) {
102         logger.warn("Cannot remove listener: The Miele cloud service is not available.");
103     }
104
105     @Override
106     public void addConnectionStatusListener(ConnectionStatusListener listener) {
107         logger.warn("Cannot add connection error listener: The Miele cloud service is not available.");
108     }
109
110     @Override
111     public void removeConnectionStatusListener(ConnectionStatusListener listener) {
112         logger.warn("Cannot remove listener: The Miele cloud service is not available.");
113     }
114
115     @Override
116     public void close() throws Exception {
117     }
118 }