Skip to content

Commit 576598a

Browse files
committed
log message with validation time in ms
1 parent 4b6f9b0 commit 576598a

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/main/java/dev/dsf/fhir/validator/main/ValidationMain.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.Arrays;
88
import java.util.List;
99
import java.util.Objects;
10+
import java.util.function.Supplier;
1011

1112
import org.hl7.fhir.instance.model.api.IBaseResource;
1213
import org.hl7.fhir.r4.model.Bundle;
@@ -142,19 +143,29 @@ public void validate(BundleValidator validator, String[] files)
142143
{
143144
logger.info("Validating {} from {}", r.getResource().getResourceType().name(), r.getFilename());
144145

145-
if (r.getResource() instanceof Bundle)
146+
if (r.getResource() instanceof Bundle b)
146147
{
147-
Bundle validationResult = validator.validate((Bundle) r.getResource());
148+
Bundle validationResult = logExecutionTimeInMs(() -> validator.validate(b), "Bundle");
148149
System.out.println(getOutputParser().encodeResourceToString(validationResult));
149150
}
150151
else
151152
{
152-
ValidationResult validationResult = validator.validate(r.getResource());
153+
ValidationResult validationResult = logExecutionTimeInMs(() -> validator.validate(r.getResource()),
154+
r.getResource().getResourceType().name());
153155
System.out.println(getOutputParser().encodeResourceToString(validationResult.toOperationOutcome()));
154156
}
155157
});
156158
}
157159

160+
private <T> T logExecutionTimeInMs(Supplier<T> supplier, String resourceType)
161+
{
162+
long t0 = System.currentTimeMillis();
163+
T t = supplier.get();
164+
long t1 = System.currentTimeMillis();
165+
logger.debug("{} validated in {} ms", resourceType, t1 - t0);
166+
return t;
167+
}
168+
158169
private IParser getOutputParser()
159170
{
160171
switch (output)

0 commit comments

Comments
 (0)