private String inferChannelGroupKey(ChannelGroupTypeUID channelGroupTypeUID, String lastSegment) { return "channel-group-type." + channelGroupTypeUID.getBindingId() + "." + channelGroupTypeUID.getId() + "." + lastSegment; }
/** * Returns the identifier of the channel group. * * @return the identifier of the channel group (neither null, nor empty) */ public String getId() { return getSegment(1); }
protected List<ChannelDefinition> toChannelDefinitions(List<ChannelXmlResult> channelTypeReferences) throws ConversionException { List<ChannelDefinition> channelTypeDefinitions = null; if ((channelTypeReferences != null) && (channelTypeReferences.size() > 0)) { channelTypeDefinitions = new ArrayList<>(channelTypeReferences.size()); for (ChannelXmlResult channelTypeReference : channelTypeReferences) { channelTypeDefinitions .add(channelTypeReference.toChannelDefinition(this.channelGroupTypeUID.getBindingId())); } } return channelTypeDefinitions; }
protected List<ChannelGroupDefinition> toChannelGroupDefinitions(List<ChannelXmlResult> channelGroupTypeReferences) throws ConversionException { List<ChannelGroupDefinition> channelGroupTypeDefinitions = null; if ((channelGroupTypeReferences != null) && (channelGroupTypeReferences.size() > 0)) { channelGroupTypeDefinitions = new ArrayList<>(channelGroupTypeReferences.size()); for (ChannelXmlResult channelGroupTypeReference : channelGroupTypeReferences) { String id = channelGroupTypeReference.getId(); String typeId = channelGroupTypeReference.getTypeId(); String typeUID = String.format("%s:%s", this.thingTypeUID.getBindingId(), typeId); ChannelGroupDefinition channelGroupDefinition = new ChannelGroupDefinition(id, new ChannelGroupTypeUID(typeUID)); channelGroupTypeDefinitions.add(channelGroupDefinition); } } return channelGroupTypeDefinitions; }
@Override public ChannelGroupType getChannelGroupType(ChannelGroupTypeUID channelGroupTypeUID, Locale locale) { Collection<Entry<Bundle, List<ChannelGroupType>>> channelGroupTypesList = this.bundleChannelGroupTypesMap .entrySet(); if (channelGroupTypesList != null) { for (Entry<Bundle, List<ChannelGroupType>> channelGroupTypes : channelGroupTypesList) { for (ChannelGroupType channelGroupType : channelGroupTypes.getValue()) { if (channelGroupType.getUID().equals(channelGroupTypeUID)) { return createLocalizedChannelGroupType(channelGroupTypes.getKey(), channelGroupType, locale); } } } } return null; }
protected List<ChannelDefinition> toChannelDefinitions(List<ChannelXmlResult> channelTypeReferences, Map<String, ChannelType> channelTypes) throws ConversionException { List<ChannelDefinition> channelTypeDefinitions = null; if ((channelTypeReferences != null) && (channelTypeReferences.size() > 0)) { channelTypeDefinitions = new ArrayList<>(channelTypeReferences.size()); if (channelTypes != null) { for (ChannelXmlResult channelTypeReference : channelTypeReferences) { String id = channelTypeReference.getId(); String typeId = channelTypeReference.getTypeId(); String typeUID = String.format("%s:%s", this.channelGroupTypeUID.getBindingId(), typeId); ChannelType channelType = channelTypes.get(typeUID); if (channelType != null) { ChannelDefinition channelDefinition = new ChannelDefinition(id, channelType.getUID()); channelTypeDefinitions.add(channelDefinition); } else { throw new ConversionException("The channel type for '" + typeUID + "' is missing!"); } } } else { throw new ConversionException("Missing the definition of channel types!"); } } return channelTypeDefinitions; }
protected List<ChannelGroupDefinition> toChannelGroupDefinitions(List<ChannelXmlResult> channelGroupTypeReferences) throws ConversionException { List<ChannelGroupDefinition> channelGroupTypeDefinitions = null; if ((channelGroupTypeReferences != null) && (channelGroupTypeReferences.size() > 0)) { channelGroupTypeDefinitions = new ArrayList<>(channelGroupTypeReferences.size()); for (ChannelXmlResult channelGroupTypeReference : channelGroupTypeReferences) { String id = channelGroupTypeReference.getId(); String typeId = channelGroupTypeReference.getTypeId(); String typeUID = String.format("%s:%s", this.thingTypeUID.getBindingId(), typeId); ChannelGroupDefinition channelGroupDefinition = new ChannelGroupDefinition(id, new ChannelGroupTypeUID(typeUID), channelGroupTypeReference.getLabel(), channelGroupTypeReference.getDescription()); channelGroupTypeDefinitions.add(channelGroupDefinition); } } return channelGroupTypeDefinitions; }
private String inferChannelGroupKey(ChannelGroupTypeUID channelGroupTypeUID, ChannelDefinition channel, String lastSegment) { return "channel-group-type." + channelGroupTypeUID.getBindingId() + "." + channelGroupTypeUID.getId() + ".channel." + channel.getId() + "." + lastSegment; }
@Override protected ChannelGroupTypeXmlResult unmarshalType(HierarchicalStreamReader reader, UnmarshallingContext context, Map<String, String> attributes, NodeIterator nodeIterator) throws ConversionException { ChannelGroupTypeUID channelGroupTypeUID = new ChannelGroupTypeUID(super.getUID(attributes, context)); boolean advanced = isAdvanced(attributes, false); String label = super.readLabel(nodeIterator); String description = super.readDescription(nodeIterator); List<ChannelXmlResult> channelTypeDefinitions = readChannelTypeDefinitions(nodeIterator); ChannelGroupTypeXmlResult groupChannelType = new ChannelGroupTypeXmlResult(channelGroupTypeUID, advanced, label, description, channelTypeDefinitions); return groupChannelType; }
@Override protected ChannelGroupTypeXmlResult unmarshalType(HierarchicalStreamReader reader, UnmarshallingContext context, Map<String, String> attributes, NodeIterator nodeIterator) throws ConversionException { ChannelGroupTypeUID channelGroupTypeUID = new ChannelGroupTypeUID(super.getUID(attributes, context)); boolean advanced = isAdvanced(attributes, false); String label = super.readLabel(nodeIterator); String description = super.readDescription(nodeIterator); String category = readCategory(nodeIterator); List<ChannelXmlResult> channelTypeDefinitions = readChannelTypeDefinitions(nodeIterator); ChannelGroupTypeXmlResult groupChannelType = new ChannelGroupTypeXmlResult(channelGroupTypeUID, advanced, label, description, category, channelTypeDefinitions); return groupChannelType; }