Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Nascondi spazi bianchi
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Stili testo
Modifica aspetto
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Diff
Creato
6 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
69 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
205 linee
Copia tutti
84 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
230 linee
Copia tutti
package com.pubnub.api.managers;
package com.pubnub.api.managers;
Copia
Copiato
Copia
Copiato
import com.pubnub.api.PNConfiguration;
import com.pubnub.api.PNConfiguration;
import com.pubnub.api.PubNub;
import com.pubnub.api.PubNub;
import com.pubnub.api.endpoints.vendor.AppEngineFactory;
import com.pubnub.api.endpoints.vendor.AppEngineFactory;
import com.pubnub.api.enums.PNLogVerbosity;
import com.pubnub.api.enums.PNLogVerbosity;
import com.pubnub.api.interceptors.SignatureInterceptor;
import com.pubnub.api.interceptors.SignatureInterceptor;
import com.pubnub.api.services.AccessManagerService;
import com.pubnub.api.services.AccessManagerService;
import com.pubnub.api.services.ChannelGroupService;
import com.pubnub.api.services.ChannelGroupService;
import com.pubnub.api.services.HistoryService;
import com.pubnub.api.services.HistoryService;
import com.pubnub.api.services.MemberService;
import com.pubnub.api.services.MemberService;
import com.pubnub.api.services.MembershipService;
import com.pubnub.api.services.MembershipService;
import com.pubnub.api.services.MessageActionService;
import com.pubnub.api.services.MessageActionService;
import com.pubnub.api.services.PresenceService;
import com.pubnub.api.services.PresenceService;
import com.pubnub.api.services.PublishService;
import com.pubnub.api.services.PublishService;
import com.pubnub.api.services.PushService;
import com.pubnub.api.services.PushService;
import com.pubnub.api.services.SignalService;
import com.pubnub.api.services.SignalService;
import com.pubnub.api.services.SpaceService;
import com.pubnub.api.services.SpaceService;
import com.pubnub.api.services.SubscribeService;
import com.pubnub.api.services.SubscribeService;
import com.pubnub.api.services.TimeService;
import com.pubnub.api.services.TimeService;
import com.pubnub.api.services.UserService;
import com.pubnub.api.services.UserService;
Copia
Copiato
Copia
Copiato
import lombok.Getter;
import okhttp3.OkHttpClient;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.Retrofit;
Copia
Copiato
Copia
Copiato
import java.util.Collections;
import java.util.Collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeUnit;
public class RetrofitManager {
public class RetrofitManager {
Copia
Copiato
Copia
Copiato
private PubNub pubnub;
private PubNub pubnub;
Copia
Copiato
Copia
Copiato
private SignatureInterceptor signatureInterceptor;
private SignatureInterceptor signatureInterceptor;
Copia
Copiato
Copia
Copiato
private OkHttpClient transactionClientInstance;
private OkHttpClient transactionClientInstance;
private OkHttpClient subscriptionClientInstance;
private OkHttpClient subscriptionClientInstance;
Copia
Copiato
Copia
Copiato
// services
// services
Copia
Copiato
Copia
Copiato
@Getter
private PresenceService presenceService;
private PresenceService presenceService;
Copia
Copiato
Copia
Copiato
@Getter
private HistoryService historyService;
private HistoryService historyService;
Copia
Copiato
Copia
Copiato
@Getter
private PushService pushService;
private PushService pushService;
Copia
Copiato
Copia
Copiato
@Getter
private AccessManagerService accessManagerService;
private AccessManagerService accessManagerService;
Copia
Copiato
Copia
Copiato
@Getter
private ChannelGroupService channelGroupService;
private ChannelGroupService channelGroupService;
Copia
Copiato
Copia
Copiato
@Getter
private TimeService timeService;
private TimeService timeService;
Copia
Copiato
Copia
Copiato
@Getter
private PublishService publishService;
private PublishService publishService;
Copia
Copiato
Copia
Copiato
@Getter
private SubscribeService subscribeService;
private SubscribeService subscribeService;
Copia
Copiato
Copia
Copiato
@Getter
private SignalService signalService;
private SignalService signalService;
Copia
Copiato
Copia
Copiato
@Getter
private UserService userService;
private UserService userService;
Copia
Copiato
Copia
Copiato
@Getter
private SpaceService spaceService;
private SpaceService spaceService;
Copia
Copiato
Copia
Copiato
@Getter
private MembershipService membershipService;
private MembershipService membershipService;
Copia
Copiato
Copia
Copiato
@Getter
private MemberService memberService;
private MemberService memberService;
Copia
Copiato
Copia
Copiato
@Getter
private MessageActionService messageActionService;
private MessageActionService messageActionService;
Copia
Copiato
Copia
Copiato
@Getter
private Retrofit transactionInstance;
private Retrofit transactionInstance;
Copia
Copiato
Copia
Copiato
@Getter
private Retrofit subscriptionInstance;
private Retrofit subscriptionInstance;
public RetrofitManager(PubNub pubNubInstance) {
public RetrofitManager(PubNub pubNubInstance) {
this.pubnub = pubNubInstance;
this.pubnub = pubNubInstance;
Copia
Copiato
Copia
Copiato
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
this.signatureInterceptor = new SignatureInterceptor(pubNubInstance);
Copia
Copiato
Copia
Copiato
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) {
Copia
Copiato
Copia
Copiato
this.transactionClientInstance = createOkHttpClient(
this.transactionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(),
this.subscriptionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getSubscribeTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
this.pubnub.getConfiguration().getConnectTimeout()
);
this.subscriptionClientInstance = createOkHttpClient(
this.pubnub.getConfiguration().getSubscribeTimeout(),
this.pubnub.getConfiguration().getConnectTimeout()
);
}
}
Copia
Copiato
Copia
Copiato
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.transactionInstance = createRetrofit(this.transactionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance);
Copia
Copiato
Copia
Copiato
this.presenceService = transactionInstance.create(PresenceService.class);
this.presenceService = transactionInstance.create(PresenceService.class);
this.historyService = transactionInstance.create(HistoryService.class);
this.historyService = transactionInstance.create(HistoryService.class);
this.pushService = transactionInstance.create(PushService.class);
this.pushService = transactionInstance.create(PushService.class);
this.accessManagerService = transactionInstance.create(AccessManagerService.class);
this.accessManagerService = transactionInstance.create(AccessManagerService.class);
this.channelGroupService = transactionInstance.create(ChannelGroupService.class);
this.channelGroupService = transactionInstance.create(ChannelGroupService.class);
this.publishService = transactionInstance.create(PublishService.class);
this.publishService = transactionInstance.create(PublishService.class);
this.subscribeService = subscriptionInstance.create(SubscribeService.class);
this.subscribeService = subscriptionInstance.create(SubscribeService.class);
this.timeService = transactionInstance.create(TimeService.class);
this.timeService = transactionInstance.create(TimeService.class);
this.signalService = transactionInstance.create(SignalService.class);
this.signalService = transactionInstance.create(SignalService.class);
this.userService = transactionInstance.create(UserService.class);
this.userService = transactionInstance.create(UserService.class);
this.spaceService = transactionInstance.create(SpaceService.class);
this.spaceService = transactionInstance.create(SpaceService.class);
this.membershipService = transactionInstance.create(MembershipService.class);
this.membershipService = transactionInstance.create(MembershipService.class);
this.memberService = transactionInstance.create(MemberService.class);
this.memberService = transactionInstance.create(MemberService.class);
this.messageActionService = transactionInstance.create(MessageActionService.class);
this.messageActionService = transactionInstance.create(MessageActionService.class);
}
}
private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) {
private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) {
PNConfiguration pnConfiguration = pubnub.getConfiguration();
PNConfiguration pnConfiguration = pubnub.getConfiguration();
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
Copia
Copiato
Copia
Copiato
httpClient.retryOnConnectionFailure(
false
);
httpClient.retryOnConnectionFailure(
true
);
httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS);
httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS);
httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS);
httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS);
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) {
if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient.addInterceptor(logging);
httpClient.addInterceptor(logging);
}
}
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) {
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor());
}
}
Copia
Copiato
Copia
Copiato
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) {
Copia
Copiato
Copia
Copiato
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(),
pnConfiguration.getX509ExtendedTrustManager());
pnConfiguration.getX509ExtendedTrustManager());
}
}
Copia
Copiato
Copia
Copiato
if (pnConfiguration.getConnectionSpec() != null) {
if (pnConfiguration.getConnectionSpec() != null) {
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec()));
}
}
Copia
Copiato
Copia
Copiato
if (pnConfiguration.getHostnameVerifier() != null) {
if (pnConfiguration.getHostnameVerifier() != null) {
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier());
}
}
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getProxy() != null) {
if (pubnub.getConfiguration().getProxy() != null) {
httpClient.proxy(pubnub.getConfiguration().getProxy());
httpClient.proxy(pubnub.getConfiguration().getProxy());
}
}
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getProxySelector() != null) {
if (pubnub.getConfiguration().getProxySelector() != null) {
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
httpClient.proxySelector(pubnub.getConfiguration().getProxySelector());
}
}
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
if (pubnub.getConfiguration().getProxyAuthenticator() != null) {
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator());
}
}
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getCertificatePinner() != null) {
if (pubnub.getConfiguration().getCertificatePinner() != null) {
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner());
}
}
Copia
Copiato
Copia
Copiato
httpClient.addInterceptor(this.signatureInterceptor);
httpClient.addInterceptor(this.signatureInterceptor);
Copia
Copiato
Copia
Copiato
OkHttpClient constructedClient = httpClient.build();
OkHttpClient constructedClient = httpClient.build();
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().getMaximumConnections() != null) {
if (pubnub.getConfiguration().getMaximumConnections() != null) {
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections());
}
}
Copia
Copiato
Copia
Copiato
return constructedClient;
return constructedClient;
}
}
private Retrofit createRetrofit(OkHttpClient client) {
private Retrofit createRetrofit(OkHttpClient client) {
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
Copia
Copiato
Copia
Copiato
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub));
}
}
Copia
Copiato
Copia
Copiato
retrofitBuilder = retrofitBuilder
.baseUrl(pubnub.getBaseUrl())
.addConverterFactory(this.pubnub.getMapper().getConverterFactory());
retrofitBuilder = retrofitBuilder
.baseUrl(pubnub.getBaseUrl())
.addConverterFactory(this.pubnub.getMapper().getConverterFactory());
if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) {
retrofitBuilder = retrofitBuilder.client(client);
retrofitBuilder = retrofitBuilder.client(client);
}
}
Copia
Copiato
Copia
Copiato
return retrofitBuilder.build();
return retrofitBuilder.build();
}
}
Copia
Copiato
Copia
Copiato
public void destroy(boolean force) {
public void destroy(boolean force) {
if (this.transactionClientInstance != null) {
if (this.transactionClientInstance != null) {
closeExecutor(this.transactionClientInstance, force);
closeExecutor(this.transactionClientInstance, force);
}
}
if (this.subscriptionClientInstance != null) {
if (this.subscriptionClientInstance != null) {
closeExecutor(this.subscriptionClientInstance, force);
closeExecutor(this.subscriptionClientInstance, force);
}
}
}
}
private void closeExecutor(OkHttpClient client, boolean force) {
private void closeExecutor(OkHttpClient client, boolean force) {
client.dispatcher().cancelAll();
client.dispatcher().cancelAll();
if (force) {
if (force) {
client.connectionPool().evictAll();
client.connectionPool().evictAll();
ExecutorService executorService = client.dispatcher().executorService();
ExecutorService executorService = client.dispatcher().executorService();
executorService.shutdown();
executorService.shutdown();
}
}
}
}
Copia
Copiato
Copia
Copiato
@java.lang.SuppressWarnings("all")
public PresenceService getPresenceService() {
return this.presenceService;
}
@java.lang.SuppressWarnings("all")
public HistoryService getHistoryService() {
return this.historyService;
}
@java.lang.SuppressWarnings("all")
public PushService getPushService() {
return this.pushService;
}
@java.lang.SuppressWarnings("all")
public AccessManagerService getAccessManagerService() {
return this.accessManagerService;
}
@java.lang.SuppressWarnings("all")
public ChannelGroupService getChannelGroupService() {
return this.channelGroupService;
}
@java.lang.SuppressWarnings("all")
public TimeService getTimeService() {
return this.timeService;
}
@java.lang.SuppressWarnings("all")
public PublishService getPublishService() {
return this.publishService;
}
@java.lang.SuppressWarnings("all")
public SubscribeService getSubscribeService() {
return this.subscribeService;
}
@java.lang.SuppressWarnings("all")
public SignalService getSignalService() {
return this.signalService;
}
@java.lang.SuppressWarnings("all")
public UserService getUserService() {
return this.userService;
}
@java.lang.SuppressWarnings("all")
public SpaceService getSpaceService() {
return this.spaceService;
}
@java.lang.SuppressWarnings("all")
public MembershipService getMembershipService() {
return this.membershipService;
}
@java.lang.SuppressWarnings("all")
public MemberService getMemberService() {
return this.memberService;
}
@java.lang.SuppressWarnings("all")
public MessageActionService getMessageActionService() {
return this.messageActionService;
}
@java.lang.SuppressWarnings("all")
public Retrofit getTransactionInstance() {
return this.transactionInstance;
}
@java.lang.SuppressWarnings("all")
public Retrofit getSubscriptionInstance() {
return this.subscriptionInstance;
}
}
}
Copia
Copiato
Copia
Copiato
Diff salvati
Testo originale
Apri file
package com.pubnub.api.managers; import com.pubnub.api.PNConfiguration; import com.pubnub.api.PubNub; import com.pubnub.api.endpoints.vendor.AppEngineFactory; import com.pubnub.api.enums.PNLogVerbosity; import com.pubnub.api.interceptors.SignatureInterceptor; import com.pubnub.api.services.AccessManagerService; import com.pubnub.api.services.ChannelGroupService; import com.pubnub.api.services.HistoryService; import com.pubnub.api.services.MemberService; import com.pubnub.api.services.MembershipService; import com.pubnub.api.services.MessageActionService; import com.pubnub.api.services.PresenceService; import com.pubnub.api.services.PublishService; import com.pubnub.api.services.PushService; import com.pubnub.api.services.SignalService; import com.pubnub.api.services.SpaceService; import com.pubnub.api.services.SubscribeService; import com.pubnub.api.services.TimeService; import com.pubnub.api.services.UserService; import lombok.Getter; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import java.util.Collections; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class RetrofitManager { private PubNub pubnub; private SignatureInterceptor signatureInterceptor; private OkHttpClient transactionClientInstance; private OkHttpClient subscriptionClientInstance; // services @Getter private PresenceService presenceService; @Getter private HistoryService historyService; @Getter private PushService pushService; @Getter private AccessManagerService accessManagerService; @Getter private ChannelGroupService channelGroupService; @Getter private TimeService timeService; @Getter private PublishService publishService; @Getter private SubscribeService subscribeService; @Getter private SignalService signalService; @Getter private UserService userService; @Getter private SpaceService spaceService; @Getter private MembershipService membershipService; @Getter private MemberService memberService; @Getter private MessageActionService messageActionService; @Getter private Retrofit transactionInstance; @Getter private Retrofit subscriptionInstance; public RetrofitManager(PubNub pubNubInstance) { this.pubnub = pubNubInstance; this.signatureInterceptor = new SignatureInterceptor(pubNubInstance); if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) { this.transactionClientInstance = createOkHttpClient( this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(), this.pubnub.getConfiguration().getConnectTimeout() ); this.subscriptionClientInstance = createOkHttpClient( this.pubnub.getConfiguration().getSubscribeTimeout(), this.pubnub.getConfiguration().getConnectTimeout() ); } this.transactionInstance = createRetrofit(this.transactionClientInstance); this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance); this.presenceService = transactionInstance.create(PresenceService.class); this.historyService = transactionInstance.create(HistoryService.class); this.pushService = transactionInstance.create(PushService.class); this.accessManagerService = transactionInstance.create(AccessManagerService.class); this.channelGroupService = transactionInstance.create(ChannelGroupService.class); this.publishService = transactionInstance.create(PublishService.class); this.subscribeService = subscriptionInstance.create(SubscribeService.class); this.timeService = transactionInstance.create(TimeService.class); this.signalService = transactionInstance.create(SignalService.class); this.userService = transactionInstance.create(UserService.class); this.spaceService = transactionInstance.create(SpaceService.class); this.membershipService = transactionInstance.create(MembershipService.class); this.memberService = transactionInstance.create(MemberService.class); this.messageActionService = transactionInstance.create(MessageActionService.class); } private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) { PNConfiguration pnConfiguration = pubnub.getConfiguration(); OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.retryOnConnectionFailure(false); httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS); httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS); if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging); } if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) { httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor()); } if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) { httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(), pnConfiguration.getX509ExtendedTrustManager()); } if (pnConfiguration.getConnectionSpec() != null) { httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec())); } if (pnConfiguration.getHostnameVerifier() != null) { httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier()); } if (pubnub.getConfiguration().getProxy() != null) { httpClient.proxy(pubnub.getConfiguration().getProxy()); } if (pubnub.getConfiguration().getProxySelector() != null) { httpClient.proxySelector(pubnub.getConfiguration().getProxySelector()); } if (pubnub.getConfiguration().getProxyAuthenticator() != null) { httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator()); } if (pubnub.getConfiguration().getCertificatePinner() != null) { httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner()); } httpClient.addInterceptor(this.signatureInterceptor); OkHttpClient constructedClient = httpClient.build(); if (pubnub.getConfiguration().getMaximumConnections() != null) { constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections()); } return constructedClient; } private Retrofit createRetrofit(OkHttpClient client) { Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub)); } retrofitBuilder = retrofitBuilder .baseUrl(pubnub.getBaseUrl()) .addConverterFactory(this.pubnub.getMapper().getConverterFactory()); if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder = retrofitBuilder.client(client); } return retrofitBuilder.build(); } public void destroy(boolean force) { if (this.transactionClientInstance != null) { closeExecutor(this.transactionClientInstance, force); } if (this.subscriptionClientInstance != null) { closeExecutor(this.subscriptionClientInstance, force); } } private void closeExecutor(OkHttpClient client, boolean force) { client.dispatcher().cancelAll(); if (force) { client.connectionPool().evictAll(); ExecutorService executorService = client.dispatcher().executorService(); executorService.shutdown(); } } }
Testo modificato
Apri file
package com.pubnub.api.managers; import com.pubnub.api.PNConfiguration; import com.pubnub.api.PubNub; import com.pubnub.api.endpoints.vendor.AppEngineFactory; import com.pubnub.api.enums.PNLogVerbosity; import com.pubnub.api.interceptors.SignatureInterceptor; import com.pubnub.api.services.AccessManagerService; import com.pubnub.api.services.ChannelGroupService; import com.pubnub.api.services.HistoryService; import com.pubnub.api.services.MemberService; import com.pubnub.api.services.MembershipService; import com.pubnub.api.services.MessageActionService; import com.pubnub.api.services.PresenceService; import com.pubnub.api.services.PublishService; import com.pubnub.api.services.PushService; import com.pubnub.api.services.SignalService; import com.pubnub.api.services.SpaceService; import com.pubnub.api.services.SubscribeService; import com.pubnub.api.services.TimeService; import com.pubnub.api.services.UserService; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import java.util.Collections; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class RetrofitManager { private PubNub pubnub; private SignatureInterceptor signatureInterceptor; private OkHttpClient transactionClientInstance; private OkHttpClient subscriptionClientInstance; // services private PresenceService presenceService; private HistoryService historyService; private PushService pushService; private AccessManagerService accessManagerService; private ChannelGroupService channelGroupService; private TimeService timeService; private PublishService publishService; private SubscribeService subscribeService; private SignalService signalService; private UserService userService; private SpaceService spaceService; private MembershipService membershipService; private MemberService memberService; private MessageActionService messageActionService; private Retrofit transactionInstance; private Retrofit subscriptionInstance; public RetrofitManager(PubNub pubNubInstance) { this.pubnub = pubNubInstance; this.signatureInterceptor = new SignatureInterceptor(pubNubInstance); if (!pubNubInstance.getConfiguration().isGoogleAppEngineNetworking()) { this.transactionClientInstance = createOkHttpClient(this.pubnub.getConfiguration().getNonSubscribeRequestTimeout(), this.pubnub.getConfiguration().getConnectTimeout()); this.subscriptionClientInstance = createOkHttpClient(this.pubnub.getConfiguration().getSubscribeTimeout(), this.pubnub.getConfiguration().getConnectTimeout()); } this.transactionInstance = createRetrofit(this.transactionClientInstance); this.subscriptionInstance = createRetrofit(this.subscriptionClientInstance); this.presenceService = transactionInstance.create(PresenceService.class); this.historyService = transactionInstance.create(HistoryService.class); this.pushService = transactionInstance.create(PushService.class); this.accessManagerService = transactionInstance.create(AccessManagerService.class); this.channelGroupService = transactionInstance.create(ChannelGroupService.class); this.publishService = transactionInstance.create(PublishService.class); this.subscribeService = subscriptionInstance.create(SubscribeService.class); this.timeService = transactionInstance.create(TimeService.class); this.signalService = transactionInstance.create(SignalService.class); this.userService = transactionInstance.create(UserService.class); this.spaceService = transactionInstance.create(SpaceService.class); this.membershipService = transactionInstance.create(MembershipService.class); this.memberService = transactionInstance.create(MemberService.class); this.messageActionService = transactionInstance.create(MessageActionService.class); } private OkHttpClient createOkHttpClient(int requestTimeout, int connectTimeOut) { PNConfiguration pnConfiguration = pubnub.getConfiguration(); OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); httpClient.retryOnConnectionFailure(true); httpClient.readTimeout(requestTimeout, TimeUnit.SECONDS); httpClient.connectTimeout(connectTimeOut, TimeUnit.SECONDS); if (pubnub.getConfiguration().getLogVerbosity() == PNLogVerbosity.BODY) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging); } if (pubnub.getConfiguration().getHttpLoggingInterceptor() != null) { httpClient.addInterceptor(pubnub.getConfiguration().getHttpLoggingInterceptor()); } if (pnConfiguration.getSslSocketFactory() != null && pnConfiguration.getX509ExtendedTrustManager() != null) { httpClient.sslSocketFactory(pnConfiguration.getSslSocketFactory(), pnConfiguration.getX509ExtendedTrustManager()); } if (pnConfiguration.getConnectionSpec() != null) { httpClient.connectionSpecs(Collections.singletonList(pnConfiguration.getConnectionSpec())); } if (pnConfiguration.getHostnameVerifier() != null) { httpClient.hostnameVerifier(pnConfiguration.getHostnameVerifier()); } if (pubnub.getConfiguration().getProxy() != null) { httpClient.proxy(pubnub.getConfiguration().getProxy()); } if (pubnub.getConfiguration().getProxySelector() != null) { httpClient.proxySelector(pubnub.getConfiguration().getProxySelector()); } if (pubnub.getConfiguration().getProxyAuthenticator() != null) { httpClient.proxyAuthenticator(pubnub.getConfiguration().getProxyAuthenticator()); } if (pubnub.getConfiguration().getCertificatePinner() != null) { httpClient.certificatePinner(pubnub.getConfiguration().getCertificatePinner()); } httpClient.addInterceptor(this.signatureInterceptor); OkHttpClient constructedClient = httpClient.build(); if (pubnub.getConfiguration().getMaximumConnections() != null) { constructedClient.dispatcher().setMaxRequestsPerHost(pubnub.getConfiguration().getMaximumConnections()); } return constructedClient; } private Retrofit createRetrofit(OkHttpClient client) { Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); if (pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder.callFactory(new AppEngineFactory.Factory(pubnub)); } retrofitBuilder = retrofitBuilder.baseUrl(pubnub.getBaseUrl()).addConverterFactory(this.pubnub.getMapper().getConverterFactory()); if (!pubnub.getConfiguration().isGoogleAppEngineNetworking()) { retrofitBuilder = retrofitBuilder.client(client); } return retrofitBuilder.build(); } public void destroy(boolean force) { if (this.transactionClientInstance != null) { closeExecutor(this.transactionClientInstance, force); } if (this.subscriptionClientInstance != null) { closeExecutor(this.subscriptionClientInstance, force); } } private void closeExecutor(OkHttpClient client, boolean force) { client.dispatcher().cancelAll(); if (force) { client.connectionPool().evictAll(); ExecutorService executorService = client.dispatcher().executorService(); executorService.shutdown(); } } @java.lang.SuppressWarnings("all") public PresenceService getPresenceService() { return this.presenceService; } @java.lang.SuppressWarnings("all") public HistoryService getHistoryService() { return this.historyService; } @java.lang.SuppressWarnings("all") public PushService getPushService() { return this.pushService; } @java.lang.SuppressWarnings("all") public AccessManagerService getAccessManagerService() { return this.accessManagerService; } @java.lang.SuppressWarnings("all") public ChannelGroupService getChannelGroupService() { return this.channelGroupService; } @java.lang.SuppressWarnings("all") public TimeService getTimeService() { return this.timeService; } @java.lang.SuppressWarnings("all") public PublishService getPublishService() { return this.publishService; } @java.lang.SuppressWarnings("all") public SubscribeService getSubscribeService() { return this.subscribeService; } @java.lang.SuppressWarnings("all") public SignalService getSignalService() { return this.signalService; } @java.lang.SuppressWarnings("all") public UserService getUserService() { return this.userService; } @java.lang.SuppressWarnings("all") public SpaceService getSpaceService() { return this.spaceService; } @java.lang.SuppressWarnings("all") public MembershipService getMembershipService() { return this.membershipService; } @java.lang.SuppressWarnings("all") public MemberService getMemberService() { return this.memberService; } @java.lang.SuppressWarnings("all") public MessageActionService getMessageActionService() { return this.messageActionService; } @java.lang.SuppressWarnings("all") public Retrofit getTransactionInstance() { return this.transactionInstance; } @java.lang.SuppressWarnings("all") public Retrofit getSubscriptionInstance() { return this.subscriptionInstance; } }
Trovare la differenza