mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[automower] Remove the access token when the thing is removed (#14971)
Related to #14818 Signed-off-by: Laurent Garnier <lg.hc@free.fr>
This commit is contained in:
parent
29edae9f21
commit
14e7109a25
@ -54,7 +54,7 @@ public class AutomowerBridgeHandler extends BaseBridgeHandler {
|
||||
|
||||
private final OAuthFactory oAuthFactory;
|
||||
|
||||
private @NonNullByDefault({}) OAuthClientService oAuthService;
|
||||
private @Nullable OAuthClientService oAuthService;
|
||||
private @Nullable ScheduledFuture<?> automowerBridgePollingJob;
|
||||
private @Nullable AutomowerBridge bridge;
|
||||
private final HttpClient httpClient;
|
||||
@ -85,7 +85,11 @@ public class AutomowerBridgeHandler extends BaseBridgeHandler {
|
||||
stopAutomowerBridgePolling(currentBridge);
|
||||
bridge = null;
|
||||
}
|
||||
oAuthFactory.ungetOAuthService(thing.getUID().getAsString());
|
||||
OAuthClientService oAuthService = this.oAuthService;
|
||||
if (oAuthService != null) {
|
||||
oAuthFactory.ungetOAuthService(thing.getUID().getAsString());
|
||||
this.oAuthService = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -104,8 +108,9 @@ public class AutomowerBridgeHandler extends BaseBridgeHandler {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
|
||||
"@text/conf-error-invalid-polling-interval");
|
||||
} else {
|
||||
oAuthService = oAuthFactory.createOAuthClientService(thing.getUID().getAsString(), HUSQVARNA_API_TOKEN_URL,
|
||||
null, appKey, appSecret, null, null);
|
||||
OAuthClientService oAuthService = oAuthFactory.createOAuthClientService(thing.getUID().getAsString(),
|
||||
HUSQVARNA_API_TOKEN_URL, null, appKey, appSecret, null, null);
|
||||
this.oAuthService = oAuthService;
|
||||
|
||||
if (bridge == null) {
|
||||
AutomowerBridge currentBridge = new AutomowerBridge(oAuthService, appKey, httpClient, scheduler);
|
||||
@ -116,6 +121,12 @@ public class AutomowerBridgeHandler extends BaseBridgeHandler {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRemoval() {
|
||||
oAuthFactory.deleteServiceAndAccessToken(thing.getUID().getAsString());
|
||||
super.handleRemoval();
|
||||
}
|
||||
|
||||
private void startAutomowerBridgePolling(AutomowerBridge bridge, @Nullable Integer pollingIntervalS) {
|
||||
ScheduledFuture<?> currentPollingJob = automowerBridgePollingJob;
|
||||
if (currentPollingJob == null) {
|
||||
|
Loading…
Reference in New Issue
Block a user