From e958d5b46a3b34cc0ec772efbb096961918192f8 Mon Sep 17 00:00:00 2001 From: Wouter Born Date: Thu, 28 Dec 2023 09:55:31 +0100 Subject: [PATCH] Replace lambdas with method references (#3972) Method references are more readable because they refer to class names and usually result in less code. Signed-off-by: Wouter Born --- .../xml/AddonDiscoveryMethodConverter.java | 4 ++-- .../internal/xml/AddonInfoConverter.java | 2 +- .../internal/xml/AddonInfoListConverter.java | 5 ++-- .../core/audio/internal/AudioServlet.java | 2 +- .../internal/MediaActionTypeProvider.java | 2 +- .../i18n/I18nConfigOptionsProvider.java | 6 ++--- .../internal/validation/OptionsValidator.java | 4 +++- .../discovery/addon/ip/IpAddonFinder.java | 6 +++-- .../discovery/addon/mdns/MDNSAddonFinder.java | 6 +++-- .../discovery/addon/upnp/UpnpAddonFinder.java | 3 ++- .../discovery/addon/usb/UsbAddonFinder.java | 5 ++-- .../discovery/AbstractDiscoveryService.java | 2 +- .../dispatch/internal/ConfigDispatcher.java | 15 ++++-------- .../ItemConsoleCommandCompleter.java | 4 ++-- .../ItemConsoleCommandExtension.java | 2 +- .../item/MetadataSelectorMatcher.java | 2 +- .../internal/profile/ProfileTypeResource.java | 2 +- .../core/io/transport/modbus/BitArray.java | 2 +- .../core/io/transport/modbus/ValueBuffer.java | 2 +- .../modbus/internal/ModbusManagerImpl.java | 4 ++-- ...ModbusSlaveErrorResponseExceptionImpl.java | 2 +- ...UtilitiesExtractIndividualMethodsTest.java | 23 +++++++++---------- .../internal/SemanticTagRegistryImpl.java | 3 ++- .../storage/json/internal/JsonStorage.java | 2 +- .../internal/StorageEntryMapDeserializer.java | 2 +- ...hingStatusInfoI18nLocalizationService.java | 2 +- .../core/thing/link/AbstractLinkRegistry.java | 2 +- .../DefaultChartProvider.java | 2 +- 28 files changed, 61 insertions(+), 57 deletions(-) diff --git a/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonDiscoveryMethodConverter.java b/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonDiscoveryMethodConverter.java index 26cb3357a..21e6390d7 100644 --- a/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonDiscoveryMethodConverter.java +++ b/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonDiscoveryMethodConverter.java @@ -49,11 +49,11 @@ public class AddonDiscoveryMethodConverter extends GenericUnmarshaller parameters = !(paramObject instanceof List list) ? null - : list.stream().filter(e -> (e instanceof AddonParameter)).map(e -> ((AddonParameter) e)).toList(); + : list.stream().filter(AddonParameter.class::isInstance).map(e -> ((AddonParameter) e)).toList(); Object matchPropObject = nodeIterator.nextList("match-properties", false); List matchProperties = !(matchPropObject instanceof List list) ? null - : list.stream().filter(e -> (e instanceof AddonMatchProperty)).map(e -> ((AddonMatchProperty) e)) + : list.stream().filter(AddonMatchProperty.class::isInstance).map(e -> ((AddonMatchProperty) e)) .toList(); nodeIterator.assertEndOfType(); diff --git a/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoConverter.java b/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoConverter.java index 2e1db8440..d2be76e80 100644 --- a/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoConverter.java +++ b/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoConverter.java @@ -111,7 +111,7 @@ public class AddonInfoConverter extends GenericUnmarshaller Object object = nodeIterator.nextList("discovery-methods", false); addonInfo.withDiscoveryMethods(!(object instanceof List list) ? null - : list.stream().filter(e -> (e instanceof AddonDiscoveryMethod)).map(e -> ((AddonDiscoveryMethod) e)) + : list.stream().filter(AddonDiscoveryMethod.class::isInstance).map(e -> ((AddonDiscoveryMethod) e)) .toList()); nodeIterator.assertEndOfType(); diff --git a/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoListConverter.java b/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoListConverter.java index 60a93ad00..679da98bd 100644 --- a/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoListConverter.java +++ b/bundles/org.openhab.core.addon/src/main/java/org/openhab/core/addon/internal/xml/AddonInfoListConverter.java @@ -13,6 +13,7 @@ package org.openhab.core.addon.internal.xml; import java.util.List; +import java.util.Objects; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -46,8 +47,8 @@ public class AddonInfoListConverter extends GenericUnmarshaller { Object object = nodeIterator.nextList("addons", false); List addons = (object instanceof List list) - ? list.stream().filter(e -> e != null).filter(e -> (e instanceof AddonInfoXmlResult)) - .map(e -> (AddonInfoXmlResult) e).map(r -> r.addonInfo()).toList() + ? list.stream().filter(Objects::nonNull).filter(AddonInfoXmlResult.class::isInstance) + .map(e -> (AddonInfoXmlResult) e).map(AddonInfoXmlResult::addonInfo).toList() : null; nodeIterator.assertEndOfType(); diff --git a/bundles/org.openhab.core.audio/src/main/java/org/openhab/core/audio/internal/AudioServlet.java b/bundles/org.openhab.core.audio/src/main/java/org/openhab/core/audio/internal/AudioServlet.java index 7238df8fb..4b1a84cac 100644 --- a/bundles/org.openhab.core.audio/src/main/java/org/openhab/core/audio/internal/AudioServlet.java +++ b/bundles/org.openhab.core.audio/src/main/java/org/openhab/core/audio/internal/AudioServlet.java @@ -102,7 +102,7 @@ public class AudioServlet extends HttpServlet implements AudioHTTPServer { @Deactivate protected synchronized void deactivate() { - servedStreams.values().stream().map(streamServed -> streamServed.audioStream()).forEach(this::tryClose); + servedStreams.values().stream().map(StreamServed::audioStream).forEach(this::tryClose); servedStreams.clear(); } diff --git a/bundles/org.openhab.core.automation.module.media/src/main/java/org/openhab/core/automation/module/media/internal/MediaActionTypeProvider.java b/bundles/org.openhab.core.automation.module.media/src/main/java/org/openhab/core/automation/module/media/internal/MediaActionTypeProvider.java index 0cd84f477..5fd91b14c 100644 --- a/bundles/org.openhab.core.automation.module.media/src/main/java/org/openhab/core/automation/module/media/internal/MediaActionTypeProvider.java +++ b/bundles/org.openhab.core.automation.module.media/src/main/java/org/openhab/core/automation/module/media/internal/MediaActionTypeProvider.java @@ -148,7 +148,7 @@ public class MediaActionTypeProvider implements ModuleTypeProvider { options.add(new ParameterOption(fileName, capitalizedSoundName)); } } - options.sort(comparing(o -> o.getLabel())); + options.sort(comparing(ParameterOption::getLabel)); } return options; } diff --git a/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/i18n/I18nConfigOptionsProvider.java b/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/i18n/I18nConfigOptionsProvider.java index 53b6dc4d6..84123c34e 100644 --- a/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/i18n/I18nConfigOptionsProvider.java +++ b/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/i18n/I18nConfigOptionsProvider.java @@ -78,8 +78,8 @@ public class I18nConfigOptionsProvider implements ConfigOptionProvider { } private Collection processTimeZoneParam() { - Comparator byOffset = (t1, t2) -> t1.getRawOffset() - t2.getRawOffset(); - Comparator byID = (t1, t2) -> t1.getID().compareTo(t2.getID()); + Comparator byOffset = Comparator.comparingInt(TimeZone::getRawOffset); + Comparator byID = Comparator.comparing(TimeZone::getID); return ZoneId.getAvailableZoneIds().stream().map(TimeZone::getTimeZone).sorted(byOffset.thenComparing(byID)) .map(tz -> new ParameterOption(tz.getID(), getTimeZoneRepresentation(tz))).toList(); } @@ -105,7 +105,7 @@ public class I18nConfigOptionsProvider implements ConfigOptionProvider { .map(mapFunction) // .distinct() // .filter(po -> !po.getValue().isEmpty()) // - .sorted(Comparator.comparing(a -> a.getLabel())) // + .sorted(Comparator.comparing(ParameterOption::getLabel)) // .toList(); } } diff --git a/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/validation/OptionsValidator.java b/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/validation/OptionsValidator.java index db2c7d2ef..ba80dae17 100644 --- a/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/validation/OptionsValidator.java +++ b/bundles/org.openhab.core.config.core/src/main/java/org/openhab/core/config/core/internal/validation/OptionsValidator.java @@ -17,6 +17,7 @@ import java.math.BigDecimal; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.core.config.core.ConfigDescriptionParameter; +import org.openhab.core.config.core.ParameterOption; import org.openhab.core.config.core.validation.ConfigValidationMessage; /** @@ -42,7 +43,8 @@ final class OptionsValidator implements ConfigDescriptionParameterValidator { invalid = param.getOptions().stream().map(o -> new BigDecimal(o.getValue())) .noneMatch(v -> v.compareTo(bdValue) == 0); } else { - invalid = param.getOptions().stream().map(o -> o.getValue()).noneMatch(v -> v.equals(value.toString())); + invalid = param.getOptions().stream().map(ParameterOption::getValue) + .noneMatch(v -> v.equals(value.toString())); } if (invalid) { diff --git a/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java b/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java index 252103dc1..dc0bf1c47 100644 --- a/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java +++ b/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java @@ -45,6 +45,8 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.core.addon.AddonDiscoveryMethod; import org.openhab.core.addon.AddonInfo; +import org.openhab.core.addon.AddonMatchProperty; +import org.openhab.core.addon.AddonParameter; import org.openhab.core.common.ThreadPoolManager; import org.openhab.core.config.discovery.addon.AddonFinder; import org.openhab.core.config.discovery.addon.BaseAddonFinder; @@ -196,9 +198,9 @@ public class IpAddonFinder extends BaseAddonFinder { logger.trace("Checking candidate: {}", candidate.getUID()); Map parameters = method.getParameters().stream() - .collect(Collectors.toMap(property -> property.getName(), property -> property.getValue())); + .collect(Collectors.toMap(AddonParameter::getName, AddonParameter::getValue)); Map matchProperties = method.getMatchProperties().stream() - .collect(Collectors.toMap(property -> property.getName(), property -> property.getRegex())); + .collect(Collectors.toMap(AddonMatchProperty::getName, AddonMatchProperty::getRegex)); // parse standard set of parameters String type = Objects.toString(parameters.get("type"), ""); diff --git a/bundles/org.openhab.core.config.discovery.addon.mdns/src/main/java/org/openhab/core/config/discovery/addon/mdns/MDNSAddonFinder.java b/bundles/org.openhab.core.config.discovery.addon.mdns/src/main/java/org/openhab/core/config/discovery/addon/mdns/MDNSAddonFinder.java index da9bf10e2..970df1288 100644 --- a/bundles/org.openhab.core.config.discovery.addon.mdns/src/main/java/org/openhab/core/config/discovery/addon/mdns/MDNSAddonFinder.java +++ b/bundles/org.openhab.core.config.discovery.addon.mdns/src/main/java/org/openhab/core/config/discovery/addon/mdns/MDNSAddonFinder.java @@ -31,6 +31,8 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.core.addon.AddonDiscoveryMethod; import org.openhab.core.addon.AddonInfo; +import org.openhab.core.addon.AddonMatchProperty; +import org.openhab.core.addon.AddonParameter; import org.openhab.core.common.ThreadPoolManager; import org.openhab.core.config.discovery.addon.AddonFinder; import org.openhab.core.config.discovery.addon.BaseAddonFinder; @@ -127,7 +129,7 @@ public class MDNSAddonFinder extends BaseAddonFinder implements ServiceListener for (AddonDiscoveryMethod method : candidate.getDiscoveryMethods().stream() .filter(method -> SERVICE_TYPE.equals(method.getServiceType())).toList()) { Map matchProperties = method.getMatchProperties().stream() - .collect(Collectors.toMap(property -> property.getName(), property -> property.getPattern())); + .collect(Collectors.toMap(AddonMatchProperty::getName, AddonMatchProperty::getPattern)); Set matchPropertyKeys = matchProperties.keySet().stream() .filter(property -> (!NAME.equals(property) && !APPLICATION.equals(property))) @@ -154,7 +156,7 @@ public class MDNSAddonFinder extends BaseAddonFinder implements ServiceListener private String getMdnsServiceType(AddonDiscoveryMethod method) { String param = method.getParameters().stream().filter(p -> MDNS_SERVICE_TYPE.equals(p.getName())) - .map(p -> p.getValue()).findFirst().orElse(""); + .map(AddonParameter::getValue).findFirst().orElse(""); return param == null ? "" : param; } diff --git a/bundles/org.openhab.core.config.discovery.addon.upnp/src/main/java/org/openhab/core/config/discovery/addon/upnp/UpnpAddonFinder.java b/bundles/org.openhab.core.config.discovery.addon.upnp/src/main/java/org/openhab/core/config/discovery/addon/upnp/UpnpAddonFinder.java index 8ef19064b..24628890f 100644 --- a/bundles/org.openhab.core.config.discovery.addon.upnp/src/main/java/org/openhab/core/config/discovery/addon/upnp/UpnpAddonFinder.java +++ b/bundles/org.openhab.core.config.discovery.addon.upnp/src/main/java/org/openhab/core/config/discovery/addon/upnp/UpnpAddonFinder.java @@ -39,6 +39,7 @@ import org.jupnp.registry.Registry; import org.jupnp.registry.RegistryListener; import org.openhab.core.addon.AddonDiscoveryMethod; import org.openhab.core.addon.AddonInfo; +import org.openhab.core.addon.AddonMatchProperty; import org.openhab.core.config.discovery.addon.AddonFinder; import org.openhab.core.config.discovery.addon.BaseAddonFinder; import org.osgi.service.component.annotations.Activate; @@ -126,7 +127,7 @@ public class UpnpAddonFinder extends BaseAddonFinder implements RegistryListener for (AddonDiscoveryMethod method : candidate.getDiscoveryMethods().stream() .filter(method -> SERVICE_TYPE.equals(method.getServiceType())).toList()) { Map matchProperties = method.getMatchProperties().stream() - .collect(Collectors.toMap(property -> property.getName(), property -> property.getPattern())); + .collect(Collectors.toMap(AddonMatchProperty::getName, AddonMatchProperty::getPattern)); Set propertyNames = new HashSet<>(matchProperties.keySet()); propertyNames.removeAll(SUPPORTED_PROPERTIES); diff --git a/bundles/org.openhab.core.config.discovery.addon.usb/src/main/java/org/openhab/core/config/discovery/addon/usb/UsbAddonFinder.java b/bundles/org.openhab.core.config.discovery.addon.usb/src/main/java/org/openhab/core/config/discovery/addon/usb/UsbAddonFinder.java index 2015a1c89..946c1de40 100644 --- a/bundles/org.openhab.core.config.discovery.addon.usb/src/main/java/org/openhab/core/config/discovery/addon/usb/UsbAddonFinder.java +++ b/bundles/org.openhab.core.config.discovery.addon.usb/src/main/java/org/openhab/core/config/discovery/addon/usb/UsbAddonFinder.java @@ -26,6 +26,7 @@ import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.core.addon.AddonDiscoveryMethod; import org.openhab.core.addon.AddonInfo; +import org.openhab.core.addon.AddonMatchProperty; import org.openhab.core.config.discovery.addon.AddonFinder; import org.openhab.core.config.discovery.addon.BaseAddonFinder; import org.openhab.core.config.discovery.usbserial.UsbSerialDeviceInformation; @@ -39,7 +40,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * This is a {@link USBAddonFinder} for finding suggested add-ons related to USB devices. + * This is a {@link AddonFinder} for finding suggested add-ons related to USB devices. *

* It supports the following values for the 'match-property' 'name' element: *

  • product - match on the product description text @@ -89,7 +90,7 @@ public class UsbAddonFinder extends BaseAddonFinder implements UsbSerialDiscover for (AddonDiscoveryMethod method : candidate.getDiscoveryMethods().stream() .filter(method -> SERVICE_TYPE.equals(method.getServiceType())).toList()) { Map matchProperties = method.getMatchProperties().stream() - .collect(Collectors.toMap(property -> property.getName(), property -> property.getPattern())); + .collect(Collectors.toMap(AddonMatchProperty::getName, AddonMatchProperty::getPattern)); Set propertyNames = new HashSet<>(matchProperties.keySet()); propertyNames.removeAll(SUPPORTED_PROPERTIES); diff --git a/bundles/org.openhab.core.config.discovery/src/main/java/org/openhab/core/config/discovery/AbstractDiscoveryService.java b/bundles/org.openhab.core.config.discovery/src/main/java/org/openhab/core/config/discovery/AbstractDiscoveryService.java index f207a79f8..6b9f9e04e 100644 --- a/bundles/org.openhab.core.config.discovery/src/main/java/org/openhab/core/config/discovery/AbstractDiscoveryService.java +++ b/bundles/org.openhab.core.config.discovery/src/main/java/org/openhab/core/config/discovery/AbstractDiscoveryService.java @@ -482,7 +482,7 @@ public abstract class AbstractDiscoveryService implements DiscoveryService { this.args = null; } else { this.args = Arrays.stream(parts[1].replaceAll("\\[|\\]|\"", "").split(",")) - .filter(s -> s != null && !s.isBlank()).map(s -> s.trim()).toArray(Object[]::new); + .filter(s -> s != null && !s.isBlank()).map(String::trim).toArray(Object[]::new); } } } diff --git a/bundles/org.openhab.core.config.dispatch/src/main/java/org/openhab/core/config/dispatch/internal/ConfigDispatcher.java b/bundles/org.openhab.core.config.dispatch/src/main/java/org/openhab/core/config/dispatch/internal/ConfigDispatcher.java index ee1175d6a..351e7a5c6 100644 --- a/bundles/org.openhab.core.config.dispatch/src/main/java/org/openhab/core/config/dispatch/internal/ConfigDispatcher.java +++ b/bundles/org.openhab.core.config.dispatch/src/main/java/org/openhab/core/config/dispatch/internal/ConfigDispatcher.java @@ -229,12 +229,7 @@ public class ConfigDispatcher { File[] files = dir.listFiles(); // Sort the files by modification time, // so that the last modified file is processed last. - Arrays.sort(files, new Comparator() { - @Override - public int compare(File left, File right) { - return Long.compare(left.lastModified(), right.lastModified()); - } - }); + Arrays.sort(files, Comparator.comparingLong(File::lastModified)); for (File file : files) { try { internalProcessConfigFile(file); @@ -440,7 +435,7 @@ public class ConfigDispatcher { .replace(DEFAULT_LIST_STARTING_CHARACTER, "") // .replace(DEFAULT_LIST_ENDING_CHARACTER, "")// .split(DEFAULT_LIST_DELIMITER))// - .map(v -> v.trim())// + .map(String::trim)// .filter(v -> !v.isEmpty())// .toList(); return new ParseLineResult(pid, property.trim(), values); @@ -537,7 +532,7 @@ public class ConfigDispatcher { * @return the list of PIDs which where not processed either during #activate or on file deleted event. */ public List getOrphanPIDs() { - return processedPIDMapping.entrySet().stream().filter(e -> e.getValue() == null).map(e -> e.getKey()) + return processedPIDMapping.entrySet().stream().filter(e -> e.getValue() == null).map(Entry::getKey) .toList(); } @@ -545,8 +540,8 @@ public class ConfigDispatcher { * Set the exclusivePID list to the processed PIDs (mapped path is not null). */ public void setCurrentExclusivePIDList() { - exclusivePIDs = processedPIDMapping.entrySet().stream().filter(e -> e.getValue() != null) - .map(e -> e.getKey()).toList(); + exclusivePIDs = processedPIDMapping.entrySet().stream().filter(e -> e.getValue() != null).map(Entry::getKey) + .toList(); } public boolean contains(String pid) { diff --git a/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandCompleter.java b/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandCompleter.java index a3981197b..9f02a00e8 100644 --- a/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandCompleter.java +++ b/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandCompleter.java @@ -50,8 +50,8 @@ public class ItemConsoleCommandCompleter implements ConsoleCommandCompleter { @SuppressWarnings("unchecked") public boolean complete(String[] args, int cursorArgumentIndex, int cursorPosition, List candidates) { if (cursorArgumentIndex <= 0) { - return new StringsCompleter(itemRegistry.getAll().stream().map(i -> i.getName()).toList(), true) - .complete(args, cursorArgumentIndex, cursorPosition, candidates); + return new StringsCompleter(itemRegistry.getAll().stream().map(Item::getName).toList(), true).complete(args, + cursorArgumentIndex, cursorPosition, candidates); } var localDataTypeGetter = dataTypeGetter; if (cursorArgumentIndex == 1 && localDataTypeGetter != null) { diff --git a/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandExtension.java b/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandExtension.java index de1cc2100..53d3d4e25 100644 --- a/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandExtension.java +++ b/bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/internal/extension/ItemConsoleCommandExtension.java @@ -72,7 +72,7 @@ public class ItemConsoleCommandExtension extends AbstractConsoleCommandExtension default: return false; } - return new StringsCompleter(items.stream().map(i -> i.getName()).toList(), true).complete(args, + return new StringsCompleter(items.stream().map(Item::getName).toList(), true).complete(args, cursorArgumentIndex, cursorPosition, candidates); } if (cursorArgumentIndex == 2 && args[0].equals(SUBCMD_RMTAG)) { diff --git a/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/item/MetadataSelectorMatcher.java b/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/item/MetadataSelectorMatcher.java index b774f5a07..cc7b73a02 100644 --- a/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/item/MetadataSelectorMatcher.java +++ b/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/item/MetadataSelectorMatcher.java @@ -57,7 +57,7 @@ public class MetadataSelectorMatcher { } else { Set originalNamespaces = Arrays.stream(namespaceSelector.split(",")) // .filter(n -> !metadataRegistry.isInternalNamespace(n)) // - .map(n -> n.trim()) // + .map(String::trim) // .collect(Collectors.toSet()); Set allMetadataNamespaces = metadataRegistry.getAll().stream() // diff --git a/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/profile/ProfileTypeResource.java b/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/profile/ProfileTypeResource.java index 3e2023468..8107faf27 100644 --- a/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/profile/ProfileTypeResource.java +++ b/bundles/org.openhab.core.io.rest.core/src/main/java/org/openhab/core/io/rest/core/internal/profile/ProfileTypeResource.java @@ -116,7 +116,7 @@ public class ProfileTypeResource implements RESTResource { @Nullable String itemType) { return profileTypeRegistry.getProfileTypes(locale).stream().filter(matchesChannelUID(channelTypeUID, locale)) .filter(matchesItemType(itemType)).sorted(Comparator.comparing(ProfileType::getLabel)) - .map(profileType -> ProfileTypeDTOMapper.map(profileType)); + .map(ProfileTypeDTOMapper::map); } private Predicate matchesChannelUID(@Nullable String channelTypeUID, @Nullable Locale locale) { diff --git a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/BitArray.java b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/BitArray.java index 370b4e122..24f2367fa 100644 --- a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/BitArray.java +++ b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/BitArray.java @@ -118,7 +118,7 @@ public class BitArray implements Iterable { @Override public Iterator iterator() { - return IntStream.range(0, size()).mapToObj(i -> getBit(i)).iterator(); + return IntStream.range(0, size()).mapToObj(this::getBit).iterator(); } @Override diff --git a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/ValueBuffer.java b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/ValueBuffer.java index fdbe674db..76976dd01 100644 --- a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/ValueBuffer.java +++ b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/ValueBuffer.java @@ -108,7 +108,7 @@ public class ValueBuffer { * @throws InvalidMarkException If the mark has not been set */ public ValueBuffer reset() throws InvalidMarkException { - int mark = Optional.ofNullable(this.mark.get()).map(i -> i.get()).orElse(-1); + int mark = Optional.ofNullable(this.mark.get()).map(AtomicInteger::get).orElse(-1); if (mark < 0) { throw new InvalidMarkException(); } diff --git a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusManagerImpl.java b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusManagerImpl.java index 8c75042aa..1f113e251 100644 --- a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusManagerImpl.java +++ b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusManagerImpl.java @@ -205,7 +205,7 @@ public class ModbusManagerImpl implements ModbusManager { request.getFunctionCode(), libRequest.getHexMessage(), operationId); // Might throw ModbusIOException (I/O error) or ModbusSlaveException (explicit exception response from // slave) - timer.transaction.timeRunnableWithModbusException(() -> transaction.execute()); + timer.transaction.timeRunnableWithModbusException(transaction::execute); ModbusResponse response = transaction.getResponse(); logger.trace("Response for read request (FC={}, transaction ID={}): {} [operation ID {}]", response.getFunctionCode(), response.getTransactionID(), response.getHexMessage(), operationId); @@ -243,7 +243,7 @@ public class ModbusManagerImpl implements ModbusManager { // Might throw ModbusIOException (I/O error) or ModbusSlaveException (explicit exception response from // slave) - timer.transaction.timeRunnableWithModbusException(() -> transaction.execute()); + timer.transaction.timeRunnableWithModbusException(transaction::execute); ModbusResponse response = transaction.getResponse(); logger.trace("Response for write request (FC={}, transaction ID={}): {} [operation ID {}]", response.getFunctionCode(), response.getTransactionID(), response.getHexMessage(), operationId); diff --git a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusSlaveErrorResponseExceptionImpl.java b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusSlaveErrorResponseExceptionImpl.java index 6e4b22cf2..40327013c 100644 --- a/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusSlaveErrorResponseExceptionImpl.java +++ b/bundles/org.openhab.core.io.transport.modbus/src/main/java/org/openhab/core/io/transport/modbus/internal/ModbusSlaveErrorResponseExceptionImpl.java @@ -50,7 +50,7 @@ public class ModbusSlaveErrorResponseExceptionImpl extends ModbusSlaveErrorRespo @Override public @Nullable String getMessage() { return String.format("Slave responded with error=%d (%s)", rawCode, - exceptionCode.map(c -> c.name()).orElse("unknown error code")); + exceptionCode.map(Enum::name).orElse("unknown error code")); } @Override diff --git a/bundles/org.openhab.core.io.transport.modbus/src/test/java/org/openhab/core/io/transport/modbus/test/BitUtilitiesExtractIndividualMethodsTest.java b/bundles/org.openhab.core.io.transport.modbus/src/test/java/org/openhab/core/io/transport/modbus/test/BitUtilitiesExtractIndividualMethodsTest.java index e191fbbbf..9cf87ed2b 100644 --- a/bundles/org.openhab.core.io.transport.modbus/src/test/java/org/openhab/core/io/transport/modbus/test/BitUtilitiesExtractIndividualMethodsTest.java +++ b/bundles/org.openhab.core.io.transport.modbus/src/test/java/org/openhab/core/io/transport/modbus/test/BitUtilitiesExtractIndividualMethodsTest.java @@ -105,7 +105,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { type); final Object expectedNumber; if (expectedResult instanceof Class class1 && Exception.class.isAssignableFrom(class1)) { - assertThrows((Class) expectedResult, () -> methodUnderTest.get()); + assertThrows((Class) expectedResult, methodUnderTest::get); } else if (expectedResult instanceof Optional optional) { assertTrue(optional.isEmpty()); if (defaultWhenEmptyOptional == null) { @@ -128,7 +128,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualSInt16(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, () -> ModbusBitUtilities.extractSInt16(bytes, byteIndex), - decimal -> decimal.shortValue()); + Number::shortValue); } public static Stream filteredTestDataUInt16() { @@ -140,7 +140,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualUInt16(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, () -> ModbusBitUtilities.extractUInt16(bytes, byteIndex), - decimal -> decimal.intValue()); + DecimalType::intValue); } public static Stream filteredTestDataSInt32() { @@ -152,7 +152,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualSInt32(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, () -> ModbusBitUtilities.extractSInt32(bytes, byteIndex), - decimal -> decimal.intValue()); + DecimalType::intValue); } public static Stream filteredTestDataUInt32() { @@ -164,7 +164,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualUInt32(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, () -> ModbusBitUtilities.extractUInt32(bytes, byteIndex), - decimal -> decimal.longValue()); + DecimalType::longValue); } public static Stream filteredTestDataSInt32Swap() { @@ -176,7 +176,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualSInt32Swap(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, - () -> ModbusBitUtilities.extractSInt32Swap(bytes, byteIndex), decimal -> decimal.intValue()); + () -> ModbusBitUtilities.extractSInt32Swap(bytes, byteIndex), DecimalType::intValue); } public static Stream filteredTestDataUInt32Swap() { @@ -188,7 +188,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualUInt32Swap(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, - () -> ModbusBitUtilities.extractUInt32Swap(bytes, byteIndex), decimal -> decimal.longValue()); + () -> ModbusBitUtilities.extractUInt32Swap(bytes, byteIndex), DecimalType::longValue); } public static Stream filteredTestDataSInt64() { @@ -200,7 +200,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualSInt64(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, () -> ModbusBitUtilities.extractSInt64(bytes, byteIndex), - decimal -> decimal.longValue()); + DecimalType::longValue); } public static Stream filteredTestDataUInt64() { @@ -224,7 +224,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualSInt64Swap(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, - () -> ModbusBitUtilities.extractSInt64Swap(bytes, byteIndex), decimal -> decimal.longValue()); + () -> ModbusBitUtilities.extractSInt64Swap(bytes, byteIndex), DecimalType::longValue); } public static Stream filteredTestDataUInt64Swap() { @@ -249,7 +249,7 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualFloat32(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, - () -> ModbusBitUtilities.extractFloat32(bytes, byteIndex), decimal -> decimal.floatValue(), Float.NaN); + () -> ModbusBitUtilities.extractFloat32(bytes, byteIndex), DecimalType::floatValue, Float.NaN); } public static Stream filteredTestDataFloat32Swap() { @@ -261,7 +261,6 @@ public class BitUtilitiesExtractIndividualMethodsTest { public void testExtractIndividualFloat32Swap(Object expectedResult, ValueType type, byte[] bytes, int byteIndex) throws InstantiationException, IllegalAccessException { testIndividual(expectedResult, type, bytes, byteIndex, - () -> ModbusBitUtilities.extractFloat32Swap(bytes, byteIndex), decimal -> decimal.floatValue(), - Float.NaN); + () -> ModbusBitUtilities.extractFloat32Swap(bytes, byteIndex), DecimalType::floatValue, Float.NaN); } } diff --git a/bundles/org.openhab.core.semantics/src/main/java/org/openhab/core/semantics/internal/SemanticTagRegistryImpl.java b/bundles/org.openhab.core.semantics/src/main/java/org/openhab/core/semantics/internal/SemanticTagRegistryImpl.java index 55a9d0115..e8e10baea 100644 --- a/bundles/org.openhab.core.semantics/src/main/java/org/openhab/core/semantics/internal/SemanticTagRegistryImpl.java +++ b/bundles/org.openhab.core.semantics/src/main/java/org/openhab/core/semantics/internal/SemanticTagRegistryImpl.java @@ -21,6 +21,7 @@ import org.eclipse.jdt.annotation.Nullable; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.Opcodes; import org.openhab.core.common.registry.AbstractRegistry; +import org.openhab.core.common.registry.Identifiable; import org.openhab.core.common.registry.Provider; import org.openhab.core.semantics.Equipment; import org.openhab.core.semantics.Location; @@ -133,7 +134,7 @@ public class SemanticTagRegistryImpl extends AbstractRegistry getSubTree(SemanticTag tag) { - List ids = getAll().stream().map(t -> t.getUID()).filter(uid -> uid.startsWith(tag.getUID() + "_")) + List ids = getAll().stream().map(Identifiable::getUID).filter(uid -> uid.startsWith(tag.getUID() + "_")) .toList(); List tags = new ArrayList<>(); tags.add(tag); diff --git a/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/JsonStorage.java b/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/JsonStorage.java index d817999eb..3dedd6bb1 100644 --- a/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/JsonStorage.java +++ b/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/JsonStorage.java @@ -100,7 +100,7 @@ public class JsonStorage implements Storage { this.maxBackupFiles = maxBackupFiles; this.writeDelay = writeDelay; this.maxDeferredPeriod = maxDeferredPeriod; - this.typeMigrators = typeMigrators.stream().collect(Collectors.toMap(e -> e.getOldType(), e -> e)); + this.typeMigrators = typeMigrators.stream().collect(Collectors.toMap(TypeMigrator::getOldType, e -> e)); this.internalMapper = new GsonBuilder() // .registerTypeHierarchyAdapter(Map.class, new OrderingMapSerializer())// diff --git a/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/StorageEntryMapDeserializer.java b/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/StorageEntryMapDeserializer.java index a817653b0..b6206a939 100644 --- a/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/StorageEntryMapDeserializer.java +++ b/bundles/org.openhab.core.storage.json/src/main/java/org/openhab/core/storage/json/internal/StorageEntryMapDeserializer.java @@ -60,7 +60,7 @@ public class StorageEntryMapDeserializer implements JsonDeserializer keys = entrySet.stream().map(e -> e.getKey()).collect(Collectors.toSet()); + Set keys = entrySet.stream().map(Entry::getKey).collect(Collectors.toSet()); if (!keys.contains(JsonStorage.CLASS) || !keys.contains(JsonStorage.VALUE)) { return false; } diff --git a/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/i18n/ThingStatusInfoI18nLocalizationService.java b/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/i18n/ThingStatusInfoI18nLocalizationService.java index 2b08a5922..07b883c31 100644 --- a/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/i18n/ThingStatusInfoI18nLocalizationService.java +++ b/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/i18n/ThingStatusInfoI18nLocalizationService.java @@ -172,7 +172,7 @@ public final class ThingStatusInfoI18nLocalizationService { this.args = null; } else { this.args = Arrays.stream(parts[1].replaceAll("\\[|\\]|\"", "").split(",")) - .filter(s -> s != null && !s.trim().isEmpty()).map(s -> s.trim()).toArray(String[]::new); + .filter(s -> s != null && !s.trim().isEmpty()).map(String::trim).toArray(String[]::new); } } } diff --git a/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/link/AbstractLinkRegistry.java b/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/link/AbstractLinkRegistry.java index f58b920b5..79080bae3 100644 --- a/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/link/AbstractLinkRegistry.java +++ b/bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/link/AbstractLinkRegistry.java @@ -185,7 +185,7 @@ public abstract class AbstractLinkRegistry link.getItemName()).collect(Collectors.toSet()); + return forLinkedUID.stream().map(AbstractLink::getItemName).collect(Collectors.toSet()); } finally { toLinkLock.readLock().unlock(); } diff --git a/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/chart/defaultchartprovider/DefaultChartProvider.java b/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/chart/defaultchartprovider/DefaultChartProvider.java index 1c8304a33..ca2326735 100644 --- a/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/chart/defaultchartprovider/DefaultChartProvider.java +++ b/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/chart/defaultchartprovider/DefaultChartProvider.java @@ -153,7 +153,7 @@ public class DefaultChartProvider implements ChartProvider { QueryablePersistenceService persistenceService = (service instanceof QueryablePersistenceService qps) ? qps : (QueryablePersistenceService) persistenceServiceRegistry.getAll() // .stream() // - .filter(it -> it instanceof QueryablePersistenceService) // + .filter(QueryablePersistenceService.class::isInstance) // .findFirst() // .orElseThrow(() -> new IllegalArgumentException("No Persistence service found."));