package com.eviware.soapui.support.editor.inspectors.auth;
import com.eviware.soapui.config.AccessTokenStatusConfig;
import com.eviware.soapui.impl.rest.OAuth1Profile;
import com.eviware.soapui.support.MessageSupport;
import com.google.common.base.Preconditions;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
public class OAuth1TokenStatusChangeManager implements PropertyChangeListener {
private static final MessageSupport messages = MessageSupport.getMessages(com.eviware.soapui.support.editor.inspectors.auth.OAuth1TokenStatusChangeManager.class);
OAuth1TokenStatusChangeListener listener = null;
public OAuth1TokenStatusChangeManager(OAuth1TokenStatusChangeListener listener) {
this.listener = listener;
}
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals(OAuth1Profile.ACCESS_TOKEN_STATUS_PROPERTY)) {
AccessTokenStatusConfig.Enum status = (AccessTokenStatusConfig.Enum) evt.getNewValue();
listener.onAccessTokenStatusChanged(status);
} else if (evt.getPropertyName().equals(OAuth1Profile.TOKEN_SECRET_STATUS_PROPERTY)) {
AccessTokenStatusConfig.Enum status = (AccessTokenStatusConfig.Enum) evt.getNewValue();
listener.onTokenSecretStatusChanged(status);
}
}
/**
* Start receiving Access Token Status change events
*/
public void register() {
Preconditions.checkNotNull(listener.getProfile(), messages.get("OAuth1TokenStatusChangeManager.Error.MissingProfile"));
listener.getProfile().addPropertyChangeListener(this);
}
/**
* Stop receiving Access Token Status change events.
*/
public void unregister() {
Preconditions.checkNotNull(listener.getProfile(), messages.get("OAuth1TokenStatusChangeManager.Error.MissingProfile"));
listener.getProfile().removePropertyChangeListener(this);
}
}