Я создал индикатор выполнения в моем пользовательском интерфейсе контроллера Java FXML и передаю ему значения через executeWSButton. Я создаю новую задачу в методе createWorker () и привязываю значение свойства к индикатору выполнения.
Проблема в том, что я не могу создать новый Task () в методе createWorker (). Он работал нормально 6 месяцев назад, и я возобновил работу по разработке. Не могли бы вы предложить, что может быть причиной здесь
@FXML
public void executeWSButton(ActionEvent event) {
outputTextScreen.appendText(newLine + " Execution for Process: Started" + newLine);
executeWS.setDisable(true);
progressBar.setProgress(0);
copyWorker = createWorker();
if(testModule != "") {
progressBar.progressProperty().unbind();
progressBar.progressProperty().bind(copyWorker.progressProperty());
new Thread(copyWorker).start();
executeWS.setDisable(false);
}
else {
outputTextScreen.appendText(" Execution for Process: " + Item + " do not have any current TestMethods to Call, Hence stopping the test" + newLine);
}
}
public Task createWorker() {
return new Task() {
@Override
protected Object call() throws Exception {
Invoke_TestNG_Classes ws = new Invoke_TestNG_Classes();
String output = ws.iterateThroughTestCases(inputfile_fp, GIfile_fp, testModule,excelPath);
if(output.contains("Mark atleast"))
{
updateProgress(1.0, 1.0);
outputTextScreen.appendText(
"Please mark atleast one test case with flag as Y in Testcase Execution sheet for "+ Item + newLine);
textOutput.setText("Test Execution Aborted");
return true;
}
while (output.contains("Completed")) {
updateProgress(1.0, 1.0);
// progressBar.setAccessibleText("Completed");
System.out.println(output);
outputTextScreen.appendText("Webservice Execution for Process: " + Item + " Completed" + newLine);
textOutput.setText("Test Execution Completed");
return true;
}
return true;
}
};
}