Java 17 features (T-Z) (#15576)
- add missing @override - Java style array syntax - remove redundant modifiers - always move String constants to left side in comparisons - simplify lambda expressions and return statements - use replace instead of replaceAll w/o regex - instanceof matching and multiline strings - remove null check before instanceof Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
This commit is contained in:
@@ -101,7 +101,7 @@ public class VDRHandler extends BaseThingHandler {
|
||||
Map<String, String> properties = editProperties();
|
||||
// set vdr version to properties of thing
|
||||
String version = client.getSVDRPVersion();
|
||||
properties.put(VDRBindingConstants.PROPERTY_VERSION, version.toString());
|
||||
properties.put(VDRBindingConstants.PROPERTY_VERSION, version);
|
||||
|
||||
// persist changes only if there are any changes.
|
||||
if (!editProperties().equals(properties)) {
|
||||
|
||||
@@ -14,7 +14,6 @@ package org.openhab.binding.vdr.internal;
|
||||
|
||||
import static org.openhab.binding.vdr.internal.VDRBindingConstants.THING_TYPE_VDR;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
@@ -39,7 +38,7 @@ import org.osgi.service.component.annotations.Reference;
|
||||
@Component(configurationPid = "binding.vdr", service = ThingHandlerFactory.class)
|
||||
public class VDRHandlerFactory extends BaseThingHandlerFactory {
|
||||
|
||||
private static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_VDR);
|
||||
private static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_VDR);
|
||||
|
||||
private final TimeZoneProvider timeZoneProvider;
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ public class SVDRPChannel {
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (number >= 0) {
|
||||
sb.append("Number: " + String.valueOf(number) + System.lineSeparator());
|
||||
sb.append("Number: " + number + System.lineSeparator());
|
||||
}
|
||||
sb.append("Name: " + name + System.lineSeparator());
|
||||
return sb.toString();
|
||||
|
||||
@@ -219,8 +219,7 @@ public class SVDRPClientImpl implements SVDRPClient {
|
||||
res = execute("STAT disk");
|
||||
|
||||
if (res.getCode() == 250) {
|
||||
SVDRPDiskStatus status = SVDRPDiskStatus.parse(res.getMessage());
|
||||
return status;
|
||||
return SVDRPDiskStatus.parse(res.getMessage());
|
||||
} else {
|
||||
throw new SVDRPParseResponseException(res);
|
||||
}
|
||||
@@ -249,8 +248,7 @@ public class SVDRPClientImpl implements SVDRPClient {
|
||||
}
|
||||
|
||||
if (res != null && res.getCode() == 215) {
|
||||
SVDRPEpgEvent entry = SVDRPEpgEvent.parse(res.getMessage());
|
||||
return entry;
|
||||
return SVDRPEpgEvent.parse(res.getMessage());
|
||||
} else if (res != null) {
|
||||
throw new SVDRPParseResponseException(res);
|
||||
} else {
|
||||
@@ -272,8 +270,7 @@ public class SVDRPClientImpl implements SVDRPClient {
|
||||
res = execute("VOLU");
|
||||
|
||||
if (res.getCode() == 250) {
|
||||
SVDRPVolume volume = SVDRPVolume.parse(res.getMessage());
|
||||
return volume;
|
||||
return SVDRPVolume.parse(res.getMessage());
|
||||
} else {
|
||||
throw new SVDRPParseResponseException(res);
|
||||
}
|
||||
@@ -295,8 +292,7 @@ public class SVDRPClientImpl implements SVDRPClient {
|
||||
res = execute(String.format("VOLU %s", String.valueOf(Math.round(newVolumeDouble))));
|
||||
|
||||
if (res.getCode() == 250) {
|
||||
SVDRPVolume volume = SVDRPVolume.parse(res.getMessage());
|
||||
return volume;
|
||||
return SVDRPVolume.parse(res.getMessage());
|
||||
} else {
|
||||
throw new SVDRPParseResponseException(res);
|
||||
}
|
||||
@@ -352,8 +348,7 @@ public class SVDRPClientImpl implements SVDRPClient {
|
||||
res = execute("CHAN");
|
||||
|
||||
if (res.getCode() == 250) {
|
||||
SVDRPChannel channel = SVDRPChannel.parse(res.getMessage());
|
||||
return channel;
|
||||
return SVDRPChannel.parse(res.getMessage());
|
||||
} else {
|
||||
throw new SVDRPParseResponseException(res);
|
||||
}
|
||||
@@ -374,8 +369,7 @@ public class SVDRPClientImpl implements SVDRPClient {
|
||||
res = execute(String.format("CHAN %s", number));
|
||||
|
||||
if (res.getCode() == 250) {
|
||||
SVDRPChannel channel = SVDRPChannel.parse(res.getMessage());
|
||||
return channel;
|
||||
return SVDRPChannel.parse(res.getMessage());
|
||||
} else {
|
||||
throw new SVDRPParseResponseException(res);
|
||||
}
|
||||
|
||||
@@ -33,32 +33,72 @@ import org.openhab.binding.vdr.internal.svdrp.SVDRPParseResponseException;
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class SVDRPEpgEventTest {
|
||||
private final String epgResponseComplete = "C S19.2E-1-1201-28326 WDR HD Bielefeld\n"
|
||||
+ "E 9886 1610391600 900 4E F\n" + "T Tagesschau\n" + "S Aktuelle Nachrichten aus der Welt\n"
|
||||
+ "D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien\n"
|
||||
+ "G 20 80\n" + "X 2 03 deu stereo\n" + "X 2 03 deu ohne Audiodeskription\n"
|
||||
+ "X 3 01 deu Teletext-Untertitel\n" + "X 3 20 deu mit DVB-Untertitel\n" + "X 5 0B deu HD-Video\n"
|
||||
+ "V 1610391600\n" + "e\n" + "c\n" + "End of EPG data";
|
||||
private final String epgMissingSubtitle = "C S19.2E-1-1201-28326 WDR HD Bielefeld\n"
|
||||
+ "E 9886 1610391600 900 4E F\n" + "T Tagesschau\n"
|
||||
+ "D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien\n"
|
||||
+ "G 20 80\n" + "X 2 03 deu stereo\n" + "X 2 03 deu ohne Audiodeskription\n"
|
||||
+ "X 3 01 deu Teletext-Untertitel\n" + "X 3 20 deu mit DVB-Untertitel\n" + "X 5 0B deu HD-Video\n"
|
||||
+ "V 1610391600\n" + "e\n" + "c\n" + "End of EPG data";
|
||||
private final String epgResponseComplete = """
|
||||
C S19.2E-1-1201-28326 WDR HD Bielefeld
|
||||
E 9886 1610391600 900 4E F
|
||||
T Tagesschau
|
||||
S Aktuelle Nachrichten aus der Welt
|
||||
D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien
|
||||
G 20 80
|
||||
X 2 03 deu stereo
|
||||
X 2 03 deu ohne Audiodeskription
|
||||
X 3 01 deu Teletext-Untertitel
|
||||
X 3 20 deu mit DVB-Untertitel
|
||||
X 5 0B deu HD-Video
|
||||
V 1610391600
|
||||
e
|
||||
c
|
||||
End of EPG data\
|
||||
""";
|
||||
private final String epgMissingSubtitle = """
|
||||
C S19.2E-1-1201-28326 WDR HD Bielefeld
|
||||
E 9886 1610391600 900 4E F
|
||||
T Tagesschau
|
||||
D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien
|
||||
G 20 80
|
||||
X 2 03 deu stereo
|
||||
X 2 03 deu ohne Audiodeskription
|
||||
X 3 01 deu Teletext-Untertitel
|
||||
X 3 20 deu mit DVB-Untertitel
|
||||
X 5 0B deu HD-Video
|
||||
V 1610391600
|
||||
e
|
||||
c
|
||||
End of EPG data\
|
||||
""";
|
||||
private final String epgParseError = "E 9999999999999999999999999";
|
||||
private final String epgCorruptDate = "C S19.2E-1-1201-28326 WDR HD Bielefeld\n" + "E 9886 2a10391600 900 4E F\n"
|
||||
+ "T Tagesschau\n"
|
||||
+ "D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien\n"
|
||||
+ "G 20 80\n" + "X 2 03 deu stereo\n" + "X 2 03 deu ohne Audiodeskription\n"
|
||||
+ "X 3 01 deu Teletext-Untertitel\n" + "X 3 20 deu mit DVB-Untertitel\n" + "X 5 0B deu HD-Video\n"
|
||||
+ "V 1610391600\n" + "e\n" + "c\n" + "End of EPG data";
|
||||
private final String epgCorruptDate = """
|
||||
C S19.2E-1-1201-28326 WDR HD Bielefeld
|
||||
E 9886 2a10391600 900 4E F
|
||||
T Tagesschau
|
||||
D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien
|
||||
G 20 80
|
||||
X 2 03 deu stereo
|
||||
X 2 03 deu ohne Audiodeskription
|
||||
X 3 01 deu Teletext-Untertitel
|
||||
X 3 20 deu mit DVB-Untertitel
|
||||
X 5 0B deu HD-Video
|
||||
V 1610391600
|
||||
e
|
||||
c
|
||||
End of EPG data\
|
||||
""";
|
||||
|
||||
private final String epgMissingEnd = "C S19.2E-1-1201-28326 WDR HD Bielefeld\n" + "E 9886 1610391600 900 4E F\n"
|
||||
+ "T Tagesschau\n"
|
||||
+ "D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien\n"
|
||||
+ "G 20 80\n" + "X 2 03 deu stereo\n" + "X 2 03 deu ohne Audiodeskription\n"
|
||||
+ "X 3 01 deu Teletext-Untertitel\n" + "X 3 20 deu mit DVB-Untertitel\n" + "X 5 0B deu HD-Video\n"
|
||||
+ "V 1610391600\n" + "e\n" + "c\n";
|
||||
private final String epgMissingEnd = """
|
||||
C S19.2E-1-1201-28326 WDR HD Bielefeld
|
||||
E 9886 1610391600 900 4E F
|
||||
T Tagesschau
|
||||
D Themen u.a.:|* Corona-Pandemie in Deutschland: Verschärfter Lockdown bundesweit in Kraft|* Entmachtung des US-Präsidenten: Demokraten planen Schritte gegen Trump|* Wintereinbruch in Bosnien-Herzegowina: Dramatische Lage der Flüchtlinge an der Grenze zu Kroatien
|
||||
G 20 80
|
||||
X 2 03 deu stereo
|
||||
X 2 03 deu ohne Audiodeskription
|
||||
X 3 01 deu Teletext-Untertitel
|
||||
X 3 20 deu mit DVB-Untertitel
|
||||
X 5 0B deu HD-Video
|
||||
V 1610391600
|
||||
e
|
||||
c
|
||||
""";
|
||||
|
||||
@Test
|
||||
public void testParseEpgEventComplete() throws SVDRPException, ParseException {
|
||||
|
||||
@@ -27,10 +27,14 @@ import org.openhab.binding.vdr.internal.svdrp.SVDRPTimerList;
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class SVDRPTimerListTest {
|
||||
private final String timerListResponseTimerActive = "1 1:1:2021-01-12:2013:2110:50:99:Charité (1/6)~Eiserne Lunge:Test\n"
|
||||
+ "2 9:1:2021-01-12:2058:2200:50:99:Charité (2/6)~Blutsauger:Test";
|
||||
private final String timerListResponseTimerNotActive = "1 1:1:2021-01-12:2013:2110:50:99:Charité (1/6)~Eiserne Lunge:Test\n"
|
||||
+ "2 1:1:2021-01-12:2058:2200:50:99:Charité (2/6)~Blutsauger:Test";
|
||||
private final String timerListResponseTimerActive = """
|
||||
1 1:1:2021-01-12:2013:2110:50:99:Charité (1/6)~Eiserne Lunge:Test
|
||||
2 9:1:2021-01-12:2058:2200:50:99:Charité (2/6)~Blutsauger:Test\
|
||||
""";
|
||||
private final String timerListResponseTimerNotActive = """
|
||||
1 1:1:2021-01-12:2013:2110:50:99:Charité (1/6)~Eiserne Lunge:Test
|
||||
2 1:1:2021-01-12:2058:2200:50:99:Charité (2/6)~Blutsauger:Test\
|
||||
""";
|
||||
|
||||
@Test
|
||||
public void testParseTimerList() throws SVDRPException {
|
||||
|
||||
Reference in New Issue
Block a user