Skip to content
Snippets Groups Projects
Commit e470cb97 authored by Dean Jonas Finkes's avatar Dean Jonas Finkes
Browse files

refactoring of God Class...:D

parent 505d1f68
No related branches found
No related tags found
No related merge requests found
package ui.expert;
import java.io.File;
import javafx.collections.ObservableList;
import javafx.concurrent.WorkerStateEvent;
import javafx.event.EventHandler;
import tasks.CandidatePatternListTask;
import tasks.WriteCandidatePatternList;
import ui.shared.ConnectedControl;
public class ApplyCPTab extends ConnectedControl {
private ExpertScreenController controller;
private static ApplyCPTab instance;
public static synchronized ApplyCPTab getInstance() {
if (ApplyCPTab.instance == null) {
ApplyCPTab.instance = new ApplyCPTab();
}
return ApplyCPTab.instance;
}
@Override
public void init() {
}
public void setExpertController(final ExpertScreenController controller) {
this.controller = controller;
setApp(controller.getApp());
}
public void applySelectedCandidatePattern(final String databasePath) {
if (databasePath.isEmpty()) {
getApp().openPopup(ui.shared.MainApp.ERROR, true, ExpertScreenController.MISSING_PATHS);
} else {
controller.getCPProgressBar().setVisible(true);
controller.getCPProgressLabel().setVisible(true);
final CandidatePatternListTask cpTask = new CandidatePatternListTask();
controller.getCPProgressLabel().textProperty().bind(cpTask.messageProperty());
controller.getCPProgressBar().progressProperty().bind(cpTask.progressProperty());
cpTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.setCPMatches(cpTask.getMatches());
controller.getMatchedCPListView().setItems(cpTask.getMatches());
controller.getCPProgressLabel().textProperty().unbind();
controller.getCPProgressBar().progressProperty().unbind();
}
});
cpTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getCPProgressLabel().textProperty().unbind();
controller.getCPProgressBar().progressProperty().unbind();
getApp().openPopup(ui.shared.MainApp.ERROR, true, "Internal Matching Error!");
controller.getCPProgressBar().setVisible(false);
controller.getCPProgressLabel().setVisible(false);
cpTask.exceptionProperty().get().printStackTrace();
}
});
new Thread(cpTask).start();
}
}
public void saveList(final ObservableList<String> cpMatches) {
if (cpMatches == null) {
getApp().openPopup(ui.shared.MainApp.ERROR, true, "List is empty!");
} else {
File selectedFile = fileDialog("save", "", "Save list", "XML files (*.xml)", "*.xml");
if (selectedFile != null) {
controller.getCPProgressBar().setVisible(true);
controller.getCPProgressLabel().setVisible(true);
WriteCandidatePatternList writeTask = new WriteCandidatePatternList(cpMatches, selectedFile);
controller.getCPProgressLabel().textProperty().bind(writeTask.messageProperty());
controller.getCPProgressBar().progressProperty().bind(writeTask.progressProperty());
new Thread(writeTask).start();
}
}
}
}
package ui.expert;
import java.io.File;
import controller.FileSystemController;
import controller.LazyQueryController;
import controller.SourceFinder;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.concurrent.WorkerStateEvent;
import javafx.event.EventHandler;
import logging.Logger;
import model.ParallelizationPattern;
import model.Pattern;
import model.PatternList;
import tasks.Java2SDGTask;
import tasks.SDG2JavaTask;
import tasks.UpdateTask;
import ui.shared.ConnectedControl;
public class ApplyPPTab extends ConnectedControl {
private ExpertScreenController controller;
private static ApplyPPTab instance;
public static synchronized ApplyPPTab getInstance() {
if (ApplyPPTab.instance == null) {
ApplyPPTab.instance = new ApplyPPTab();
}
return ApplyPPTab.instance;
}
@Override
public void init() {
}
public void setExpertController(final ExpertScreenController controller) {
this.controller = controller;
setApp(controller.getApp());
}
public void loadPatternList(final String srcFolder) {
File matchedPatterns = fileDialog("open", "", "Load list", "XML files (*.xml)", "*.xml");
if (matchedPatterns == null || srcFolder.isEmpty()) {
getApp().openPopup(ui.shared.MainApp.ERROR, true, "Missing Paths!");
} else {
PatternList patternList = PatternList.getInstance();
for (Pattern p : patternList.getActivePatterns()) {
Logger.info(p.getName());
Logger.info(Integer.toString(p.getUpdatePatterns().size()));
}
FileSystemController.deleteDir(new File("tmp", ""));
controller.setTempFolder(FileSystemController.copyDirToLocal(srcFolder).getAbsolutePath());
controller.getCandidatePatternComboBox().setDisable(false);
SourceFinder.getInstance().setSrcDirectory(controller.getTempFolder());
LazyQueryController.clearTransformer();
ObservableList<String> emptyStringList = FXCollections.observableArrayList();
ObservableList<ParallelizationPattern> emptyPatternList = FXCollections.observableArrayList();
controller.getMatchingPositionsList().set(emptyStringList);
controller.getUpdatePatternComboBox().setDisable(true);
controller.getTransformButton().setDisable(true);
controller.getParallelizedTextArea().setText("");
controller.getSequentialTextArea().setText("");
controller.getUpdatePatternComboBox().setItems(emptyPatternList);
controller.getCandidatePatternComboBox().setItems(patternList.getActivePatterns());
if (patternList.getActivePatterns().size() > 0) {
controller.getCandidatePatternComboBox().getSelectionModel().select(0);
}
}
}
public void applyPattern(final int index, final ParallelizationPattern pPattern) {
if (index != -1 && pPattern != null) {
controller.getTransformationProgressLabel().setVisible(true);
final UpdateTask updateTask = new UpdateTask(pPattern, index, true);
updateTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getTransformationProgressLabel().textProperty().unbind();
finishUpdatePattern();
}
});
updateTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getTransformationProgressLabel().setVisible(false);
controller.getTransformationProgressLabel().textProperty().unbind();
controller.getTransformationProgressBar().setProgress(0);
updateTask.exceptionProperty().get().printStackTrace();
}
});
controller.getTransformationProgressLabel().textProperty().bind(updateTask.messageProperty());
controller.getTransformationProgressBar().setProgress(-1);
new Thread(updateTask).start();
}
}
private void finishUpdatePattern() {
final SDG2JavaTask sdg2JavaTask = new SDG2JavaTask(controller.getTempFolder(), false);
final String classpath = controller.getOpenClasspathTextField().getText();
final String mainClass = controller.getMainClassTextField().getText();
final Java2SDGTask java2SDGTask = new Java2SDGTask(controller.getTempFolder(), classpath,
controller.getDatabasePath(), mainClass);
sdg2JavaTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getTransformationProgressLabel().textProperty().unbind();
controller.getTransformationProgressLabel().textProperty().bind(java2SDGTask.messageProperty());
controller.getTransformationProgressBar().progressProperty().bind(java2SDGTask.progressProperty());
new Thread(java2SDGTask).start();
}
});
sdg2JavaTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getTransformationProgressLabel().setVisible(false);
controller.getTransformationProgressBar().setProgress(0);
controller.getTransformationProgressLabel().textProperty().unbind();
sdg2JavaTask.exceptionProperty().get().printStackTrace();
}
});
java2SDGTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
LazyQueryController.clearTransformer();
controller.getTransformationProgressBar().progressProperty().unbind();
controller.getTransformationProgressLabel().textProperty().unbind();
controller.getTransformButton().setDisable(true);
ObservableList<String> list = FXCollections.observableArrayList();
controller.getMatchingPositionsList().set(list);
controller.getUpdatePatternComboBox().setDisable(true);
controller.getUpdatePatternComboBox().getSelectionModel().clearSelection();
controller.getCandidatePatternComboBox().getSelectionModel().clearSelection();
controller.getParallelizedTextArea().setText("");
controller.getSequentialTextArea().setText("");
}
});
java2SDGTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getTransformationProgressBar().progressProperty().unbind();
controller.getTransformationProgressLabel().textProperty().unbind();
controller.getTransformationProgressLabel().setVisible(false);
java2SDGTask.exceptionProperty().get().printStackTrace();
}
});
controller.getTransformationProgressLabel().textProperty().bind(sdg2JavaTask.messageProperty());
new Thread(sdg2JavaTask).start();
}
}
...@@ -3,14 +3,11 @@ package ui.expert; ...@@ -3,14 +3,11 @@ package ui.expert;
import java.io.File; import java.io.File;
import controller.DatabaseController; import controller.DatabaseController;
import controller.FileSystemController;
import controller.LazyQueryController; import controller.LazyQueryController;
import controller.SourceFinder;
import javafx.beans.property.ListProperty; import javafx.beans.property.ListProperty;
import javafx.beans.property.SimpleListProperty; import javafx.beans.property.SimpleListProperty;
import javafx.beans.value.ChangeListener; import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue; import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.concurrent.WorkerStateEvent; import javafx.concurrent.WorkerStateEvent;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
...@@ -27,21 +24,16 @@ import javafx.scene.control.TextField; ...@@ -27,21 +24,16 @@ import javafx.scene.control.TextField;
import logging.Logger; import logging.Logger;
import model.ParallelizationPattern; import model.ParallelizationPattern;
import model.Pattern; import model.Pattern;
import model.PatternList;
import preferences.PreferenceConstants; import preferences.PreferenceConstants;
import preferences.Preferences; import preferences.Preferences;
import tasks.CandidatePatternListTask;
import tasks.Java2SDGTask;
import tasks.QueryTask; import tasks.QueryTask;
import tasks.SDG2JavaTask;
import tasks.UpdateTask; import tasks.UpdateTask;
import tasks.WriteCandidatePatternList;
import ui.shared.ConnectedControl; import ui.shared.ConnectedControl;
import ui.shared.PopupController; import ui.shared.PopupController;
public class ExpertScreenController extends ConnectedControl { public class ExpertScreenController extends ConnectedControl {
private final static String MISSING_PATHS = "Missing Paths"; public final static String MISSING_PATHS = "Missing Paths";
private ObservableList<String> cpMatches; private ObservableList<String> cpMatches;
private ListProperty<String> matchingPositionsList; private ListProperty<String> matchingPositionsList;
private String databasePath; private String databasePath;
...@@ -113,8 +105,97 @@ public class ExpertScreenController extends ConnectedControl { ...@@ -113,8 +105,97 @@ public class ExpertScreenController extends ConnectedControl {
@FXML @FXML
private Button transformButton; private Button transformButton;
public ProgressIndicator getJava2SdgProgressBar() {
return java2sdgProgressBar;
}
public Label getJava2SdgProgressLabel() {
return java2sdgProgressLabel;
}
public ProgressIndicator getSdg2JavaProgressBar() {
return sdg2javaProgressBar;
}
public Label getSdg2JavaProgressLabel() {
return sdg2javaProgressLabel;
}
public ProgressBar getCPProgressBar() {
return cpProgressBar;
}
public Label getCPProgressLabel() {
return cpProgressLabel;
}
public void setCPMatches(ObservableList<String> cpMatches) {
this.cpMatches = cpMatches;
}
public ListView<String> getMatchedCPListView() {
return matchedCPListView;
}
public String getTempFolder() {
return tempFolder;
}
public void setTempFolder(String tempFolder) {
this.tempFolder = tempFolder;
}
public ListProperty<String> getMatchingPositionsList() {
return matchingPositionsList;
}
public ComboBox<Pattern> getCandidatePatternComboBox() {
return candidatePatternComboBox;
}
public ComboBox<ParallelizationPattern> getUpdatePatternComboBox() {
return updatePatternComboBox;
}
public TextArea getParallelizedTextArea() {
return parallelizedTextArea;
}
public TextArea getSequentialTextArea() {
return sequentialTextArea;
}
public Button getTransformButton() {
return transformButton;
}
public Label getTransformationProgressLabel() {
return transformationProgressLabel;
}
public ProgressBar getTransformationProgressBar() {
return transformationProgressBar;
}
public String getDatabasePath() {
return databasePath;
}
public TextField getOpenClasspathTextField() {
return openClasspathTextField;
}
public TextField getMainClassTextField() {
return mainClassTextField;
}
@Override @Override
public void init() { public void init() {
ImportExportTab.getInstance().setExpertController(this);
ApplyCPTab.getInstance().setExpertController(this);
ApplyPPTab.getInstance().setExpertController(this);
if (Preferences.getInstance().hasValue(PreferenceConstants.DEFAULT_PATH)) { if (Preferences.getInstance().hasValue(PreferenceConstants.DEFAULT_PATH)) {
openJavaTextField.setText(Preferences.getInstance().getValue(PreferenceConstants.DEFAULT_PATH)); openJavaTextField.setText(Preferences.getInstance().getValue(PreferenceConstants.DEFAULT_PATH));
} }
...@@ -269,92 +350,7 @@ public class ExpertScreenController extends ConnectedControl { ...@@ -269,92 +350,7 @@ public class ExpertScreenController extends ConnectedControl {
int index = matchedPositionsListView.getSelectionModel().getSelectedIndex(); int index = matchedPositionsListView.getSelectionModel().getSelectedIndex();
ParallelizationPattern pPattern = updatePatternComboBox.getSelectionModel().getSelectedItem(); ParallelizationPattern pPattern = updatePatternComboBox.getSelectionModel().getSelectedItem();
if (index != -1 && pPattern != null) { ApplyPPTab.getInstance().applyPattern(index, pPattern);
transformationProgressLabel.setVisible(true);
final UpdateTask updateTask = new UpdateTask(pPattern, index, true);
updateTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
transformationProgressLabel.textProperty().unbind();
finishUpdatePattern();
}
});
updateTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
transformationProgressLabel.setVisible(false);
transformationProgressLabel.textProperty().unbind();
transformationProgressBar.setProgress(0);
updateTask.exceptionProperty().get().printStackTrace();
}
});
transformationProgressLabel.textProperty().bind(updateTask.messageProperty());
transformationProgressBar.setProgress(-1);
new Thread(updateTask).start();
}
}
private void finishUpdatePattern() {
final SDG2JavaTask sdg2JavaTask = new SDG2JavaTask(tempFolder, false);
final String classpath = openClasspathTextField.getText();
final String mainClass = mainClassTextField.getText();
final Java2SDGTask java2SDGTask = new Java2SDGTask(tempFolder, classpath, databasePath, mainClass);
sdg2JavaTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
transformationProgressLabel.textProperty().unbind();
transformationProgressLabel.textProperty().bind(java2SDGTask.messageProperty());
transformationProgressBar.progressProperty().bind(java2SDGTask.progressProperty());
new Thread(java2SDGTask).start();
}
});
sdg2JavaTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
transformationProgressLabel.setVisible(false);
transformationProgressBar.setProgress(0);
transformationProgressLabel.textProperty().unbind();
sdg2JavaTask.exceptionProperty().get().printStackTrace();
}
});
java2SDGTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
LazyQueryController.clearTransformer();
transformationProgressBar.progressProperty().unbind();
transformationProgressLabel.textProperty().unbind();
transformButton.setDisable(true);
ObservableList<String> list = FXCollections.observableArrayList();
matchingPositionsList.set(list);
updatePatternComboBox.setDisable(true);
updatePatternComboBox.getSelectionModel().clearSelection();
candidatePatternComboBox.getSelectionModel().clearSelection();
parallelizedTextArea.setText("");
sequentialTextArea.setText("");
}
});
java2SDGTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
transformationProgressBar.progressProperty().unbind();
transformationProgressLabel.textProperty().unbind();
transformationProgressLabel.setVisible(false);
java2SDGTask.exceptionProperty().get().printStackTrace();
}
});
transformationProgressLabel.textProperty().bind(sdg2JavaTask.messageProperty());
new Thread(sdg2JavaTask).start();
} }
@FXML @FXML
...@@ -395,183 +391,35 @@ public class ExpertScreenController extends ConnectedControl { ...@@ -395,183 +391,35 @@ public class ExpertScreenController extends ConnectedControl {
final String javaSrc = openJavaTextField.getText(); final String javaSrc = openJavaTextField.getText();
final String classpath = openClasspathTextField.getText(); final String classpath = openClasspathTextField.getText();
final String mainClass = mainClassTextField.getText(); final String mainClass = mainClassTextField.getText();
if (javaSrc.isEmpty() || databasePath.isEmpty() || mainClass.isEmpty()) {
getApp().openPopup(ui.shared.MainApp.ERROR, true, ExpertScreenController.MISSING_PATHS);
} else {
java2sdgProgressBar.setVisible(true);
java2sdgProgressLabel.setVisible(true);
final Java2SDGTask java2SDGTask = new Java2SDGTask(javaSrc, classpath, databasePath, mainClass); ImportExportTab.getInstance().java2SDG(javaSrc, classpath, mainClass, databasePath);
java2SDGTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
java2sdgProgressLabel.textProperty().unbind();
java2sdgProgressBar.progressProperty().unbind();
}
});
java2SDGTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
java2sdgProgressLabel.textProperty().unbind();
java2sdgProgressBar.progressProperty().unbind();
getApp().openPopup(ui.shared.MainApp.ERROR, true, "Internal Error in Java2Sdg!");
java2sdgProgressBar.setVisible(false);
java2sdgProgressLabel.setVisible(false);
java2SDGTask.exceptionProperty().get().printStackTrace();
}
});
java2sdgProgressLabel.textProperty().bind(java2SDGTask.messageProperty());
java2sdgProgressBar.progressProperty().bind(java2SDGTask.progressProperty());
new Thread(java2SDGTask).start();
}
} }
@FXML @FXML
protected void exportDBButtonAction(final ActionEvent event) { protected void exportDBButtonAction(final ActionEvent event) {
final String outputDir = openJavaTargetTextField.getText(); final String outputDir = openJavaTargetTextField.getText();
ImportExportTab.getInstance().sdg2Java(outputDir);
if (outputDir.isEmpty()) {
getApp().openPopup(ui.shared.MainApp.ERROR, true, ExpertScreenController.MISSING_PATHS);
} else {
sdg2javaProgressBar.setVisible(true);
sdg2javaProgressLabel.setVisible(true);
final SDG2JavaTask sdg2JavaTask = new SDG2JavaTask(outputDir, false);
sdg2JavaTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
sdg2javaProgressLabel.textProperty().unbind();
sdg2javaProgressBar.progressProperty().unbind();
}
});
sdg2JavaTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
sdg2javaProgressLabel.textProperty().unbind();
sdg2javaProgressBar.progressProperty().unbind();
getApp().openPopup(ui.shared.MainApp.ERROR, true, "Internal Error in Sdg2Java!");
sdg2javaProgressBar.setVisible(false);
sdg2javaProgressLabel.setVisible(false);
sdg2JavaTask.exceptionProperty().get().printStackTrace();
}
});
sdg2javaProgressLabel.textProperty().bind(sdg2JavaTask.messageProperty());
sdg2javaProgressBar.progressProperty().bind(sdg2JavaTask.progressProperty());
new Thread(sdg2JavaTask).start();
}
} }
@FXML @FXML
protected void applyCPButtonAction(final ActionEvent event) { protected void applyCPButtonAction(final ActionEvent event) {
if (databasePath.isEmpty()) { ApplyCPTab.getInstance().applySelectedCandidatePattern(databasePath);
getApp().openPopup(ui.shared.MainApp.ERROR, true, ExpertScreenController.MISSING_PATHS);
} else {
cpProgressBar.setVisible(true);
cpProgressLabel.setVisible(true);
final CandidatePatternListTask cpTask = new CandidatePatternListTask();
cpProgressLabel.textProperty().bind(cpTask.messageProperty());
cpProgressBar.progressProperty().bind(cpTask.progressProperty());
cpTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
cpMatches = cpTask.getMatches();
matchedCPListView.setItems(cpMatches);
cpProgressLabel.textProperty().unbind();
cpProgressBar.progressProperty().unbind();
}
});
cpTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
cpProgressLabel.textProperty().unbind();
cpProgressBar.progressProperty().unbind();
getApp().openPopup(ui.shared.MainApp.ERROR, true, "Internal Matching Error!");
cpProgressBar.setVisible(false);
cpProgressLabel.setVisible(false);
cpTask.exceptionProperty().get().printStackTrace();
}
});
new Thread(cpTask).start();
}
} }
@FXML @FXML
protected void saveCPListButtonAction(final ActionEvent event) { protected void saveCPListButtonAction(final ActionEvent event) {
if (cpMatches == null) { ApplyCPTab.getInstance().saveList(cpMatches);
getApp().openPopup(ui.shared.MainApp.ERROR, true, "List is empty!");
} else {
File selectedFile = fileDialog("save", "", "Save list", "XML files (*.xml)", "*.xml");
if (selectedFile != null) {
cpProgressBar.setVisible(true);
cpProgressLabel.setVisible(true);
WriteCandidatePatternList writeTask = new WriteCandidatePatternList(cpMatches, selectedFile);
cpProgressLabel.textProperty().bind(writeTask.messageProperty());
cpProgressBar.progressProperty().bind(writeTask.progressProperty());
new Thread(writeTask).start();
}
}
} }
@FXML @FXML
protected void loadPatternListButtonAction(final ActionEvent event) { protected void loadPatternListButtonAction(final ActionEvent event) {
File matchedPatterns = fileDialog("open", "", "Load list", "XML files (*.xml)", "*.xml");
String srcFolder = openJavaTextField.getText(); String srcFolder = openJavaTextField.getText();
if (matchedPatterns == null || srcFolder.isEmpty()) {
getApp().openPopup(ui.shared.MainApp.ERROR, true, "Missing Paths!");
} else {
PatternList patternList = PatternList.getInstance();
for (Pattern p : patternList.getActivePatterns()) {
Logger.info(p.getName());
Logger.info(Integer.toString(p.getUpdatePatterns().size()));
}
FileSystemController.deleteDir(new File("tmp", ""));
tempFolder = FileSystemController.copyDirToLocal(srcFolder).getAbsolutePath();
Logger.info("Temp Folder for Source Finder : " + tempFolder);
candidatePatternComboBox.setDisable(false);
SourceFinder.getInstance().setSrcDirectory(tempFolder);
LazyQueryController.clearTransformer();
ObservableList<String> emptyStringList = FXCollections.observableArrayList();
ObservableList<ParallelizationPattern> emptyPatternList = FXCollections.observableArrayList();
matchingPositionsList.set(emptyStringList);
updatePatternComboBox.setDisable(true);
transformButton.setDisable(true);
parallelizedTextArea.setText("");
sequentialTextArea.setText("");
updatePatternComboBox.setItems(emptyPatternList);
candidatePatternComboBox.setItems(patternList.getActivePatterns());
if (patternList.getActivePatterns().size() > 0) {
candidatePatternComboBox.getSelectionModel().select(0);
}
}
ApplyPPTab.getInstance().loadPatternList(srcFolder);
} }
} }
package ui.expert;
import javafx.concurrent.WorkerStateEvent;
import javafx.event.EventHandler;
import tasks.Java2SDGTask;
import tasks.SDG2JavaTask;
public class ImportExportTab {
private ExpertScreenController controller;
private static ImportExportTab instance;
public static synchronized ImportExportTab getInstance() {
if (ImportExportTab.instance == null) {
ImportExportTab.instance = new ImportExportTab();
}
return ImportExportTab.instance;
}
public void setExpertController(final ExpertScreenController controller) {
this.controller = controller;
}
public void java2SDG(final String javaSrc, final String classpath, final String mainClass,
final String databasePath) {
if (javaSrc.isEmpty() || databasePath.isEmpty() || mainClass.isEmpty()) {
controller.getApp().openPopup(ui.shared.MainApp.ERROR, true, ExpertScreenController.MISSING_PATHS);
} else {
controller.getJava2SdgProgressBar().setVisible(true);
controller.getJava2SdgProgressLabel().setVisible(true);
final Java2SDGTask java2SDGTask = new Java2SDGTask(javaSrc, classpath, databasePath, mainClass);
java2SDGTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getJava2SdgProgressLabel().textProperty().unbind();
controller.getJava2SdgProgressBar().progressProperty().unbind();
}
});
java2SDGTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getJava2SdgProgressLabel().textProperty().unbind();
controller.getJava2SdgProgressBar().progressProperty().unbind();
controller.getApp().openPopup(ui.shared.MainApp.ERROR, true, "Internal Error in Java2Sdg!");
controller.getJava2SdgProgressBar().setVisible(false);
controller.getJava2SdgProgressLabel().setVisible(false);
java2SDGTask.exceptionProperty().get().printStackTrace();
}
});
controller.getJava2SdgProgressLabel().textProperty().bind(java2SDGTask.messageProperty());
controller.getJava2SdgProgressBar().progressProperty().bind(java2SDGTask.progressProperty());
new Thread(java2SDGTask).start();
}
}
public void sdg2Java(final String outputDir) {
if (outputDir.isEmpty()) {
controller.getApp().openPopup(ui.shared.MainApp.ERROR, true, ExpertScreenController.MISSING_PATHS);
} else {
controller.getSdg2JavaProgressBar().setVisible(true);
controller.getSdg2JavaProgressLabel().setVisible(true);
final SDG2JavaTask sdg2JavaTask = new SDG2JavaTask(outputDir, false);
sdg2JavaTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getSdg2JavaProgressLabel().textProperty().unbind();
controller.getSdg2JavaProgressBar().progressProperty().unbind();
}
});
sdg2JavaTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent workerStateEvent) {
controller.getSdg2JavaProgressLabel().textProperty().unbind();
controller.getSdg2JavaProgressBar().progressProperty().unbind();
controller.getApp().openPopup(ui.shared.MainApp.ERROR, true, "Internal Error in Sdg2Java!");
controller.getSdg2JavaProgressBar().setVisible(false);
controller.getSdg2JavaProgressLabel().setVisible(false);
sdg2JavaTask.exceptionProperty().get().printStackTrace();
}
});
controller.getSdg2JavaProgressLabel().textProperty().bind(sdg2JavaTask.messageProperty());
controller.getSdg2JavaProgressBar().progressProperty().bind(sdg2JavaTask.progressProperty());
new Thread(sdg2JavaTask).start();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment