Use Java 21 language features (#5374)

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
This commit is contained in:
Holger Friedrich
2026-02-20 07:30:15 +01:00
committed by GitHub
parent 669b7918e2
commit 7f7741d1ef
9 changed files with 81 additions and 83 deletions
@@ -101,7 +101,7 @@ public class RuleGSONParserTest {
triggers = rule.getTriggers(); triggers = rule.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("2")); assertThat(trigger.getId(), is("2"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -118,7 +118,7 @@ public class RuleGSONParserTest {
conditions = rule.getConditions(); conditions = rule.getConditions();
assertThat(conditions, hasSize(2)); assertThat(conditions, hasSize(2));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("3")); assertThat(condition.getId(), is("3"));
assertThat(condition.getLabel(), is(emptyOrNullString())); assertThat(condition.getLabel(), is(emptyOrNullString()));
assertThat(condition.getDescription(), is(emptyOrNullString())); assertThat(condition.getDescription(), is(emptyOrNullString()));
@@ -137,7 +137,7 @@ public class RuleGSONParserTest {
actions = rule.getActions(); actions = rule.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("1")); assertThat(action.getId(), is("1"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -183,7 +183,7 @@ public class RuleGSONParserTest {
List<ConfigDescriptionParameter> configDescriptions = rule.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = rule.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(5)); assertThat(configDescriptions, hasSize(5));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("textParam")); assertThat(parameter.getName(), is("textParam"));
assertThat(parameter.getLabel(), is("Text parameter")); assertThat(parameter.getLabel(), is("Text parameter"));
assertThat(parameter.getDescription(), is("This is a text parameter.")); assertThat(parameter.getDescription(), is("This is a text parameter."));
@@ -201,14 +201,14 @@ public class RuleGSONParserTest {
assertFalse(parameter.getLimitToOptions()); assertFalse(parameter.getLimitToOptions());
List<ParameterOption> options = parameter.getOptions(); List<ParameterOption> options = parameter.getOptions();
assertThat(options, hasSize(2)); assertThat(options, hasSize(2));
assertThat(options.get(0).getLabel(), is("First Option")); assertThat(options.getFirst().getLabel(), is("First Option"));
assertThat(options.get(0).getValue(), is("1st")); assertThat(options.getFirst().getValue(), is("1st"));
assertThat(options.get(1).getLabel(), is("Second Option")); assertThat(options.get(1).getLabel(), is("Second Option"));
assertThat(options.get(1).getValue(), is("2nd")); assertThat(options.get(1).getValue(), is("2nd"));
List<FilterCriteria> filterCriterias = parameter.getFilterCriteria(); List<FilterCriteria> filterCriterias = parameter.getFilterCriteria();
assertThat(filterCriterias, hasSize(2)); assertThat(filterCriterias, hasSize(2));
assertThat(filterCriterias.get(0).getName(), is("filter1")); assertThat(filterCriterias.getFirst().getName(), is("filter1"));
assertThat(filterCriterias.get(0).getValue(), is(".*")); assertThat(filterCriterias.getFirst().getValue(), is(".*"));
assertThat(filterCriterias.get(1).getName(), is("filter2")); assertThat(filterCriterias.get(1).getName(), is("filter2"));
assertThat(filterCriterias.get(1).getValue(), is("a.*")); assertThat(filterCriterias.get(1).getValue(), is("a.*"));
parameter = configDescriptions.get(1); parameter = configDescriptions.get(1);
@@ -282,7 +282,7 @@ public class RuleGSONParserTest {
List<Trigger> triggers = rule.getTriggers(); List<Trigger> triggers = rule.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("first")); assertThat(trigger.getId(), is("first"));
assertThat(trigger.getLabel(), is("First Trigger")); assertThat(trigger.getLabel(), is("First Trigger"));
assertThat(trigger.getDescription(), is("The first trigger.")); assertThat(trigger.getDescription(), is("The first trigger."));
@@ -299,7 +299,7 @@ public class RuleGSONParserTest {
List<Condition> conditions = rule.getConditions(); List<Condition> conditions = rule.getConditions();
assertThat(conditions, hasSize(4)); assertThat(conditions, hasSize(4));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("holiday")); assertThat(condition.getId(), is("holiday"));
assertThat(condition.getLabel(), is("Is Holiday")); assertThat(condition.getLabel(), is("Is Holiday"));
assertThat(condition.getDescription(), is("It must be a holiday.")); assertThat(condition.getDescription(), is("It must be a holiday."));
@@ -329,7 +329,7 @@ public class RuleGSONParserTest {
List<Action> actions = rule.getActions(); List<Action> actions = rule.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("greet")); assertThat(action.getId(), is("greet"));
assertThat(action.getLabel(), is("Greet")); assertThat(action.getLabel(), is("Greet"));
assertThat(action.getDescription(), is("Greets the person.")); assertThat(action.getDescription(), is("Greets the person."));
@@ -65,7 +65,7 @@ public class TemplateGSONParserTest {
List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(1)); assertThat(configDescriptions, hasSize(1));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("startLevel")); assertThat(parameter.getName(), is("startLevel"));
assertThat(parameter.getLabel(), is("Start Level")); assertThat(parameter.getLabel(), is("Start Level"));
assertThat(parameter.getDescription(), is("The start level which will trigger the rule.")); assertThat(parameter.getDescription(), is("The start level which will trigger the rule."));
@@ -86,7 +86,7 @@ public class TemplateGSONParserTest {
List<Trigger> triggers = template.getTriggers(); List<Trigger> triggers = template.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("3")); assertThat(trigger.getId(), is("3"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -103,7 +103,7 @@ public class TemplateGSONParserTest {
List<Condition> conditions = template.getConditions(); List<Condition> conditions = template.getConditions();
assertThat(conditions, hasSize(2)); assertThat(conditions, hasSize(2));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("4")); assertThat(condition.getId(), is("4"));
assertThat(condition.getLabel(), is(emptyOrNullString())); assertThat(condition.getLabel(), is(emptyOrNullString()));
assertThat(condition.getDescription(), is(emptyOrNullString())); assertThat(condition.getDescription(), is(emptyOrNullString()));
@@ -122,7 +122,7 @@ public class TemplateGSONParserTest {
List<Action> actions = template.getActions(); List<Action> actions = template.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("1")); assertThat(action.getId(), is("1"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -160,7 +160,7 @@ public class TemplateGSONParserTest {
List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(5)); assertThat(configDescriptions, hasSize(5));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("textParam")); assertThat(parameter.getName(), is("textParam"));
assertThat(parameter.getLabel(), is("Text parameter")); assertThat(parameter.getLabel(), is("Text parameter"));
assertThat(parameter.getDescription(), is("This is a text parameter.")); assertThat(parameter.getDescription(), is("This is a text parameter."));
@@ -178,14 +178,14 @@ public class TemplateGSONParserTest {
assertFalse(parameter.getLimitToOptions()); assertFalse(parameter.getLimitToOptions());
List<ParameterOption> options = parameter.getOptions(); List<ParameterOption> options = parameter.getOptions();
assertThat(options, hasSize(2)); assertThat(options, hasSize(2));
assertThat(options.get(0).getLabel(), is("First Option")); assertThat(options.getFirst().getLabel(), is("First Option"));
assertThat(options.get(0).getValue(), is("Welcome")); assertThat(options.getFirst().getValue(), is("Welcome"));
assertThat(options.get(1).getLabel(), is("Second Option")); assertThat(options.get(1).getLabel(), is("Second Option"));
assertThat(options.get(1).getValue(), is("Willkommen")); assertThat(options.get(1).getValue(), is("Willkommen"));
List<FilterCriteria> filterCriterias = parameter.getFilterCriteria(); List<FilterCriteria> filterCriterias = parameter.getFilterCriteria();
assertThat(filterCriterias, hasSize(2)); assertThat(filterCriterias, hasSize(2));
assertThat(filterCriterias.get(0).getName(), is("filter1")); assertThat(filterCriterias.getFirst().getName(), is("filter1"));
assertThat(filterCriterias.get(0).getValue(), is(".*")); assertThat(filterCriterias.getFirst().getValue(), is(".*"));
assertThat(filterCriterias.get(1).getName(), is("filter2")); assertThat(filterCriterias.get(1).getName(), is("filter2"));
assertThat(filterCriterias.get(1).getValue(), is("a.*")); assertThat(filterCriterias.get(1).getValue(), is("a.*"));
parameter = configDescriptions.get(1); parameter = configDescriptions.get(1);
@@ -259,7 +259,7 @@ public class TemplateGSONParserTest {
List<Trigger> triggers = template.getTriggers(); List<Trigger> triggers = template.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("first")); assertThat(trigger.getId(), is("first"));
assertThat(trigger.getLabel(), is("First Trigger")); assertThat(trigger.getLabel(), is("First Trigger"));
assertThat(trigger.getDescription(), is("The first trigger.")); assertThat(trigger.getDescription(), is("The first trigger."));
@@ -276,7 +276,7 @@ public class TemplateGSONParserTest {
List<Condition> conditions = template.getConditions(); List<Condition> conditions = template.getConditions();
assertThat(conditions, hasSize(4)); assertThat(conditions, hasSize(4));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("holiday")); assertThat(condition.getId(), is("holiday"));
assertThat(condition.getLabel(), is("Is Holiday")); assertThat(condition.getLabel(), is("Is Holiday"));
assertThat(condition.getDescription(), is("It must be a holiday.")); assertThat(condition.getDescription(), is("It must be a holiday."));
@@ -306,7 +306,7 @@ public class TemplateGSONParserTest {
List<Action> actions = template.getActions(); List<Action> actions = template.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("greet")); assertThat(action.getId(), is("greet"));
assertThat(action.getLabel(), is("Greet")); assertThat(action.getLabel(), is("Greet"));
assertThat(action.getDescription(), is("Greets the person.")); assertThat(action.getDescription(), is("Greets the person."));
@@ -347,7 +347,7 @@ public class TemplateGSONParserTest {
List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(3)); assertThat(configDescriptions, hasSize(3));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("consumption")); assertThat(parameter.getName(), is("consumption"));
assertThat(parameter.getLabel(), is("Consumption Item")); assertThat(parameter.getLabel(), is("Consumption Item"));
assertThat(parameter.getDescription(), is("Data source for current consumption")); assertThat(parameter.getDescription(), is("Data source for current consumption"));
@@ -367,8 +367,8 @@ public class TemplateGSONParserTest {
assertThat(options, is(empty())); assertThat(options, is(empty()));
List<FilterCriteria> filterCriterias = parameter.getFilterCriteria(); List<FilterCriteria> filterCriterias = parameter.getFilterCriteria();
assertThat(filterCriterias, hasSize(1)); assertThat(filterCriterias, hasSize(1));
assertThat(filterCriterias.get(0).getName(), is("type")); assertThat(filterCriterias.getFirst().getName(), is("type"));
assertThat(filterCriterias.get(0).getValue(), is("Number")); assertThat(filterCriterias.getFirst().getValue(), is("Number"));
parameter = configDescriptions.get(1); parameter = configDescriptions.get(1);
assertThat(parameter.getName(), is("light")); assertThat(parameter.getName(), is("light"));
assertThat(parameter.getLabel(), is("Color Item")); assertThat(parameter.getLabel(), is("Color Item"));
@@ -407,7 +407,7 @@ public class TemplateGSONParserTest {
List<Trigger> triggers = template.getTriggers(); List<Trigger> triggers = template.getTriggers();
assertThat(triggers, hasSize(1)); assertThat(triggers, hasSize(1));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("trigger")); assertThat(trigger.getId(), is("trigger"));
assertThat(trigger.getLabel(), is("Current consumption changes")); assertThat(trigger.getLabel(), is("Current consumption changes"));
assertThat(trigger.getDescription(), is("Triggers whenever the current consumption changes its value")); assertThat(trigger.getDescription(), is("Triggers whenever the current consumption changes its value"));
@@ -420,7 +420,7 @@ public class TemplateGSONParserTest {
List<Action> actions = template.getActions(); List<Action> actions = template.getActions();
assertThat(actions, hasSize(1)); assertThat(actions, hasSize(1));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("setcolor")); assertThat(action.getId(), is("setcolor"));
assertThat(action.getLabel(), is("Change the light color")); assertThat(action.getLabel(), is("Change the light color"));
assertThat(action.getDescription(), assertThat(action.getDescription(),
@@ -444,7 +444,7 @@ public class TemplateGSONParserTest {
configDescriptions = template.getConfigurationDescriptions(); configDescriptions = template.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(6)); assertThat(configDescriptions, hasSize(6));
parameter = configDescriptions.get(0); parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("itemTargetTime")); assertThat(parameter.getName(), is("itemTargetTime"));
assertThat(parameter.getLabel(), is("Target Time (DateTime Item)")); assertThat(parameter.getLabel(), is("Target Time (DateTime Item)"));
assertThat(parameter.getDescription(), is( assertThat(parameter.getDescription(), is(
@@ -545,7 +545,7 @@ public class TemplateGSONParserTest {
triggers = template.getTriggers(); triggers = template.getTriggers();
assertThat(triggers, hasSize(1)); assertThat(triggers, hasSize(1));
trigger = triggers.get(0); trigger = triggers.getFirst();
assertThat(trigger.getId(), is("1")); assertThat(trigger.getId(), is("1"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -558,7 +558,7 @@ public class TemplateGSONParserTest {
actions = template.getActions(); actions = template.getActions();
assertThat(actions, hasSize(1)); assertThat(actions, hasSize(1));
action = actions.get(0); action = actions.getFirst();
assertThat(action.getId(), is("2")); assertThat(action.getId(), is("2"));
assertThat(action.getLabel(), is("Calculate & set the target brightness")); assertThat(action.getLabel(), is("Calculate & set the target brightness"));
assertThat(action.getDescription(), assertThat(action.getDescription(),
@@ -227,18 +227,14 @@ public class WindowMessageHandler implements Runnable, WindowProc {
@Nullable @Nullable
private LRESULT onDeviceChange(WPARAM wParam, LPARAM lParam) { private LRESULT onDeviceChange(WPARAM wParam, LPARAM lParam) {
switch (wParam.intValue()) { return switch (wParam.intValue()) {
case DBT.DBT_DEVICEARRIVAL: case DBT.DBT_DEVICEARRIVAL -> onDeviceAddedOrRemoved(lParam, true);
return onDeviceAddedOrRemoved(lParam, true); case DBT.DBT_DEVICEREMOVECOMPLETE -> onDeviceAddedOrRemoved(lParam, false);
case DBT.DBT_DEVICEREMOVECOMPLETE: // LRESULT(1) aka TRUE means that the message was processed. This message is non-specific
return onDeviceAddedOrRemoved(lParam, false); // (basically means "something changed"), so we don't want to take any action.
case DBT.DBT_DEVNODES_CHANGED: case DBT.DBT_DEVNODES_CHANGED -> new LRESULT(1);
// LRESULT(1) aka TRUE means that the message was processed. This message is non-specific default -> null;
// (basically means "something changed"), so we don't want to take any action. };
return new LRESULT(1);
default:
return null;
}
} }
@Nullable @Nullable
@@ -400,7 +400,7 @@ public class PersistenceResource implements RESTResource {
persistenceProblems.add(new PersistenceServiceProblem( persistenceProblems.add(new PersistenceServiceProblem(
PersistenceServiceProblem.PERSISTENCE_NO_STRATEGY, serviceId, items, editable)); PersistenceServiceProblem.PERSISTENCE_NO_STRATEGY, serviceId, items, editable));
} else if (strategies.size() == 1 } else if (strategies.size() == 1
&& PersistenceStrategy.Globals.RESTORE.equals(strategies.get(0))) { && PersistenceStrategy.Globals.RESTORE.equals(strategies.getFirst())) {
persistenceProblems.add(new PersistenceServiceProblem( persistenceProblems.add(new PersistenceServiceProblem(
PersistenceServiceProblem.PERSISTENCE_NO_STORE_STRATEGY, serviceId, items, PersistenceServiceProblem.PERSISTENCE_NO_STORE_STRATEGY, serviceId, items,
editable)); editable));
@@ -609,6 +609,6 @@ public class YamlItemDTOTest {
assertEquals(1, warnings.size()); assertEquals(1, warnings.size());
assertEquals( assertEquals(
"item \"item_name\": \"expire\" field is redundant with \"expire\" metadata; value \"5m\" will be considered", "item \"item_name\": \"expire\" field is redundant with \"expire\" metadata; value \"5m\" will be considered",
warnings.get(0)); warnings.getFirst());
} }
} }
@@ -116,8 +116,8 @@ public class YamlItemFileConverterTest {
List<YamlElement> elements = repository.getElements(); List<YamlElement> elements = repository.getElements();
assertEquals(1, elements.size()); assertEquals(1, elements.size());
assertInstanceOf(YamlItemDTO.class, elements.get(0)); assertInstanceOf(YamlItemDTO.class, elements.getFirst());
return (YamlItemDTO) elements.get(0); return (YamlItemDTO) elements.getFirst();
} }
private static class CapturingYamlModelRepository implements YamlModelRepository { private static class CapturingYamlModelRepository implements YamlModelRepository {
@@ -139,7 +139,7 @@ public class YamlRuleProviderTest {
List<Trigger> triggers = rule.getTriggers(); List<Trigger> triggers = rule.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("2")); assertThat(trigger.getId(), is("2"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -156,7 +156,7 @@ public class YamlRuleProviderTest {
List<Condition> conditions = rule.getConditions(); List<Condition> conditions = rule.getConditions();
assertThat(conditions, hasSize(2)); assertThat(conditions, hasSize(2));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("3")); assertThat(condition.getId(), is("3"));
assertThat(condition.getLabel(), is(emptyOrNullString())); assertThat(condition.getLabel(), is(emptyOrNullString()));
assertThat(condition.getDescription(), is(emptyOrNullString())); assertThat(condition.getDescription(), is(emptyOrNullString()));
@@ -175,7 +175,7 @@ public class YamlRuleProviderTest {
List<Action> actions = rule.getActions(); List<Action> actions = rule.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("1")); assertThat(action.getId(), is("1"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -218,7 +218,7 @@ public class YamlRuleProviderTest {
assertThat(config.getProperties(), hasEntry("sourceItem", "None")); assertThat(config.getProperties(), hasEntry("sourceItem", "None"));
List<ConfigDescriptionParameter> configDescriptions = rule.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = rule.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(1)); assertThat(configDescriptions, hasSize(1));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("sourceItem")); assertThat(parameter.getName(), is("sourceItem"));
assertThat(parameter.getType(), is(Type.TEXT)); assertThat(parameter.getType(), is(Type.TEXT));
assertThat(parameter.getContext(), is("item")); assertThat(parameter.getContext(), is("item"));
@@ -228,7 +228,7 @@ public class YamlRuleProviderTest {
List<Trigger> triggers = rule.getTriggers(); List<Trigger> triggers = rule.getTriggers();
assertThat(triggers, hasSize(1)); assertThat(triggers, hasSize(1));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("1")); assertThat(trigger.getId(), is("1"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -242,7 +242,7 @@ public class YamlRuleProviderTest {
List<Action> actions = rule.getActions(); List<Action> actions = rule.getActions();
assertThat(actions, hasSize(1)); assertThat(actions, hasSize(1));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("script")); assertThat(action.getId(), is("script"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -280,7 +280,7 @@ public class YamlRuleProviderTest {
assertThat(config.getProperties(), hasEntry("timeOfDay", "Yes")); assertThat(config.getProperties(), hasEntry("timeOfDay", "Yes"));
configDescriptions = rule.getConfigurationDescriptions(); configDescriptions = rule.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(3)); assertThat(configDescriptions, hasSize(3));
parameter = configDescriptions.get(0); parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("timeOfDay")); assertThat(parameter.getName(), is("timeOfDay"));
assertThat(parameter.getType(), is(Type.TEXT)); assertThat(parameter.getType(), is(Type.TEXT));
assertThat(parameter.getContext(), is("item")); assertThat(parameter.getContext(), is("item"));
@@ -289,8 +289,8 @@ public class YamlRuleProviderTest {
assertTrue(parameter.isRequired()); assertTrue(parameter.isRequired());
List<FilterCriteria> filterCriteria = parameter.getFilterCriteria(); List<FilterCriteria> filterCriteria = parameter.getFilterCriteria();
assertThat(filterCriteria, hasSize(1)); assertThat(filterCriteria, hasSize(1));
assertThat(filterCriteria.get(0).getName(), is("type")); assertThat(filterCriteria.getFirst().getName(), is("type"));
assertThat(filterCriteria.get(0).getValue(), is("String")); assertThat(filterCriteria.getFirst().getValue(), is("String"));
parameter = configDescriptions.get(1); parameter = configDescriptions.get(1);
assertThat(parameter.getName(), is("timesOfDayGrp")); assertThat(parameter.getName(), is("timesOfDayGrp"));
assertThat(parameter.getType(), is(Type.TEXT)); assertThat(parameter.getType(), is(Type.TEXT));
@@ -301,8 +301,8 @@ public class YamlRuleProviderTest {
assertTrue(parameter.isRequired()); assertTrue(parameter.isRequired());
filterCriteria = parameter.getFilterCriteria(); filterCriteria = parameter.getFilterCriteria();
assertThat(filterCriteria, hasSize(1)); assertThat(filterCriteria, hasSize(1));
assertThat(filterCriteria.get(0).getName(), is("type")); assertThat(filterCriteria.getFirst().getName(), is("type"));
assertThat(filterCriteria.get(0).getValue(), is("Group")); assertThat(filterCriteria.getFirst().getValue(), is("Group"));
parameter = configDescriptions.get(2); parameter = configDescriptions.get(2);
assertThat(parameter.getName(), is("namespace")); assertThat(parameter.getName(), is("namespace"));
assertThat(parameter.getType(), is(Type.TEXT)); assertThat(parameter.getType(), is(Type.TEXT));
@@ -315,7 +315,7 @@ public class YamlRuleProviderTest {
triggers = rule.getTriggers(); triggers = rule.getTriggers();
assertThat(triggers, hasSize(3)); assertThat(triggers, hasSize(3));
trigger = triggers.get(0); trigger = triggers.getFirst();
assertThat(trigger.getId(), is("1")); assertThat(trigger.getId(), is("1"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -341,7 +341,7 @@ public class YamlRuleProviderTest {
actions = rule.getActions(); actions = rule.getActions();
assertThat(actions, hasSize(1)); assertThat(actions, hasSize(1));
action = actions.get(0); action = actions.getFirst();
assertThat(action.getId(), is("3")); assertThat(action.getId(), is("3"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -365,7 +365,7 @@ public class YamlRuleProviderTest {
assertThat(rule.getConfiguration().getProperties(), is(anEmptyMap())); assertThat(rule.getConfiguration().getProperties(), is(anEmptyMap()));
configDescriptions = rule.getConfigurationDescriptions(); configDescriptions = rule.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(4)); assertThat(configDescriptions, hasSize(4));
parameter = configDescriptions.get(0); parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("powerItem")); assertThat(parameter.getName(), is("powerItem"));
assertThat(parameter.getType(), is(Type.TEXT)); assertThat(parameter.getType(), is(Type.TEXT));
assertThat(parameter.getContext(), is("item")); assertThat(parameter.getContext(), is("item"));
@@ -404,7 +404,7 @@ public class YamlRuleProviderTest {
triggers = rule.getTriggers(); triggers = rule.getTriggers();
assertThat(triggers, hasSize(1)); assertThat(triggers, hasSize(1));
trigger = triggers.get(0); trigger = triggers.getFirst();
assertThat(trigger.getId(), is("1")); assertThat(trigger.getId(), is("1"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -417,7 +417,7 @@ public class YamlRuleProviderTest {
actions = rule.getActions(); actions = rule.getActions();
assertThat(actions, hasSize(1)); assertThat(actions, hasSize(1));
action = actions.get(0); action = actions.getFirst();
assertThat(action.getId(), is("2")); assertThat(action.getId(), is("2"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -456,7 +456,7 @@ public class YamlRuleProviderTest {
List<ConfigDescriptionParameter> configDescriptions = rule.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = rule.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(5)); assertThat(configDescriptions, hasSize(5));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("textParam")); assertThat(parameter.getName(), is("textParam"));
assertThat(parameter.getLabel(), is("Text parameter")); assertThat(parameter.getLabel(), is("Text parameter"));
assertThat(parameter.getDescription(), is("This is a text parameter.")); assertThat(parameter.getDescription(), is("This is a text parameter."));
@@ -474,14 +474,14 @@ public class YamlRuleProviderTest {
assertFalse(parameter.getLimitToOptions()); assertFalse(parameter.getLimitToOptions());
List<ParameterOption> options = parameter.getOptions(); List<ParameterOption> options = parameter.getOptions();
assertThat(options, hasSize(2)); assertThat(options, hasSize(2));
assertThat(options.get(0).getLabel(), is("First Option")); assertThat(options.getFirst().getLabel(), is("First Option"));
assertThat(options.get(0).getValue(), is("1st")); assertThat(options.getFirst().getValue(), is("1st"));
assertThat(options.get(1).getLabel(), is("Second Option")); assertThat(options.get(1).getLabel(), is("Second Option"));
assertThat(options.get(1).getValue(), is("2nd")); assertThat(options.get(1).getValue(), is("2nd"));
List<FilterCriteria> filterCriterias = parameter.getFilterCriteria(); List<FilterCriteria> filterCriterias = parameter.getFilterCriteria();
assertThat(filterCriterias, hasSize(2)); assertThat(filterCriterias, hasSize(2));
assertThat(filterCriterias.get(0).getName(), is("filter1")); assertThat(filterCriterias.getFirst().getName(), is("filter1"));
assertThat(filterCriterias.get(0).getValue(), is(".*")); assertThat(filterCriterias.getFirst().getValue(), is(".*"));
assertThat(filterCriterias.get(1).getName(), is("filter2")); assertThat(filterCriterias.get(1).getName(), is("filter2"));
assertThat(filterCriterias.get(1).getValue(), is("a.*")); assertThat(filterCriterias.get(1).getValue(), is("a.*"));
parameter = configDescriptions.get(1); parameter = configDescriptions.get(1);
@@ -555,7 +555,7 @@ public class YamlRuleProviderTest {
List<Trigger> triggers = rule.getTriggers(); List<Trigger> triggers = rule.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("first")); assertThat(trigger.getId(), is("first"));
assertThat(trigger.getLabel(), is("First Trigger")); assertThat(trigger.getLabel(), is("First Trigger"));
assertThat(trigger.getDescription(), is("The first trigger.")); assertThat(trigger.getDescription(), is("The first trigger."));
@@ -572,7 +572,7 @@ public class YamlRuleProviderTest {
List<Condition> conditions = rule.getConditions(); List<Condition> conditions = rule.getConditions();
assertThat(conditions, hasSize(4)); assertThat(conditions, hasSize(4));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("holiday")); assertThat(condition.getId(), is("holiday"));
assertThat(condition.getLabel(), is("Is Holiday")); assertThat(condition.getLabel(), is("Is Holiday"));
assertThat(condition.getDescription(), is("It must be a holiday.")); assertThat(condition.getDescription(), is("It must be a holiday."));
@@ -602,7 +602,7 @@ public class YamlRuleProviderTest {
List<Action> actions = rule.getActions(); List<Action> actions = rule.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("greet")); assertThat(action.getId(), is("greet"));
assertThat(action.getLabel(), is("Greet")); assertThat(action.getLabel(), is("Greet"));
assertThat(action.getDescription(), is("Greets the person.")); assertThat(action.getDescription(), is("Greets the person."));
@@ -115,7 +115,7 @@ public class YamlRuleTemplateProviderTest {
List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(1)); assertThat(configDescriptions, hasSize(1));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("startLevel")); assertThat(parameter.getName(), is("startLevel"));
assertThat(parameter.getLabel(), is("Start Level")); assertThat(parameter.getLabel(), is("Start Level"));
assertThat(parameter.getDescription(), is("The start level which will trigger the rule.")); assertThat(parameter.getDescription(), is("The start level which will trigger the rule."));
@@ -139,7 +139,7 @@ public class YamlRuleTemplateProviderTest {
List<Trigger> triggers = template.getTriggers(); List<Trigger> triggers = template.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("3")); assertThat(trigger.getId(), is("3"));
assertThat(trigger.getLabel(), is(emptyOrNullString())); assertThat(trigger.getLabel(), is(emptyOrNullString()));
assertThat(trigger.getDescription(), is(emptyOrNullString())); assertThat(trigger.getDescription(), is(emptyOrNullString()));
@@ -156,7 +156,7 @@ public class YamlRuleTemplateProviderTest {
List<Condition> conditions = template.getConditions(); List<Condition> conditions = template.getConditions();
assertThat(conditions, hasSize(2)); assertThat(conditions, hasSize(2));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("4")); assertThat(condition.getId(), is("4"));
assertThat(condition.getLabel(), is(emptyOrNullString())); assertThat(condition.getLabel(), is(emptyOrNullString()));
assertThat(condition.getDescription(), is(emptyOrNullString())); assertThat(condition.getDescription(), is(emptyOrNullString()));
@@ -175,7 +175,7 @@ public class YamlRuleTemplateProviderTest {
List<Action> actions = template.getActions(); List<Action> actions = template.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("1")); assertThat(action.getId(), is("1"));
assertThat(action.getLabel(), is(emptyOrNullString())); assertThat(action.getLabel(), is(emptyOrNullString()));
assertThat(action.getDescription(), is(emptyOrNullString())); assertThat(action.getDescription(), is(emptyOrNullString()));
@@ -214,7 +214,7 @@ public class YamlRuleTemplateProviderTest {
List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions(); List<ConfigDescriptionParameter> configDescriptions = template.getConfigurationDescriptions();
assertThat(configDescriptions, hasSize(5)); assertThat(configDescriptions, hasSize(5));
ConfigDescriptionParameter parameter = configDescriptions.get(0); ConfigDescriptionParameter parameter = configDescriptions.getFirst();
assertThat(parameter.getName(), is("textParam")); assertThat(parameter.getName(), is("textParam"));
assertThat(parameter.getLabel(), is("Text parameter")); assertThat(parameter.getLabel(), is("Text parameter"));
assertThat(parameter.getDescription(), is("This is a text parameter.")); assertThat(parameter.getDescription(), is("This is a text parameter."));
@@ -232,14 +232,14 @@ public class YamlRuleTemplateProviderTest {
assertFalse(parameter.getLimitToOptions()); assertFalse(parameter.getLimitToOptions());
List<ParameterOption> options = parameter.getOptions(); List<ParameterOption> options = parameter.getOptions();
assertThat(options, hasSize(2)); assertThat(options, hasSize(2));
assertThat(options.get(0).getLabel(), is("First Option")); assertThat(options.getFirst().getLabel(), is("First Option"));
assertThat(options.get(0).getValue(), is("Welcome")); assertThat(options.getFirst().getValue(), is("Welcome"));
assertThat(options.get(1).getLabel(), is("Second Option")); assertThat(options.get(1).getLabel(), is("Second Option"));
assertThat(options.get(1).getValue(), is("Willkommen")); assertThat(options.get(1).getValue(), is("Willkommen"));
List<FilterCriteria> filterCriterias = parameter.getFilterCriteria(); List<FilterCriteria> filterCriterias = parameter.getFilterCriteria();
assertThat(filterCriterias, hasSize(2)); assertThat(filterCriterias, hasSize(2));
assertThat(filterCriterias.get(0).getName(), is("filter1")); assertThat(filterCriterias.getFirst().getName(), is("filter1"));
assertThat(filterCriterias.get(0).getValue(), is(".*")); assertThat(filterCriterias.getFirst().getValue(), is(".*"));
assertThat(filterCriterias.get(1).getName(), is("filter2")); assertThat(filterCriterias.get(1).getName(), is("filter2"));
assertThat(filterCriterias.get(1).getValue(), is("a.*")); assertThat(filterCriterias.get(1).getValue(), is("a.*"));
parameter = configDescriptions.get(1); parameter = configDescriptions.get(1);
@@ -313,7 +313,7 @@ public class YamlRuleTemplateProviderTest {
List<Trigger> triggers = template.getTriggers(); List<Trigger> triggers = template.getTriggers();
assertThat(triggers, hasSize(2)); assertThat(triggers, hasSize(2));
Trigger trigger = triggers.get(0); Trigger trigger = triggers.getFirst();
assertThat(trigger.getId(), is("first")); assertThat(trigger.getId(), is("first"));
assertThat(trigger.getLabel(), is("First Trigger")); assertThat(trigger.getLabel(), is("First Trigger"));
assertThat(trigger.getDescription(), is("The first trigger.")); assertThat(trigger.getDescription(), is("The first trigger."));
@@ -330,7 +330,7 @@ public class YamlRuleTemplateProviderTest {
List<Condition> conditions = template.getConditions(); List<Condition> conditions = template.getConditions();
assertThat(conditions, hasSize(4)); assertThat(conditions, hasSize(4));
Condition condition = conditions.get(0); Condition condition = conditions.getFirst();
assertThat(condition.getId(), is("holiday")); assertThat(condition.getId(), is("holiday"));
assertThat(condition.getLabel(), is("Is Holiday")); assertThat(condition.getLabel(), is("Is Holiday"));
assertThat(condition.getDescription(), is("It must be a holiday.")); assertThat(condition.getDescription(), is("It must be a holiday."));
@@ -360,7 +360,7 @@ public class YamlRuleTemplateProviderTest {
List<Action> actions = template.getActions(); List<Action> actions = template.getActions();
assertThat(actions, hasSize(2)); assertThat(actions, hasSize(2));
Action action = actions.get(0); Action action = actions.getFirst();
assertThat(action.getId(), is("greet")); assertThat(action.getId(), is("greet"));
assertThat(action.getLabel(), is("Greet")); assertThat(action.getLabel(), is("Greet"));
assertThat(action.getDescription(), is("Greets the person.")); assertThat(action.getDescription(), is("Greets the person."));
@@ -13,6 +13,7 @@
package org.openhab.core.io.dto; package org.openhab.core.io.dto;
import java.io.IOException; import java.io.IOException;
import java.io.Serial;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@@ -25,6 +26,7 @@ import org.eclipse.jdt.annotation.Nullable;
@NonNullByDefault @NonNullByDefault
public class SerializationException extends IOException { public class SerializationException extends IOException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**