]> git.basschouten.com Git - openhab-addons.git/blob
a47b9d9c38b35a5561360d886f59c3e8bff13527
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 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.solarforecast;
14
15 import java.util.HashMap;
16 import java.util.List;
17 import java.util.Map;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.eclipse.jdt.annotation.Nullable;
21 import org.openhab.core.config.core.ConfigDescription;
22 import org.openhab.core.config.core.Configuration;
23 import org.openhab.core.thing.Bridge;
24 import org.openhab.core.thing.Channel;
25 import org.openhab.core.thing.ChannelGroupUID;
26 import org.openhab.core.thing.ChannelUID;
27 import org.openhab.core.thing.Thing;
28 import org.openhab.core.thing.ThingStatusInfo;
29 import org.openhab.core.thing.ThingTypeUID;
30 import org.openhab.core.thing.ThingUID;
31 import org.openhab.core.thing.binding.ThingHandlerCallback;
32 import org.openhab.core.thing.binding.builder.ChannelBuilder;
33 import org.openhab.core.thing.type.ChannelGroupTypeUID;
34 import org.openhab.core.thing.type.ChannelTypeUID;
35 import org.openhab.core.types.Command;
36 import org.openhab.core.types.State;
37 import org.openhab.core.types.TimeSeries;
38 import org.openhab.core.types.TimeSeries.Policy;
39
40 /**
41  * The {@link CallbackMock} is a helper for unit tests to receive callbacks
42  *
43  * @author Bernd Weymann - Initial contribution
44  */
45 @NonNullByDefault
46 public class CallbackMock implements ThingHandlerCallback {
47
48     Map<String, TimeSeries> seriesMap = new HashMap<String, TimeSeries>();
49
50     @Override
51     public void stateUpdated(ChannelUID channelUID, State state) {
52     }
53
54     @Override
55     public void postCommand(ChannelUID channelUID, Command command) {
56     }
57
58     @Override
59     public void sendTimeSeries(ChannelUID channelUID, TimeSeries timeSeries) {
60         seriesMap.put(channelUID.getAsString(), timeSeries);
61     }
62
63     public TimeSeries getTimeSeries(String cuid) {
64         TimeSeries ts = seriesMap.get(cuid);
65         if (ts == null) {
66             ts = new TimeSeries(Policy.REPLACE);
67         }
68         return ts;
69     }
70
71     @Override
72     public void statusUpdated(Thing thing, ThingStatusInfo thingStatus) {
73     }
74
75     @Override
76     public void thingUpdated(Thing thing) {
77     }
78
79     @Override
80     public void validateConfigurationParameters(Thing thing, Map<String, Object> configurationParameters) {
81     }
82
83     @Override
84     public void validateConfigurationParameters(Channel channel, Map<String, Object> configurationParameters) {
85     }
86
87     @Override
88     public @Nullable ConfigDescription getConfigDescription(ChannelTypeUID channelTypeUID) {
89         return null;
90     }
91
92     @Override
93     public @Nullable ConfigDescription getConfigDescription(ThingTypeUID thingTypeUID) {
94         return null;
95     }
96
97     @Override
98     public void configurationUpdated(Thing thing) {
99     }
100
101     @Override
102     public void migrateThingType(Thing thing, ThingTypeUID thingTypeUID, Configuration configuration) {
103     }
104
105     @Override
106     public void channelTriggered(Thing thing, ChannelUID channelUID, String event) {
107     }
108
109     @Override
110     public ChannelBuilder createChannelBuilder(ChannelUID channelUID, ChannelTypeUID channelTypeUID) {
111         return ChannelBuilder.create(channelUID);
112     }
113
114     @Override
115     public ChannelBuilder editChannel(Thing thing, ChannelUID channelUID) {
116         return ChannelBuilder.create(channelUID);
117     }
118
119     @Override
120     public List<ChannelBuilder> createChannelBuilders(ChannelGroupUID channelGroupUID,
121             ChannelGroupTypeUID channelGroupTypeUID) {
122         return List.of();
123     }
124
125     @Override
126     public boolean isChannelLinked(ChannelUID channelUID) {
127         return false;
128     }
129
130     @Override
131     public @Nullable Bridge getBridge(ThingUID bridgeUID) {
132         return null;
133     }
134 }