Skip to content

Commit 9f3c2e6

Browse files
committed
Refactor SoapFaultDetailElement processing logic
#deploy-oppdrag-service Introduce a helper method to encapsulate node information extraction from SoapFaultDetailElement. This improves code readability and centralizes the logic for easier maintenance and potential future modifications.
1 parent 176e9f6 commit 9f3c2e6

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

apps/oppdrag-service/src/main/java/no/nav/testnav/oppdragservice/consumer/OppdragWSConsumer.java

+19-4
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@
88
import org.springframework.ws.client.core.support.WebServiceGatewaySupport;
99
import org.springframework.ws.soap.SoapFaultDetailElement;
1010
import org.springframework.ws.soap.client.SoapFaultClientException;
11+
import org.w3c.dom.Node;
1112

1213
import javax.xml.transform.dom.DOMResult;
1314
import java.util.Spliterator;
1415
import java.util.Spliterators;
1516
import java.util.stream.Collectors;
1617
import java.util.stream.StreamSupport;
1718

19+
import static java.util.Objects.isNull;
20+
1821
@Slf4j
1922
@RequiredArgsConstructor
2023
public class OppdragWSConsumer extends WebServiceGatewaySupport {
@@ -46,10 +49,7 @@ public SendInnOppdragResponse sendOppdrag(String miljoe, SendInnOppdragRequest m
4649
.map(SoapFaultDetailElement::getResult)
4750
.map(DOMResult.class::cast)
4851
.map(result -> "systemId: " + result.getSystemId() +
49-
", nodeName: " + result.getNode().getNodeName() +
50-
", nodeValue: " + result.getNode().getNodeValue() +
51-
", nodeType: " + result.getNode().getNodeType() +
52-
", nextSibling: " + result.getNextSibling())
52+
getNodeInfo(result.getNode(), new StringBuilder()))
5353
.collect(Collectors.joining(", ")),
5454
soapFaultClientException.getSoapFault().getFaultActorOrRole(),
5555
soapFaultClientException.getSoapFault().getFaultStringOrReason(), e);
@@ -58,4 +58,19 @@ public SendInnOppdragResponse sendOppdrag(String miljoe, SendInnOppdragRequest m
5858
throw e;
5959
}
6060
}
61+
62+
private static String getNodeInfo(Node node, StringBuilder tekst) {
63+
64+
if (isNull(node)) {
65+
return tekst.toString();
66+
}
67+
68+
return getNodeInfo(node.getNextSibling(), tekst
69+
.append(", nodeName: ")
70+
.append(node.getNodeName())
71+
.append(", nodeValue: ")
72+
.append(node.getNodeValue())
73+
.append(", nodeType: ")
74+
.append(node.getNodeType()));
75+
}
6176
}

0 commit comments

Comments
 (0)