Skip to content
Snippets Groups Projects
Commit 9a5ce4a5 authored by Jonas Blatt's avatar Jonas Blatt :ant:
Browse files

Add execution time of verifier calculation to result object of verifier

parent 263a3ef7
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@ import org.apache.commons.lang3.Validate;
public class VerifierResult extends AbstractResultObject {
private VerificationType verificationType;
private Long executionTime;
private Set<VerificationResultEntry> verificationResultEntries;
public VerifierResult() {
......@@ -33,6 +34,15 @@ public class VerifierResult extends AbstractResultObject {
return verificationResultEntries.size();
}
@JsonbProperty("executionTime")
public Long getExecutionTime() {
return executionTime;
}
public void setExecutionTime(Long executionTime) {
this.executionTime = executionTime;
}
public static Builder getBuilder() {
return new VerifierResult().new Builder();
}
......@@ -49,6 +59,11 @@ public class VerifierResult extends AbstractResultObject {
return this;
}
public Builder withExecutionTime(Long executionTime) {
value.executionTime = executionTime;
return this;
}
public Builder fromVerifier(AbstractVerifier verifier) {
return withVerificationType(Validate.notNull(verifier).getVerificationType());
}
......
......@@ -26,6 +26,8 @@ public abstract class AbstractVerifier implements Verifier {
protected VerificationResultEntryFactory vreFactory;
protected DmnObjectContainer dmnObjectContainer;
private long executionTime = -1;
public VerificationType getVerificationType() {
return verificationType;
}
......@@ -65,18 +67,28 @@ public abstract class AbstractVerifier implements Verifier {
watch.start();
doVerification();
watch.stop();
executionTime = watch.getTime();
LOGGER.info(
"Verification "
+ getVerificationType().getName()
+ " finished. "
+ "Time Elapsed: "
+ watch.getTime()
+ executionTime
+ " ms");
return resultBuilder.build();
return resultBuilder.withExecutionTime(executionTime).build();
}
protected abstract void doVerification();
@Override
public long getExecutionTime() {
if (executionTime == -1) {
throw new IllegalStateException(
"Verifier must be executed before accessing the execution time!");
}
return executionTime;
}
@Override
public boolean equals(Object o) {
if (this == o) {
......
......@@ -7,4 +7,6 @@ import java.util.concurrent.Future;
public interface Verifier {
Future<VerifierResult> verify(ExecutorService executor);
long getExecutionTime();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment