package org.openhab.binding.groupepsa.internal.bridge;
import static org.openhab.binding.groupepsa.internal.GroupePSABindingConstants.THING_TYPE_BRIDGE;
-import static org.openhab.binding.groupepsa.internal.GroupePSABindingConstants.VendorConstants;
import java.io.IOException;
import java.util.Collection;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jetty.client.HttpClient;
+import org.openhab.binding.groupepsa.internal.GroupePSABindingConstants.VendorConstants;
import org.openhab.binding.groupepsa.internal.discovery.GroupePSADiscoveryService;
import org.openhab.binding.groupepsa.internal.rest.api.GroupePSAConnectApi;
import org.openhab.binding.groupepsa.internal.rest.api.dto.Vehicle;
@Override
public void dispose() {
stopGroupePSABridgePolling();
- oAuthFactory.ungetOAuthService(thing.getUID().getAsString());
+ if (oAuthService != null) {
+ oAuthFactory.ungetOAuthService(thing.getUID().getAsString());
+ oAuthService = null;
+ }
}
@Override
}
}
+ @Override
+ public void handleRemoval() {
+ if (oAuthService != null) {
+ oAuthFactory.deleteServiceAndAccessToken(thing.getUID().getAsString());
+ }
+ super.handleRemoval();
+ }
+
private void startGroupePSABridgePolling(@Nullable Integer pollingIntervalM) {
if (groupepsaBridgePollingJob == null) {
final long pollingIntervalToUse = pollingIntervalM == null ? DEFAULT_POLLING_INTERVAL_M : pollingIntervalM;