String currentResult = spfData.getCurrentResult();
restoreSession(spfData);
if (currentResult == null) {
throw new TempErrorException("included checkSPF returned null");
} else if (currentResult.equals(SPF1Constants.PASS)) {
// TODO this won't work asynchronously
spfData.setAttribute(Directive.ATTRIBUTE_MECHANISM_RESULT, Boolean.TRUE);
} else if (currentResult.equals(SPF1Constants.FAIL) || currentResult.equals(SPF1Constants.SOFTFAIL) || currentResult.equals(SPF1Constants.NEUTRAL)) {
// TODO this won't work asynchronously
spfData.setAttribute(Directive.ATTRIBUTE_MECHANISM_RESULT, Boolean.FALSE);
} else {
throw new TempErrorException("included checkSPF returned an Illegal result");
}
return null;
}