| /******************************************************************************* |
| * Copyright (c) 2010 The Eclipse Foundation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * The Eclipse Foundation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.epp.internal.mpc.core.service; |
| |
| import java.net.URI; |
| |
| import org.apache.http.client.fluent.Request; |
| import org.eclipse.userstorage.IStorageService; |
| import org.eclipse.userstorage.oauth.OAuthCredentialsProvider; |
| import org.eclipse.userstorage.spi.Credentials; |
| |
| class USS11NonInteractiveOAuthCredentialsProvider extends OAuthCredentialsProvider |
| implements USS11OAuthStorageConfigurer.ToggleInteractive { |
| |
| private final OAuthCredentialsProvider delegate; |
| |
| private boolean interactive; |
| |
| USS11NonInteractiveOAuthCredentialsProvider(OAuthCredentialsProvider delegate, URI authService, String clientId, |
| String clientSecret, String[] scopes, URI expectedCallback) { |
| super(authService, clientId, clientSecret, scopes, expectedCallback); |
| this.delegate = delegate; |
| } |
| |
| protected boolean canProvideCredentialsNonInteractively() { |
| return false; |
| } |
| |
| public Credentials provideCredentials(IStorageService service, boolean reauthentication) { |
| if (!isInteractive() && !canProvideCredentialsNonInteractively()) { |
| return null; |
| } |
| return delegate.provideCredentials(service, reauthentication); |
| } |
| |
| @Override |
| public Credentials getCredentials(IStorageService service) { |
| return delegate.getCredentials(service); |
| } |
| |
| @Override |
| public boolean hasCredentials(IStorageService service) { |
| return delegate.hasCredentials(service); |
| } |
| |
| @Override |
| public boolean isValid(Credentials credentials) { |
| return delegate.isValid(credentials); |
| } |
| |
| @Override |
| public boolean updateCredentials(IStorageService service, Credentials credential) { |
| return delegate.updateCredentials(service, credential); |
| } |
| |
| @Override |
| public Request configureRequest(Request request, URI uri, Credentials credentials) { |
| return delegate.configureRequest(request, uri, credentials); |
| } |
| |
| @Override |
| public void setStateCode(String stateCode) { |
| super.setStateCode(stateCode); |
| delegate.setStateCode(stateCode); |
| } |
| |
| public void setInteractive(boolean interactive) { |
| this.interactive = interactive; |
| } |
| |
| public boolean isInteractive() { |
| return interactive; |
| } |
| } |