use of org.eclipse.smarthome.core.types.StateDescription in project smarthome by eclipse.
the class DefaultSystemChannelTypeProvider method createLocalizedChannelState.
private StateDescription createLocalizedChannelState(Bundle bundle, ChannelType channelType, ChannelTypeUID channelTypeUID, Locale locale) {
StateDescription state = channelType.getState();
if (state != null) {
String pattern = thingTypeI18nUtil.getChannelStatePattern(bundle, channelTypeUID, state.getPattern(), locale);
List<StateOption> localizedOptions = new ArrayList<>();
List<StateOption> options = state.getOptions();
for (StateOption stateOption : options) {
String optionLabel = thingTypeI18nUtil.getChannelStateOption(bundle, channelTypeUID, stateOption.getValue(), stateOption.getLabel(), locale);
localizedOptions.add(new StateOption(stateOption.getValue(), optionLabel));
}
return new StateDescription(state.getMinimum(), state.getMaximum(), state.getStep(), pattern, state.isReadOnly(), localizedOptions);
}
return null;
}
use of org.eclipse.smarthome.core.types.StateDescription in project smarthome by eclipse.
the class ItemUIRegistryImplTest method getLabel_labelWithPatternInStateDescription.
@Test
public void getLabel_labelWithPatternInStateDescription() throws ItemNotFoundException {
String testLabel = "Label";
StateDescription stateDescription = mock(StateDescription.class);
when(widget.getLabel()).thenReturn(testLabel);
when(item.getStateDescription()).thenReturn(stateDescription);
when(stateDescription.getPattern()).thenReturn("%s");
when(item.getState()).thenReturn(new StringType("State"));
String label = uiRegistry.getLabel(widget);
assertEquals("Label [State]", label);
}
use of org.eclipse.smarthome.core.types.StateDescription in project smarthome by eclipse.
the class ItemUIRegistryImplTest method getLabel_labelWithEmptyPattern.
@Test
public void getLabel_labelWithEmptyPattern() throws ItemNotFoundException {
String testLabel = "Label []";
StateDescription stateDescription = mock(StateDescription.class);
when(widget.getLabel()).thenReturn(testLabel);
when(item.getStateDescription()).thenReturn(stateDescription);
when(stateDescription.getPattern()).thenReturn("%s");
when(item.getState()).thenReturn(new StringType("State"));
String label = uiRegistry.getLabel(widget);
assertEquals("Label", label);
}
use of org.eclipse.smarthome.core.types.StateDescription in project smarthome by eclipse.
the class ItemUIRegistryImplTest method getLabel_labelWithoutPatternInStateDescription.
@Test
public void getLabel_labelWithoutPatternInStateDescription() throws ItemNotFoundException {
String testLabel = "Label";
StateDescription stateDescription = mock(StateDescription.class);
when(widget.getLabel()).thenReturn(testLabel);
when(item.getStateDescription()).thenReturn(stateDescription);
when(stateDescription.getPattern()).thenReturn(null);
when(item.getState()).thenReturn(new StringType("State"));
String label = uiRegistry.getLabel(widget);
assertEquals("Label", label);
}
use of org.eclipse.smarthome.core.types.StateDescription in project smarthome by eclipse.
the class ItemUIRegistryImplTest method getLabel_labelWithMappedOption.
@Test
public void getLabel_labelWithMappedOption() throws ItemNotFoundException {
String testLabel = "Label";
StateDescription stateDescription = mock(StateDescription.class);
List<StateOption> options = new ArrayList<>();
options.add(new StateOption("State0", "This is the state 0"));
options.add(new StateOption("State1", "This is the state 1"));
when(widget.getLabel()).thenReturn(testLabel);
when(item.getStateDescription()).thenReturn(stateDescription);
when(stateDescription.getPattern()).thenReturn("%s");
when(stateDescription.getOptions()).thenReturn(options);
when(item.getState()).thenReturn(new StringType("State1"));
String label = uiRegistry.getLabel(widget);
assertEquals("Label [This is the state 1]", label);
}
Aggregations