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:
Holger Friedrich
2023-09-21 07:58:53 +02:00
committed by GitHub
parent bf1aa3deb2
commit 1b122a53b9
277 changed files with 1402 additions and 1298 deletions

View File

@@ -57,8 +57,7 @@ public class TouchWandAlarmSensorHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandUnitDataAlarmSensor) {
TouchWandUnitDataAlarmSensor sensor = (TouchWandUnitDataAlarmSensor) unitData;
if (unitData instanceof TouchWandUnitDataAlarmSensor sensor) {
if (isFirstUpdateTouchWandUnitState) {
removeUnsupportedChannels(sensor);
isFirstUpdateTouchWandUnitState = false;

View File

@@ -42,21 +42,21 @@ public class TouchWandBSensorHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandBSensorUnitData) {
if (unitData instanceof TouchWandBSensorUnitData bSensorUnitData) {
if (isFirstUpdateTouchWandUnitState) {
removeUnsupportedChannels((TouchWandBSensorUnitData) unitData);
removeUnsupportedChannels(bSensorUnitData);
isFirstUpdateTouchWandUnitState = false;
}
String sensorSubType = ((TouchWandBSensorUnitData) unitData).getIdData().getSubType();
String sensorSubType = bSensorUnitData.getIdData().getSubType();
switch (sensorSubType) {
case BSENSOR_SUBTYPE_DOORWINDOW:
updateChannelDoorWindow((TouchWandBSensorUnitData) unitData);
updateChannelDoorWindow(bSensorUnitData);
break;
case BSENSOR_SUBTYPE_MOTION:
updateChannelMotion((TouchWandBSensorUnitData) unitData);
updateChannelMotion(bSensorUnitData);
break;
case BSENSOR_SUBTYPE_SMOKE:
updateChannelSmoke((TouchWandBSensorUnitData) unitData);
updateChannelSmoke(bSensorUnitData);
break;
default:
}

View File

@@ -137,7 +137,7 @@ public abstract class TouchWandBaseUnitHandler extends BaseThingHandler implemen
@Override
public void onItemStatusUpdate(TouchWandUnitData unitData) {
if (unitData.getStatus().equals("ALIVE")) {
if ("ALIVE".equals(unitData.getStatus())) {
updateStatus(ThingStatus.ONLINE);
} else {
// updateStatus(ThingStatus.OFFLINE); // comment - OFFLINE status is not accurate at the moment

View File

@@ -15,7 +15,6 @@ package org.openhab.binding.touchwand.internal;
import static org.openhab.binding.touchwand.internal.TouchWandBindingConstants.THING_TYPE_BRIDGE;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -45,7 +44,7 @@ import org.slf4j.LoggerFactory;
*/
@NonNullByDefault
public class TouchWandBridgeHandler extends BaseBridgeHandler implements TouchWandUnitStatusUpdateListener {
public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_BRIDGE);
public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES = Set.of(THING_TYPE_BRIDGE);
private final Logger logger = LoggerFactory.getLogger(TouchWandBridgeHandler.class);
private boolean addSecondaryUnits;
private @Nullable TouchWandWebSockets touchWandWebSockets;
@@ -138,6 +137,6 @@ public class TouchWandBridgeHandler extends BaseBridgeHandler implements TouchWa
@Override
public Collection<Class<? extends ThingHandlerService>> getServices() {
return Collections.singleton(TouchWandUnitDiscoveryService.class);
return Set.of(TouchWandUnitDiscoveryService.class);
}
}

View File

@@ -39,8 +39,8 @@ public class TouchWandDimmerHandler extends TouchWandBaseUnitHandler {
void touchWandUnitHandleCommand(Command command) {
TouchWandBridgeHandler touchWandBridgeHandler = bridgeHandler;
if (touchWandBridgeHandler != null) {
if (command instanceof OnOffType) {
touchWandBridgeHandler.touchWandClient.cmdSwitchOnOff(unitId, (OnOffType) command);
if (command instanceof OnOffType onOffCommand) {
touchWandBridgeHandler.touchWandClient.cmdSwitchOnOff(unitId, onOffCommand);
} else {
touchWandBridgeHandler.touchWandClient.cmdDimmerPosition(unitId, command.toString());
}
@@ -49,8 +49,8 @@ public class TouchWandDimmerHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandShutterSwitchUnitData) {
int status = ((TouchWandShutterSwitchUnitData) unitData).getCurrStatus();
if (unitData instanceof TouchWandShutterSwitchUnitData shutterSwitchUnitData) {
int status = shutterSwitchUnitData.getCurrStatus();
PercentType state = PercentType.ZERO;
int convertStatus = status;
state = new PercentType(convertStatus);

View File

@@ -203,8 +203,7 @@ public class TouchWandRestClient {
}
private String buildUrl(String command) {
String url = "http://" + touchWandIpAddr + ":" + touchWandPort + COMMAND_MAP.get(command);
return url;
return "http://" + touchWandIpAddr + ":" + touchWandPort + COMMAND_MAP.get(command);
}
private synchronized String sendCommand(String command, HttpMethod method, String content) {

View File

@@ -59,8 +59,8 @@ public class TouchWandShutterHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandShutterSwitchUnitData) {
int status = ((TouchWandShutterSwitchUnitData) unitData).getCurrStatus();
if (unitData instanceof TouchWandShutterSwitchUnitData shutterSwitchUnitData) {
int status = shutterSwitchUnitData.getCurrStatus();
PercentType state = PercentType.ZERO;
int convertStatus = 100 - status;
state = new PercentType(convertStatus);

View File

@@ -37,9 +37,9 @@ public class TouchWandSwitchHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandShutterSwitchUnitData) {
if (unitData instanceof TouchWandShutterSwitchUnitData shutterSwitchUnitData) {
OnOffType state;
int status = ((TouchWandShutterSwitchUnitData) unitData).getCurrStatus();
int status = shutterSwitchUnitData.getCurrStatus();
String sStatus = Integer.toString(status);
if (sStatus.equals(SWITCH_STATUS_OFF)) {
@@ -58,10 +58,10 @@ public class TouchWandSwitchHandler extends TouchWandBaseUnitHandler {
@Override
void touchWandUnitHandleCommand(Command command) {
if (command instanceof OnOffType) {
if (command instanceof OnOffType onOffCommand) {
TouchWandBridgeHandler touchWandBridgeHandler = bridgeHandler;
if (touchWandBridgeHandler != null) {
touchWandBridgeHandler.touchWandClient.cmdSwitchOnOff(unitId, (OnOffType) command);
touchWandBridgeHandler.touchWandClient.cmdSwitchOnOff(unitId, onOffCommand);
}
}
}

View File

@@ -40,8 +40,7 @@ public class TouchWandThermostatHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandThermostatUnitData) {
TouchWandThermostatUnitData thermostat = (TouchWandThermostatUnitData) unitData;
if (unitData instanceof TouchWandThermostatUnitData thermostat) {
updateThermostatState(thermostat);
updateTargetTemperature(thermostat);
updateRoomTemperature(thermostat);
@@ -56,12 +55,12 @@ public class TouchWandThermostatHandler extends TouchWandBaseUnitHandler {
void touchWandUnitHandleCommand(Command command) {
TouchWandBridgeHandler touchWandBridgeHandler = bridgeHandler;
if (touchWandBridgeHandler != null) {
if (command instanceof OnOffType) {
touchWandBridgeHandler.touchWandClient.cmdThermostatOnOff(unitId, (OnOffType) command);
if (command instanceof OnOffType onOffCommand) {
touchWandBridgeHandler.touchWandClient.cmdThermostatOnOff(unitId, onOffCommand);
return;
}
if (command instanceof QuantityType) {
final QuantityType<?> value = ((QuantityType<?>) command).toUnit(SIUnits.CELSIUS);
if (command instanceof QuantityType quantityCommand) {
final QuantityType<?> value = quantityCommand.toUnit(SIUnits.CELSIUS);
String targetTemperature = String.valueOf(value.intValue());
touchWandBridgeHandler.touchWandClient.cmdThermostatTargetTemperature(unitId, targetTemperature);
return;

View File

@@ -48,8 +48,8 @@ public class TouchWandWallControllerHandler extends TouchWandBaseUnitHandler {
@Override
void updateTouchWandUnitState(TouchWandUnitData unitData) {
if (unitData instanceof TouchWandUnitDataWallController) {
Csc status = ((TouchWandUnitDataWallController) unitData).getCurrStatus();
if (unitData instanceof TouchWandUnitDataWallController unitDataWallController) {
Csc status = unitDataWallController.getCurrStatus();
long ts = status.getTs();
long timeDiff = ts - timeLastEventMs;
if ((timeDiff) > ADJACENT_EVENT_FILTER_TIME_MILLISEC) {

View File

@@ -79,7 +79,7 @@ public class TouchWandWebSockets {
public void connect() {
try {
uri = new URI("ws://" + controllerAddress + ":" + String.valueOf(port) + WS_ENDPOINT_TOUCHWAND);
uri = new URI("ws://" + controllerAddress + ":" + port + WS_ENDPOINT_TOUCHWAND);
} catch (URISyntaxException e) {
logger.warn("URI not valid {} message {}", uri, e.getMessage());
return;
@@ -152,12 +152,12 @@ public class TouchWandWebSockets {
TouchWandUnitData touchWandUnit;
try {
JsonObject unitObj = JsonParser.parseString(msg).getAsJsonObject();
boolean eventUnitChanged = unitObj.get("type").getAsString().equals("UNIT_CHANGED");
boolean eventUnitChanged = "UNIT_CHANGED".equals(unitObj.get("type").getAsString());
if (!eventUnitChanged) {
return;
}
touchWandUnit = TouchWandUnitFromJson.parseResponse(unitObj.get("unit").getAsJsonObject());
if (!touchWandUnit.getStatus().equals("ALIVE")) {
if (!"ALIVE".equals(touchWandUnit.getStatus())) {
logger.debug("UNIT_CHANGED unit status not ALIVE : {}", touchWandUnit.getStatus());
}
boolean supportedUnitType = Arrays.asList(SUPPORTED_TOUCHWAND_TYPES).contains(touchWandUnit.getType());

View File

@@ -91,7 +91,7 @@ public class TouchWandControllerDiscoveryService extends AbstractDiscoveryServic
}
private void addDeviceDiscoveryResult(String label, String ip) {
String id = ip.replaceAll("\\.", "");
String id = ip.replace(".", "");
ThingUID thingUID = new ThingUID(THING_TYPE_BRIDGE, id);
Map<String, Object> properties = new HashMap<>();
properties.put("label", label);
@@ -138,7 +138,7 @@ public class TouchWandControllerDiscoveryService extends AbstractDiscoveryServic
String sentence = new String(dgram.getData(), 0, dgram.getLength(), StandardCharsets.US_ASCII);
JsonObject bridge = JsonParser.parseString(sentence).getAsJsonObject();//
String name = bridge.get("name").getAsString();
addDeviceDiscoveryResult(name, address.getHostAddress().toString());
addDeviceDiscoveryResult(name, address.getHostAddress());
logger.debug("Received Datagram from {}:{} on Port {} message {}", address.getHostAddress(),
dgram.getPort(), mySocket.getLocalPort(), sentence);
}

View File

@@ -191,8 +191,8 @@ public class TouchWandUnitDiscoveryService extends AbstractDiscoveryService impl
@Override
public void setThingHandler(@NonNullByDefault({}) ThingHandler handler) {
if (handler instanceof TouchWandBridgeHandler) {
touchWandBridgeHandler = (TouchWandBridgeHandler) handler;
if (handler instanceof TouchWandBridgeHandler touchWandBridgeHandler) {
this.touchWandBridgeHandler = touchWandBridgeHandler;
}
}

View File

@@ -69,7 +69,7 @@ public class AlarmSensorUnitDataDeserializer implements JsonDeserializer<TouchWa
for (Entry<String, JsonElement> entry : currentStatusObj.entrySet()) {
String key = entry.getKey();
String splits[] = key.split("_"); // the key is xxxx_n where xxx is sensor type and n is
String[] splits = key.split("_"); // the key is xxxx_n where xxx is sensor type and n is
String keyName = splits[0];
int index = 0;