Skip to content
This repository has been archived by the owner on Feb 7, 2025. It is now read-only.

Commit

Permalink
672: Move the getting the receiver to just when getting the metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
halprin committed Jan 9, 2024
1 parent 873e6ab commit fafd6bf
Showing 1 changed file with 24 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,27 +91,13 @@ public void updateMetadataForSentOrder(String receivedSubmissionId, String sentS
}

PartnerMetadata partnerMetadata = optionalPartnerMetadata.get();
if (!sentSubmissionId.equals(partnerMetadata.sentSubmissionId())) {
logger.logInfo("Updating metadata with sentSubmissionId: {}", sentSubmissionId);
partnerMetadata = partnerMetadata.withSentSubmissionId(sentSubmissionId);
partnerMetadataStorage.saveMetadata(partnerMetadata);
}

logger.logInfo(
"Looking up receiver name from RS history API for sentSubmissionId: {}",
sentSubmissionId);
String receiver;
try {
String bearerToken = rsclient.getRsToken();
String responseBody = rsclient.requestHistoryEndpoint(sentSubmissionId, bearerToken);
receiver = getReceiverName(responseBody);
} catch (ReportStreamEndpointClientException | FormatterProcessingException e) {
throw new PartnerMetadataException(
"Unable to retrieve metadata from RS history API", e);
if (sentSubmissionId.equals(partnerMetadata.sentSubmissionId())) {
return;
}

logger.logInfo("Updating metadata with receiver: {}", receiver);
partnerMetadata = partnerMetadata.withReceiver(receiver);
logger.logInfo("Updating metadata with sentSubmissionId: {}", sentSubmissionId);
partnerMetadata = partnerMetadata.withSentSubmissionId(sentSubmissionId);
partnerMetadataStorage.saveMetadata(partnerMetadata);
}

Expand All @@ -125,10 +111,26 @@ public Optional<PartnerMetadata> getMetadata(String receivedSubmissionId)
}

PartnerMetadata partnerMetadata = optionalPartnerMetadata.get();
if (partnerMetadata.receiver() == null && partnerMetadata.sentSubmissionId() != null) {
logger.logInfo("Receiver name not found in metadata, looking up from RS history API");
updateMetadataForSentOrder(receivedSubmissionId, partnerMetadata.sentSubmissionId());
return partnerMetadataStorage.readMetadata(receivedSubmissionId);
var sentSubmissionId = partnerMetadata.sentSubmissionId();
if (partnerMetadata.receiver() == null && sentSubmissionId != null) {
logger.logInfo(
"Receiver name not found in metadata, looking up {} from RS history API",
sentSubmissionId);

String receiver;
try {
String bearerToken = rsclient.getRsToken();
String responseBody =
rsclient.requestHistoryEndpoint(sentSubmissionId, bearerToken);
receiver = getReceiverName(responseBody);
} catch (ReportStreamEndpointClientException | FormatterProcessingException e) {
throw new PartnerMetadataException(
"Unable to retrieve metadata from RS history API", e);
}

logger.logInfo("Updating metadata with receiver: {}", receiver);
partnerMetadata = partnerMetadata.withReceiver(receiver);
partnerMetadataStorage.saveMetadata(partnerMetadata);
}

return Optional.of(partnerMetadata);
Expand Down

0 comments on commit fafd6bf

Please sign in to comment.