private @Nullable ConfigDescription createParamConfigDescription(MetadataConfigDescriptionProvider provider, String value, @Nullable Locale locale) { String namespace = provider.getNamespace(); URI uri = URI.create(SCHEME + SEPARATOR + namespace + SEPARATOR + value); List<ConfigDescriptionParameter> parameters = provider.getParameters(value, locale); if (parameters == null || parameters.isEmpty()) { return null; } return new ConfigDescription(uri, parameters); }
private List<ConfigDescriptionParameter> getLocalizedConfigDescriptionParameters( List<ConfigDescriptionParameter> parameters, String prefix, String uid, Bundle bundle, Locale locale) { URI uri = null; try { uri = new URI(prefix + ":" + uid + ".name"); } catch (URISyntaxException e) { logger.error("Constructed invalid uri '{}:{}.name'", prefix, uid, e); } ConfigDescription configDescription = new ConfigDescription(uri, parameters); return localizationService.getLocalizedConfigDescription(bundle, configDescription, locale).getParameters(); }
@Override public ConfigDescription getConfigDescription(URI uri, Locale locale) { if (configDescription != null && configDescription.getUID().equals(uri)) { return configDescription; } if ("channel".equals(uri.getScheme()) == false) { return null; } ChannelUID channelUID = new ChannelUID(uri.getSchemeSpecificPart()); // Is this a zigbee thing? if (!channelUID.getBindingId().equals(ZigBeeBindingConstants.BINDING_ID)) { return null; } // Do we know this channel? if (channels.get(channelUID) == null) { return null; } ZigBeeBaseChannelConverter converter = channels.get(channelUID); return new ConfigDescription(uri, converter.getConfigDescription()); }
return new ConfigDescription(uri, parametersWithOptions, parameterGroups); } else {
new ConfigDescription(configDescription.getUID(), parameters, parameterGroups)); } else {
localizedConfigDescriptionGroups.add(localizedConfigDescriptionGroup); return new ConfigDescription(configDescription.getUID(), localizedConfigDescriptionParameters, localizedConfigDescriptionGroups);
private ConfigDescription createValueConfigDescription(MetadataConfigDescriptionProvider provider, @Nullable Locale locale) { String namespace = provider.getNamespace(); String description = provider.getDescription(locale); List<ParameterOption> options = provider.getParameterOptions(locale); URI uri = URI.create(SCHEME + SEPARATOR + namespace); ConfigDescriptionParameterBuilder builder = ConfigDescriptionParameterBuilder.create("value", Type.TEXT); if (options != null && !options.isEmpty()) { builder.withOptions(options); builder.withLimitToOptions(true); } else { builder.withLimitToOptions(false); } builder.withDescription(description != null ? description : namespace); ConfigDescriptionParameter parameter = builder.build(); return new ConfigDescription(uri, Collections.singletonList(parameter)); }
configDescription = new ConfigDescription(uri, configDescriptionParams, configDescriptionGroups);
@Override public ConfigDescription getConfigDescription(URI uri, Locale locale) { if (SCHEME.equals(uri.getScheme())) { ItemChannelLink link = itemChannelLinkRegistry.get(uri.getSchemeSpecificPart()); if (link == null) { return null; } Item item = itemRegistry.get(link.getItemName()); if (item == null) { return null; } Thing thing = thingRegistry.get(link.getLinkedUID().getThingUID()); if (thing == null) { return null; } Channel channel = thing.getChannel(link.getLinkedUID().getId()); if (channel == null) { return null; } ConfigDescriptionParameter paramProfile = ConfigDescriptionParameterBuilder.create(PARAM_PROFILE, Type.TEXT) .withLabel("Profile").withDescription("the profile to use").withRequired(false) .withLimitToOptions(true).withOptions(getOptions(link, item, channel, locale)).build(); return new ConfigDescription(uri, Collections.singletonList(paramProfile)); } return null; }
configDescription = new ConfigDescription(new URI("thing:" + getThing().getUID()), parameters); } catch (IllegalArgumentException | URISyntaxException e) { logger.debug("Error creating URI for thing description:", e);
.withGroupName("thingcfg").build()); return new ConfigDescription(uri, parameters, null); .withAdvanced(true).withOptions(options).withDefault("false").withGroupName("actions").build()); return new ConfigDescription(uri, parameters, groups);