Skip to content

Commit

Permalink
refactor ProviderRouting
Browse files Browse the repository at this point in the history
  • Loading branch information
karle0wne committed Oct 26, 2024
1 parent 94a5560 commit 0f82f76
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import dev.vality.disputes.schedule.converter.DisputeParamsConverter;
import dev.vality.disputes.schedule.model.ProviderData;
import dev.vality.disputes.schedule.service.ProviderIfaceBuilder;
import dev.vality.disputes.schedule.service.ProviderRouting;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -22,6 +23,7 @@
@SuppressWarnings({"ParameterName", "LineLength"})
public class RemoteClient {

private final ProviderRouting providerRouting;
private final ProviderIfaceBuilder providerIfaceBuilder;
private final DisputeParamsConverter disputeParamsConverter;
private final DisputeContextConverter disputeContextConverter;
Expand All @@ -30,8 +32,9 @@ public class RemoteClient {
public DisputeCreatedResult createDispute(Dispute dispute, List<Attachment> attachments, ProviderData providerData) {
log.debug("Trying to build disputeParams {}", dispute.getId());
var disputeParams = disputeParamsConverter.convert(dispute, attachments, providerData.getOptions());
providerRouting.initRouteUrl(providerData);
log.debug("Trying to call ProviderIfaceBuilder {}", dispute.getId());
var remoteClient = providerIfaceBuilder.buildTHSpawnClient(providerData);
var remoteClient = providerIfaceBuilder.buildTHSpawnClient(providerData.getRouteUrl());
log.debug("Trying to routed remote provider's createDispute() call {}", dispute.getId());
var result = remoteClient.createDispute(disputeParams);
log.info("Routed remote provider's createDispute() has been called {} {}", dispute.getId(), result);
Expand All @@ -42,8 +45,9 @@ public DisputeCreatedResult createDispute(Dispute dispute, List<Attachment> atta
public DisputeStatusResult checkDisputeStatus(Dispute dispute, ProviderDispute providerDispute, ProviderData providerData) {
log.debug("Trying to build disputeContext {}", dispute.getId());
var disputeContext = disputeContextConverter.convert(dispute, providerDispute, providerData.getOptions());
providerRouting.initRouteUrl(providerData);
log.debug("Trying to call ProviderIfaceBuilder {}", dispute.getId());
var remoteClient = providerIfaceBuilder.buildTHSpawnClient(providerData);
var remoteClient = providerIfaceBuilder.buildTHSpawnClient(providerData.getRouteUrl());
log.debug("Trying to routed remote provider's checkDisputeStatus() call {}", dispute.getId());
var result = remoteClient.checkDisputeStatus(disputeContext);
log.info("Routed remote provider's checkDisputeStatus() has been called {} {}", dispute.getId(), result);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ private Boolean isProvidersDisputesApiNotFound(ProviderData providerData) {
}

private String getRouteUrl(ProviderData providerData) {
var routeUrl = providerRouting.getRouteUrl(providerData);
log.debug("Check adapter connection, routeUrl={}", routeUrl);
return routeUrl;
providerRouting.initRouteUrl(providerData);
log.debug("Check adapter connection, routeUrl={}", providerData.getRouteUrl());
return providerData.getRouteUrl();
}

private HttpClientResponseHandler<Boolean> isNotFoundResponse() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import dev.vality.disputes.config.properties.AdaptersConnectionProperties;
import dev.vality.disputes.provider.ProviderDisputesServiceSrv;
import dev.vality.disputes.schedule.model.ProviderData;
import dev.vality.woody.thrift.impl.http.THSpawnClientBuilder;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -18,14 +17,11 @@
@SuppressWarnings({"AbbreviationAsWordInName", "LineLength"})
public class ProviderIfaceBuilder {

private final ProviderRouting providerRouting;
private final AdaptersConnectionProperties adaptersConnectionProperties;

@Cacheable(value = "adapters", key = "#providerData.defaultProviderUrl", cacheManager = "adaptersCacheManager")
public ProviderDisputesServiceSrv.Iface buildTHSpawnClient(ProviderData providerData) {
var routeUrl = providerRouting.getRouteUrl(providerData);
@Cacheable(value = "adapters", key = "#root.args[0]", cacheManager = "adaptersCacheManager")
public ProviderDisputesServiceSrv.Iface buildTHSpawnClient(String routeUrl) {
log.info("Creating new client for url: {}", routeUrl);
providerData.setRouteUrl(routeUrl);
return new THSpawnClientBuilder()
.withNetworkTimeout((int) TimeUnit.SECONDS.toMillis(adaptersConnectionProperties.getTimeoutSec()))
.withAddress(URI.create(routeUrl))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ public class ProviderRouting {
private static final String DISPUTES_URL_POSTFIX_DEFAULT = "disputes";
private static final String OPTION_DISPUTES_URL_FIELD_NAME = "disputes_url";

public String getRouteUrl(ProviderData providerData) {
public void initRouteUrl(ProviderData providerData) {
var url = providerData.getOptions().get(OPTION_DISPUTES_URL_FIELD_NAME);
if (ObjectUtils.isEmpty(url)) {
url = createDefaultRouteUrl(providerData.getDefaultProviderUrl());
}
return url;
providerData.setRouteUrl(url);
}

private String createDefaultRouteUrl(String defaultProviderUrl) {
Expand Down

0 comments on commit 0f82f76

Please sign in to comment.