private List<ChannelGroupDefinitionDTO> convertToChannelGroupDefinitionDTOs( List<ChannelGroupDefinition> channelGroupDefinitions, Locale locale) { List<ChannelGroupDefinitionDTO> channelGroupDefinitionDTOs = new ArrayList<>(); for (ChannelGroupDefinition channelGroupDefinition : channelGroupDefinitions) { String id = channelGroupDefinition.getId(); ChannelGroupType channelGroupType = channelGroupTypeRegistry .getChannelGroupType(channelGroupDefinition.getTypeUID(), locale); // Default to the channelGroupDefinition label to override the // channelGroupType String label = channelGroupDefinition.getLabel(); if (label == null) { label = channelGroupType.getLabel(); } // Default to the channelGroupDefinition description to override the // channelGroupType String description = channelGroupDefinition.getDescription(); if (description == null) { description = channelGroupType.getDescription(); } List<ChannelDefinition> channelDefinitions = channelGroupType.getChannelDefinitions(); List<ChannelDefinitionDTO> channelDefinitionDTOs = convertToChannelDefinitionDTOs(channelDefinitions, locale); channelGroupDefinitionDTOs .add(new ChannelGroupDefinitionDTO(id, label, description, channelDefinitionDTOs)); } return channelGroupDefinitionDTOs; }
thingType.getChannelGroupDefinitions(), channelGroupDefinition -> thingTypeI18nUtil.getChannelGroupLabel(bundle, thingTypeUID, channelGroupDefinition, channelGroupDefinition.getLabel(), locale), channelGroupDefinition -> thingTypeI18nUtil.getChannelGroupDescription(bundle, thingTypeUID, channelGroupDefinition, channelGroupDefinition.getDescription(), locale),