|
|
|
@ -232,6 +232,10 @@ public class StringAnalysisTabNew2 {
|
|
|
|
|
private ListChangeListener<String> alsoVisualizeListener;
|
|
|
|
|
private ListChangeListener<String> collocabilityListener;
|
|
|
|
|
private ChangeListener<String> calculateForListener;
|
|
|
|
|
private ChangeListener<Boolean> msdListener;
|
|
|
|
|
private ChangeListener<Boolean> minimalOccurrencesListener;
|
|
|
|
|
private ChangeListener<Boolean> minimalTaxonomyListener;
|
|
|
|
|
private ChangeListener<Boolean> minimalRelFreListener;
|
|
|
|
|
|
|
|
|
|
// private static final ObservableList<String> N_GRAM_COMPUTE_FOR_WORDS = FXCollections.observableArrayList("lema", "različnica", "oblikoskladenjska oznaka");
|
|
|
|
|
// private static final ObservableList<String> N_GRAM_COMPUTE_FOR_LETTERS = FXCollections.observableArrayList("lema", "različnica");
|
|
|
|
@ -318,9 +322,6 @@ public class StringAnalysisTabNew2 {
|
|
|
|
|
ngramValue = 2; // actual value at that index
|
|
|
|
|
|
|
|
|
|
// set default values
|
|
|
|
|
minimalOccurrencesTF.setText("1");
|
|
|
|
|
minimalOccurrences = 1;
|
|
|
|
|
|
|
|
|
|
minimalTaxonomyTF.setText("1");
|
|
|
|
|
minimalTaxonomy = 1;
|
|
|
|
|
|
|
|
|
@ -511,35 +512,44 @@ public class StringAnalysisTabNew2 {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// msd
|
|
|
|
|
msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = msdTF.getText();
|
|
|
|
|
logger.info("msdTf: ", value);
|
|
|
|
|
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" ")));
|
|
|
|
|
|
|
|
|
|
int nOfRequiredMsdTokens = ngramValue == 0 ? 1 : ngramValue;
|
|
|
|
|
if (msdTmp.size() != nOfRequiredMsdTokens) {
|
|
|
|
|
String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size());
|
|
|
|
|
logAlert(msg);
|
|
|
|
|
showAlert(Alert.AlertType.ERROR, msg);
|
|
|
|
|
}
|
|
|
|
|
msd = new ArrayList<>();
|
|
|
|
|
msdStrings = new ArrayList<>();
|
|
|
|
|
for (String msdToken : msdTmp) {
|
|
|
|
|
msd.add(Pattern.compile(msdToken));
|
|
|
|
|
msdStrings.add(msdToken);
|
|
|
|
|
}
|
|
|
|
|
logger.info(String.format("msd accepted (%d)", msd.size()));
|
|
|
|
|
if (msdListener != null){
|
|
|
|
|
msdTF.focusedProperty().removeListener(msdListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (!ValidationUtil.isEmpty(newValue)) {
|
|
|
|
|
msd = new ArrayList<>();
|
|
|
|
|
msdStrings = new ArrayList<>();
|
|
|
|
|
// msd
|
|
|
|
|
msdListener = new ChangeListener<Boolean>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = msdTF.getText();
|
|
|
|
|
logger.info("msdTf: ", value);
|
|
|
|
|
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" ")));
|
|
|
|
|
|
|
|
|
|
int nOfRequiredMsdTokens = ngramValue == 0 ? 1 : ngramValue;
|
|
|
|
|
if (msdTmp.size() != nOfRequiredMsdTokens) {
|
|
|
|
|
String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size());
|
|
|
|
|
logAlert(msg);
|
|
|
|
|
showAlert(Alert.AlertType.ERROR, msg);
|
|
|
|
|
}
|
|
|
|
|
msd = new ArrayList<>();
|
|
|
|
|
msdStrings = new ArrayList<>();
|
|
|
|
|
for (String msdToken : msdTmp) {
|
|
|
|
|
msd.add(Pattern.compile(msdToken));
|
|
|
|
|
msdStrings.add(msdToken);
|
|
|
|
|
}
|
|
|
|
|
logger.info(String.format("msd accepted (%d)", msd.size()));
|
|
|
|
|
|
|
|
|
|
} else if (!ValidationUtil.isEmpty(newValue)) {
|
|
|
|
|
msd = new ArrayList<>();
|
|
|
|
|
msdStrings = new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
msdTF.focusedProperty().addListener(msdListener);
|
|
|
|
|
|
|
|
|
|
msdTF.setText("");
|
|
|
|
|
msd = new ArrayList<>();
|
|
|
|
@ -662,63 +672,92 @@ public class StringAnalysisTabNew2 {
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
minimalOccurrencesTF.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = minimalOccurrencesTF.getText();
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
if (!ValidationUtil.isNumber(value)) {
|
|
|
|
|
logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
minimalOccurrencesTF.setText("1");
|
|
|
|
|
minimalOccurrences = 1;
|
|
|
|
|
|
|
|
|
|
if (minimalOccurrencesListener != null){
|
|
|
|
|
minimalOccurrencesTF.focusedProperty().removeListener(minimalOccurrencesListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// msd
|
|
|
|
|
minimalOccurrencesListener = new ChangeListener<Boolean>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = minimalOccurrencesTF.getText();
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
if (!ValidationUtil.isNumber(value)) {
|
|
|
|
|
logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
} else {
|
|
|
|
|
minimalOccurrences = Integer.parseInt(value);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
minimalOccurrences = Integer.parseInt(value);
|
|
|
|
|
minimalOccurrencesTF.setText("1");
|
|
|
|
|
minimalOccurrences = 1;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
minimalOccurrencesTF.setText("1");
|
|
|
|
|
minimalOccurrences = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
minimalOccurrencesTF.focusedProperty().addListener(minimalOccurrencesListener);
|
|
|
|
|
|
|
|
|
|
minimalTaxonomyTF.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = minimalTaxonomyTF.getText();
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
if (!ValidationUtil.isNumber(value)) {
|
|
|
|
|
logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
|
|
|
|
|
if (minimalTaxonomyListener != null){
|
|
|
|
|
minimalTaxonomyTF.focusedProperty().removeListener(minimalTaxonomyListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
minimalTaxonomyListener = new ChangeListener<Boolean>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = minimalTaxonomyTF.getText();
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
if (!ValidationUtil.isNumber(value)) {
|
|
|
|
|
logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
} else {
|
|
|
|
|
minimalTaxonomy = Integer.parseInt(value);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
minimalTaxonomy = Integer.parseInt(value);
|
|
|
|
|
minimalTaxonomyTF.setText("1");
|
|
|
|
|
minimalTaxonomy = 1;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
minimalTaxonomyTF.setText("1");
|
|
|
|
|
minimalTaxonomy = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
minimalTaxonomyTF.focusedProperty().addListener(minimalTaxonomyListener);
|
|
|
|
|
|
|
|
|
|
// set default values
|
|
|
|
|
minimalRelFreTF.setText("1");
|
|
|
|
|
minimalRelFre = 1;
|
|
|
|
|
|
|
|
|
|
minimalRelFreTF.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = minimalRelFreTF.getText();
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
if (!ValidationUtil.isNumber(value)) {
|
|
|
|
|
logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
if (minimalRelFreListener != null){
|
|
|
|
|
minimalRelFreTF.focusedProperty().removeListener(minimalRelFreListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
minimalRelFreListener = new ChangeListener<Boolean>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
|
|
|
|
|
if (!newValue) {
|
|
|
|
|
// focus lost
|
|
|
|
|
String value = minimalRelFreTF.getText();
|
|
|
|
|
if (!ValidationUtil.isEmpty(value)) {
|
|
|
|
|
if (!ValidationUtil.isNumber(value)) {
|
|
|
|
|
logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
|
|
|
|
} else {
|
|
|
|
|
minimalRelFre = Integer.parseInt(value);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
minimalRelFre = Integer.parseInt(value);
|
|
|
|
|
minimalRelFreTF.setText("1");
|
|
|
|
|
minimalRelFre = 1;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
minimalRelFreTF.setText("1");
|
|
|
|
|
minimalRelFre = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
minimalRelFreTF.focusedProperty().addListener(minimalRelFreListener);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
changeLanguageB.setOnAction(e -> {
|
|
|
|
|