use of org.openhab.core.thing.type.ChannelTypeRegistry in project openhab-core by openhab.
the class ThingFactoryHelper method withChannelTypeRegistry.
@SuppressWarnings({ "rawtypes", "unchecked" })
private static <T> T withChannelTypeRegistry(Function<ChannelTypeRegistry, T> consumer) {
BundleContext bundleContext = FrameworkUtil.getBundle(ThingFactoryHelper.class).getBundleContext();
ServiceReference ref = bundleContext.getServiceReference(ChannelTypeRegistry.class.getName());
try {
ChannelTypeRegistry channelTypeRegistry = null;
if (ref != null) {
channelTypeRegistry = (ChannelTypeRegistry) bundleContext.getService(ref);
}
return consumer.apply(channelTypeRegistry);
} finally {
if (ref != null) {
bundleContext.ungetService(ref);
}
}
}
use of org.openhab.core.thing.type.ChannelTypeRegistry in project openhab-core by openhab.
the class SystemWideChannelTypesTest method setUp.
@BeforeEach
public void setUp() {
thingTypeProvider = getService(ThingTypeProvider.class);
assertThat(thingTypeProvider, is(notNullValue()));
channelTypeRegistry = getService(ChannelTypeRegistry.class);
assertThat(channelTypeRegistry, is(notNullValue()));
ChannelTypeProvider provider = getService(ChannelTypeProvider.class, DefaultSystemChannelTypeProvider.class);
assertTrue(provider instanceof DefaultSystemChannelTypeProvider);
systemChannelTypeProvider = provider;
}
use of org.openhab.core.thing.type.ChannelTypeRegistry in project openhab-addons by openhab.
the class AbstractMieleThingHandlerTest method createChannelsForThingHandler.
private List<Channel> createChannelsForThingHandler(ThingTypeUID thingTypeUid, ThingUID thingUid) {
ChannelTypeRegistry channelTypeRegistry = getService(ChannelTypeRegistry.class, ChannelTypeRegistry.class);
assertNotNull(channelTypeRegistry);
ThingTypeRegistry thingTypeRegistry = getService(ThingTypeRegistry.class, ThingTypeRegistry.class);
assertNotNull(thingTypeRegistry);
ThingType thingType = thingTypeRegistry.getThingType(thingTypeUid);
assertNotNull(thingType);
List<ChannelDefinition> channelDefinitions = thingType.getChannelDefinitions();
assertNotNull(channelDefinitions);
List<Channel> channels = new ArrayList<Channel>();
for (ChannelDefinition channelDefinition : channelDefinitions) {
ChannelTypeUID channelTypeUid = channelDefinition.getChannelTypeUID();
assertNotNull(channelTypeUid);
ChannelType channelType = channelTypeRegistry.getChannelType(channelTypeUid);
assertNotNull(channelType);
String acceptedItemType = channelType.getItemType();
assertNotNull(acceptedItemType);
String channelId = channelDefinition.getId();
assertNotNull(channelId);
ChannelUID channelUid = new ChannelUID(thingUid, channelId);
assertNotNull(channelUid);
Channel channel = ChannelBuilder.create(channelUid, acceptedItemType).build();
assertNotNull(channel);
channels.add(channel);
}
return channels;
}
use of org.openhab.core.thing.type.ChannelTypeRegistry in project openhab-addons by openhab.
the class WWNThingHandlerOSGiTest method setUp.
@BeforeEach
public void setUp() throws ItemNotFoundException {
registerService(volatileStorageService);
managedThingProvider = getService(ThingProvider.class, ManagedThingProvider.class);
assertThat("Could not get ManagedThingProvider", managedThingProvider, is(notNullValue()));
thingTypeRegistry = getService(ThingTypeRegistry.class);
assertThat("Could not get ThingTypeRegistry", thingTypeRegistry, is(notNullValue()));
channelTypeRegistry = getService(ChannelTypeRegistry.class);
assertThat("Could not get ChannelTypeRegistry", channelTypeRegistry, is(notNullValue()));
channelGroupTypeRegistry = getService(ChannelGroupTypeRegistry.class);
assertThat("Could not get ChannelGroupTypeRegistry", channelGroupTypeRegistry, is(notNullValue()));
eventPublisher = getService(EventPublisher.class);
assertThat("Could not get EventPublisher", eventPublisher, is(notNullValue()));
itemFactory = getService(ItemFactory.class);
assertThat("Could not get ItemFactory", itemFactory, is(notNullValue()));
itemRegistry = getService(ItemRegistry.class);
assertThat("Could not get ItemRegistry", itemRegistry, is(notNullValue()));
managedItemChannelLinkProvider = getService(ManagedItemChannelLinkProvider.class);
assertThat("Could not get ManagedItemChannelLinkProvider", managedItemChannelLinkProvider, is(notNullValue()));
clientBuilder = getService(ClientBuilder.class);
assertThat("Could not get ClientBuilder", clientBuilder, is(notNullValue()));
eventSourceFactory = getService(SseEventSourceFactory.class);
assertThat("Could not get SseEventSourceFactory", eventSourceFactory, is(notNullValue()));
ComponentContext componentContext = mock(ComponentContext.class);
when(componentContext.getBundleContext()).thenReturn(bundleContext);
nestTestHandlerFactory = new WWNTestHandlerFactory(clientBuilder, eventSourceFactory);
nestTestHandlerFactory.activate(componentContext, Map.of(WWNTestHandlerFactory.REDIRECT_URL_CONFIG_PROPERTY, REDIRECT_URL));
registerService(nestTestHandlerFactory);
nestTestHandlerFactory = getService(ThingHandlerFactory.class, WWNTestHandlerFactory.class);
assertThat("Could not get NestTestHandlerFactory", nestTestHandlerFactory, is(notNullValue()));
bridge = buildBridge();
thing = buildThing(bridge);
bridgeHandler = addThing(bridge, WWNTestAccountHandler.class);
thingHandler = addThing(thing, thingClass);
createAndLinkItems();
assertThatAllItemStatesAreNull();
}
Aggregations