@Override public void afterStep( TestCaseRunner testRunner, SecurityTestRunContext runContext, SecurityTestStepResult result) { if (runContext.getCurrentStep().getId().equals(testStep.getId())) { if (!(progressBar.getString().equals(STATE_CANCEL) || progressBar.getString().equals(STATE_MISSING_ASSERTIONS) || progressBar.getString().equals(STATE_MISSING_PARAMETERS)) && securityTest.getSecurityTestStepResultMap().get(testStep) != null) { SecurityTestStepResult results = securityTest.getSecurityTestStepResultMap().get(testStep); /* * This is hack since SecurityTestStepResult.getStatus() do not * returns real state of execution. * * SKIPPED state overides all except FAILED , which is wrong. */ boolean skipped = results.getSecurityScanResultList().size() > 0; for (SecurityScanResult res : results.getSecurityScanResultList()) { if (res.getStatus() == ResultStatus.SKIPPED) continue; else { skipped = false; break; } } if (skipped) { progressBar.setString("SKIPPED"); progressBar.setForeground(UNKNOWN_COLOR); } else { progressBar.setString(STATE_DONE); } } } else progressBar.setBackground(UNKNOWN_COLOR); progressBar.setValue(progressBar.getMaximum() == 0 ? 1 : progressBar.getMaximum()); ((DefaultTreeModel) tree.getModel()).nodeChanged(node); }