Solar grand fix.
This commit is contained in:
@@ -306,7 +306,8 @@ public class XML_processing {
|
||||
List<Sentence> corpus = new ArrayList<>();
|
||||
|
||||
// used for filter
|
||||
Set<String> headTags = new HashSet<>(Arrays.asList("sola", "predmet", "razred", "regija", "tip", "leto"));
|
||||
// Set<String> headTags = new HashSet<>(Arrays.asList("sola", "predmet", "razred", "regija", "tip", "leto"));
|
||||
Set<String> headTags = new HashSet<>(Arrays.asList(SOLA, PREDMET, RAZRED, REGIJA, TIP, LETO));
|
||||
Map<String, String> headBlock = null;
|
||||
boolean includeThisBlock = false;
|
||||
|
||||
@@ -356,36 +357,36 @@ public class XML_processing {
|
||||
String qName = startElement.getName().getLocalPart();
|
||||
|
||||
// "word" node
|
||||
if (qName.equals("w3")) {
|
||||
if (qName.equals("w3") || qName.equals("w1") || qName.equals("w")) {
|
||||
in_word = true;
|
||||
|
||||
msd = String.valueOf(startElement.getAttributeByName(QName.valueOf("msd")).getValue());
|
||||
lemma = String.valueOf(startElement.getAttributeByName(QName.valueOf("lemma")).getValue());
|
||||
} else if (qName.equals("c3")) {
|
||||
} else if (qName.equals("c3") || qName.equals("c1") || qName.equals("c")) {
|
||||
String c3Content = eventReader.nextEvent().asCharacters().getData();
|
||||
|
||||
if(stats.getFilter().getNgramValue() > 1 && stats.getFilter().getNotePunctuations() &&
|
||||
stavek.size() > 0){
|
||||
if (stats.getFilter().getNgramValue() > 1 && stats.getFilter().getNotePunctuations() &&
|
||||
stavek.size() > 0) {
|
||||
stavek.add(createWord(c3Content, c3Content, "/", "", stats.getFilter()));
|
||||
|
||||
}
|
||||
|
||||
if (c3Content.equals(".") && includeThisBlock) {
|
||||
if (stats.getFilter().getNgramValue() == 0){
|
||||
int numSentenceParts = 0;
|
||||
for(Word w : stavek){
|
||||
int v = w.getW1().length() - (stats.getFilter().getStringLength() - 1);
|
||||
numSentenceParts = (v >= 0) ? (numSentenceParts + v) : numSentenceParts;
|
||||
}
|
||||
stats.updateUniGramOccurrences(numSentenceParts, new ArrayList<>());
|
||||
} else if(stats.getFilter().getNgramValue() >= 1) {
|
||||
stats.updateUniGramOccurrences(stavek.size(), new ArrayList<>());
|
||||
} else if ((qName.equals("st1") && startElement.getAttributeByName(QName.valueOf("tip")).getValue().equals("0")) || qName.equals("s")) {
|
||||
if (stats.getFilter().getNgramValue() == 0){
|
||||
int numSentenceParts = 0;
|
||||
for(Word w : stavek){
|
||||
int v = w.getW1().length() - (stats.getFilter().getStringLength() - 1);
|
||||
numSentenceParts = (v >= 0) ? (numSentenceParts + v) : numSentenceParts;
|
||||
}
|
||||
stats.updateUniGramOccurrences(numSentenceParts, new ArrayList<>());
|
||||
} else if(stats.getFilter().getNgramValue() >= 1) {
|
||||
stats.updateUniGramOccurrences(stavek.size(), new ArrayList<>());
|
||||
}
|
||||
|
||||
if(includeThisBlock) {
|
||||
// add sentence to corpus
|
||||
corpus.add(new Sentence(stavek, null));
|
||||
// and start a new one
|
||||
stavek = new ArrayList<>();
|
||||
|
||||
/* Invoke Fork-Join when we reach maximum limit of
|
||||
* sentences (because we can't read everything to
|
||||
@@ -398,11 +399,28 @@ public class XML_processing {
|
||||
corpus.clear();
|
||||
}
|
||||
}
|
||||
} else if (headTags.contains(qName)) {
|
||||
String tagContent = eventReader.nextEvent().asCharacters().getData();
|
||||
headBlock.put(qName, tagContent);
|
||||
stavek = new ArrayList<>();
|
||||
} else if (qName.equals("head")) {
|
||||
headBlock = new HashMap<>();
|
||||
} else { // if (headTags.contains(qName)) {
|
||||
boolean inHeadTags = false;
|
||||
String headTag = "";
|
||||
for (String tag : headTags){
|
||||
if(I18N.getDefaultLocaleItem(tag).equals(qName)){
|
||||
inHeadTags = true;
|
||||
headTag = tag;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(inHeadTags) {
|
||||
String tagContent = eventReader.nextEvent().asCharacters().getData();
|
||||
headBlock.put(headTag, tagContent);
|
||||
// String tagContent = xmlEventReader.nextEvent().asCharacters().getData();
|
||||
// resultFilters.get(headTag).add(tagContent);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -429,6 +447,7 @@ public class XML_processing {
|
||||
} else if (qNameEnd.equals("body")) {
|
||||
// new block, reset filter status
|
||||
includeThisBlock = false;
|
||||
stavek = new ArrayList<>();
|
||||
}
|
||||
|
||||
// backup
|
||||
@@ -470,6 +489,9 @@ public class XML_processing {
|
||||
//noinspection unchecked
|
||||
for (String value : valueObject) {
|
||||
pass = validateHeadBlockEntry(readHeadBlock, key, value);
|
||||
if (pass){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -635,9 +657,22 @@ public class XML_processing {
|
||||
.replace("#", "");
|
||||
|
||||
resultTaxonomy.add(tax);
|
||||
} else if (!parseTaxonomy && headTags.contains(elementName)) {
|
||||
String tagContent = xmlEventReader.nextEvent().asCharacters().getData();
|
||||
resultFilters.get(elementName).add(tagContent);
|
||||
// solar
|
||||
// } else if (!parseTaxonomy && headTags.contains(elementName)) {
|
||||
} else if (!parseTaxonomy) {
|
||||
boolean inHeadTags = false;
|
||||
String headTag = "";
|
||||
for (String tag : headTags){
|
||||
if(I18N.getDefaultLocaleItem(tag).equals(elementName)){
|
||||
inHeadTags = true;
|
||||
headTag = tag;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(inHeadTags) {
|
||||
String tagContent = xmlEventReader.nextEvent().asCharacters().getData();
|
||||
resultFilters.get(headTag).add(tagContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (xmlEvent.isEndElement() && corpusIsSplit && isEndElementEndOfHeader(xmlEvent, headTagName)) {
|
||||
|
||||
@@ -30,6 +30,7 @@ public class Corpus {
|
||||
private ArrayList<Taxonomy> taxonomy; // if gigafida or gos
|
||||
private Taxonomy taxonomyTotal;
|
||||
private HashMap<String, ObservableList<String>> solarFilters; // if solar
|
||||
public HashMap<String, ObservableList<String>> solarSelectedFilters; // if solar selected
|
||||
private HashMap<String, HashSet<String>> solarFiltersForXML; // if solar - used while parsing xml
|
||||
private boolean gosOrthMode;
|
||||
boolean hasMsdData;
|
||||
@@ -98,8 +99,10 @@ public class Corpus {
|
||||
|
||||
public ObservableList<String> getObservableListTaxonomy() {
|
||||
ArrayList<String> al = new ArrayList<>();
|
||||
for (Taxonomy t : this.taxonomy){
|
||||
al.add(t.toLongNameString());
|
||||
if(taxonomy != null) {
|
||||
for (Taxonomy t : this.taxonomy) {
|
||||
al.add(t.toLongNameString());
|
||||
}
|
||||
}
|
||||
return FXCollections.observableArrayList(al);
|
||||
}
|
||||
@@ -126,6 +129,15 @@ public class Corpus {
|
||||
logger.info("Corpus.set: ", solarFilters);
|
||||
}
|
||||
|
||||
public HashMap<String, ObservableList<String>> getSolarSelectedFilters() {
|
||||
return solarSelectedFilters;
|
||||
}
|
||||
|
||||
public void setSolarSelectedFilters(HashMap<String, ObservableList<String>> solarFilters) {
|
||||
this.solarSelectedFilters = solarFilters;
|
||||
logger.info("Corpus.set: ", solarFilters);
|
||||
}
|
||||
|
||||
public HashMap<String, HashSet<String>> getSolarFiltersForXML() {
|
||||
return solarFiltersForXML;
|
||||
}
|
||||
|
||||
@@ -9,12 +9,12 @@ import javafx.collections.ObservableList;
|
||||
|
||||
public class SolarFilters {
|
||||
private static HashMap<String, ObservableList<String>> SOLAR_FILTERS;
|
||||
public static final String SOLA = "sola";
|
||||
public static final String PREDMET = "predmet";
|
||||
public static final String RAZRED = "razred";
|
||||
public static final String REGIJA = "regija";
|
||||
public static final String TIP = "tip";
|
||||
public static final String LETO = "leto";
|
||||
public static final String SOLA = "filter.solarSola";
|
||||
public static final String PREDMET = "filter.solarPredmet";
|
||||
public static final String RAZRED = "filter.solarRazred";
|
||||
public static final String REGIJA = "filter.solarRegija";
|
||||
public static final String TIP = "filter.solarVrstaBesedila";
|
||||
public static final String LETO = "filter.solarLeto";
|
||||
|
||||
static {
|
||||
SOLAR_FILTERS = new HashMap<>();
|
||||
|
||||
@@ -636,13 +636,13 @@ public class StatisticsNew {
|
||||
info.put(I18N.get("exportHeader.minTaxonomies"), String.valueOf(filter.getMinimalTaxonomy()));
|
||||
|
||||
if (corpus.getCorpusType() == CorpusType.SOLAR) {
|
||||
HashMap<String, ObservableList<String>> filters = corpus.getSolarFilters();
|
||||
HashMap<String, ObservableList<String>> filters = corpus.getSolarSelectedFilters();
|
||||
|
||||
if (!isEmpty(filters)) {
|
||||
info.put(I18N.get("exportHeader.additionalFilters"), "");
|
||||
|
||||
for (Map.Entry<String, ObservableList<String>> f : filters.entrySet()) {
|
||||
info.put(f.getKey(), StringUtils.join(f.getValue(), ", "));
|
||||
info.put(I18N.get(f.getKey() + "L"), StringUtils.join(f.getValue(), ", "));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@ import javafx.collections.ObservableList;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.Pane;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -37,7 +39,7 @@ public class CharacterAnalysisTab {
|
||||
public AnchorPane characterAnalysisTab;
|
||||
|
||||
@FXML
|
||||
public Label selectedFiltersLabel;
|
||||
public TextArea selectedFiltersTextArea;
|
||||
|
||||
@FXML
|
||||
public Label stringLengthL;
|
||||
@@ -150,6 +152,13 @@ public class CharacterAnalysisTab {
|
||||
@FXML
|
||||
private Hyperlink helpH;
|
||||
|
||||
@FXML
|
||||
private Image image;
|
||||
|
||||
|
||||
@FXML
|
||||
private ImageView imageView;
|
||||
|
||||
private enum MODE {
|
||||
LETTER
|
||||
}
|
||||
@@ -257,7 +266,7 @@ public class CharacterAnalysisTab {
|
||||
boolean changing = true;
|
||||
|
||||
@Override
|
||||
public void onChanged(ListChangeListener.Change<? extends String> c){
|
||||
public void onChanged(Change<? extends String> c){
|
||||
if(changing) {
|
||||
ObservableList<String> checkedItems = taxonomyCCB.getCheckModel().getCheckedItems();
|
||||
// ArrayList<Taxonomy> checkedItemsTaxonomy = Taxonomy.convertStringListToTaxonomyList(checkedItems);
|
||||
@@ -327,11 +336,11 @@ public class CharacterAnalysisTab {
|
||||
if (!ValidationUtil.isEmpty(value)) {
|
||||
if (!ValidationUtil.isNumber(value)) {
|
||||
logAlert("stringlengthTf: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
||||
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
||||
showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
||||
}
|
||||
stringLength = Integer.parseInt(value);
|
||||
} else {
|
||||
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_MISSING_STRING_LENGTH"));
|
||||
showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_MISSING_STRING_LENGTH"));
|
||||
stringLengthTF.setText("1");
|
||||
logAlert(I18N.get("message.WARNING_MISSING_STRING_LENGTH"));
|
||||
}
|
||||
@@ -354,7 +363,7 @@ public class CharacterAnalysisTab {
|
||||
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"));
|
||||
showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
||||
} else {
|
||||
minimalOccurrences = Integer.parseInt(value);
|
||||
}
|
||||
@@ -372,7 +381,7 @@ public class CharacterAnalysisTab {
|
||||
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"));
|
||||
showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
|
||||
} else {
|
||||
minimalTaxonomy = Integer.parseInt(value);
|
||||
}
|
||||
@@ -511,6 +520,10 @@ public class CharacterAnalysisTab {
|
||||
minimalOccurrencesL.textProperty().bind(I18N.createStringBinding("label.minimalOccurrences"));
|
||||
minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy"));
|
||||
|
||||
Tooltip tooltip = new Tooltip();
|
||||
tooltip.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH"));
|
||||
// new Tooltip(I18N.get("label.letter.stringLengthH"))
|
||||
Tooltip.install(imageView, tooltip);
|
||||
stringLengthLH.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH"));
|
||||
calculateForLH.textProperty().bind(I18N.createStringBinding("label.letter.calculateForH"));
|
||||
displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.letter.displayTaxonomyH"));
|
||||
@@ -624,11 +637,11 @@ public class CharacterAnalysisTab {
|
||||
public void setSelectedFiltersLabel(String content) {
|
||||
if (content != null) {
|
||||
solarFilters.setVisible(true);
|
||||
selectedFiltersLabel.setVisible(true);
|
||||
selectedFiltersLabel.setText(content);
|
||||
selectedFiltersTextArea.setVisible(true);
|
||||
selectedFiltersTextArea.setText(content);
|
||||
} else {
|
||||
solarFilters.setVisible(false);
|
||||
selectedFiltersLabel.setVisible(false);
|
||||
selectedFiltersTextArea.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,14 @@ package gui;
|
||||
|
||||
import static data.Enums.solar.SolarFilters.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
import javafx.application.HostServices;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Hyperlink;
|
||||
import javafx.scene.control.TextArea;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.controlsfx.control.CheckComboBox;
|
||||
|
||||
import data.Corpus;
|
||||
@@ -20,6 +21,7 @@ import javafx.scene.layout.AnchorPane;
|
||||
import util.Util;
|
||||
|
||||
public class FiltersForSolar {
|
||||
public final static Logger logger = LogManager.getLogger(OneWordAnalysisTab.class);
|
||||
|
||||
@FXML
|
||||
public AnchorPane solarFiltersTabPane;
|
||||
@@ -36,11 +38,29 @@ public class FiltersForSolar {
|
||||
@FXML
|
||||
public CheckComboBox<String> solarVrstaBesedilaCCB;
|
||||
@FXML
|
||||
public Label selectedFiltersLabel;
|
||||
public Label solarRegijaL;
|
||||
@FXML
|
||||
public Label solarPredmetL;
|
||||
@FXML
|
||||
public Label solarRazredL;
|
||||
@FXML
|
||||
public Label solarLetoL;
|
||||
@FXML
|
||||
public Label solarSolaL;
|
||||
@FXML
|
||||
public Label solarVrstaBesedilaL;
|
||||
@FXML
|
||||
public Label solarFilters;
|
||||
@FXML
|
||||
public Label selectedFiltersL;
|
||||
@FXML
|
||||
public TextArea selectedFiltersTextArea;
|
||||
@FXML
|
||||
private Button changeLanguageB;
|
||||
@FXML
|
||||
private Hyperlink helpH;
|
||||
|
||||
private HashMap<String, ObservableList<String>> selectedFilters;
|
||||
// private HashMap<String, ObservableList<String>> selectedFilters;
|
||||
private Corpus corpus;
|
||||
|
||||
private StringAnalysisTabNew2 satNew2Controller;
|
||||
@@ -55,72 +75,105 @@ public class FiltersForSolar {
|
||||
solarFiltersTabPane.getStylesheets().add("style.css");
|
||||
solarFiltersTabPane.getStyleClass().add("root");
|
||||
|
||||
selectedFilters = new HashMap<>();
|
||||
manageTranslations();
|
||||
|
||||
solarRegijaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
|
||||
selectedFilters.put(REGIJA, solarRegijaCCB.getCheckModel().getCheckedItems());
|
||||
corpus.solarSelectedFilters.put(REGIJA, solarRegijaCCB.getCheckModel().getCheckedItems());
|
||||
updateSolarFilterLabel();
|
||||
});
|
||||
|
||||
solarPredmetCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
|
||||
selectedFilters.put(PREDMET, solarPredmetCCB.getCheckModel().getCheckedItems());
|
||||
corpus.solarSelectedFilters.put(PREDMET, solarPredmetCCB.getCheckModel().getCheckedItems());
|
||||
updateSolarFilterLabel();
|
||||
});
|
||||
|
||||
solarRazredCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
|
||||
selectedFilters.put(RAZRED, solarRazredCCB.getCheckModel().getCheckedItems());
|
||||
corpus.solarSelectedFilters.put(RAZRED, solarRazredCCB.getCheckModel().getCheckedItems());
|
||||
updateSolarFilterLabel();
|
||||
});
|
||||
|
||||
solarLetoCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
|
||||
selectedFilters.put(LETO, solarLetoCCB.getCheckModel().getCheckedItems());
|
||||
corpus.solarSelectedFilters.put(LETO, solarLetoCCB.getCheckModel().getCheckedItems());
|
||||
updateSolarFilterLabel();
|
||||
});
|
||||
|
||||
solarSolaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
|
||||
selectedFilters.put(SOLA, solarSolaCCB.getCheckModel().getCheckedItems());
|
||||
corpus.solarSelectedFilters.put(SOLA, solarSolaCCB.getCheckModel().getCheckedItems());
|
||||
updateSolarFilterLabel();
|
||||
});
|
||||
|
||||
solarVrstaBesedilaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
|
||||
selectedFilters.put(TIP, solarVrstaBesedilaCCB.getCheckModel().getCheckedItems());
|
||||
corpus.solarSelectedFilters.put(TIP, solarVrstaBesedilaCCB.getCheckModel().getCheckedItems());
|
||||
updateSolarFilterLabel();
|
||||
});
|
||||
|
||||
changeLanguageB.setOnAction(e -> {
|
||||
if (I18N.getLocale() == new Locale.Builder().setLanguage("sl").setRegion("SI").build()){
|
||||
I18N.setLocale(Locale.ENGLISH);
|
||||
} else {
|
||||
I18N.setLocale(new Locale.Builder().setLanguage("sl").setRegion("SI").build());
|
||||
}
|
||||
Messages.reload();
|
||||
Messages.updateChooseCorpusL();
|
||||
updateSolarFilterLabel();
|
||||
logger.info("change language");
|
||||
});
|
||||
|
||||
helpH.setOnAction(e -> openHelpWebsite());
|
||||
}
|
||||
|
||||
private void manageTranslations() {
|
||||
helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help"));
|
||||
changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language"));
|
||||
|
||||
solarRegijaL.textProperty().bind(I18N.createStringBinding("filter.solarRegijaL"));
|
||||
solarPredmetL.textProperty().bind(I18N.createStringBinding("filter.solarPredmetL"));
|
||||
solarRazredL.textProperty().bind(I18N.createStringBinding("filter.solarRazredL"));
|
||||
solarLetoL.textProperty().bind(I18N.createStringBinding("filter.solarLetoL"));
|
||||
solarSolaL.textProperty().bind(I18N.createStringBinding("filter.solarSolaL"));
|
||||
solarVrstaBesedilaL.textProperty().bind(I18N.createStringBinding("filter.solarVrstaBesedilaL"));
|
||||
solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters"));
|
||||
|
||||
}
|
||||
|
||||
public void initFilters() {
|
||||
solarRegijaCCB.getCheckModel().clearChecks();
|
||||
solarRegijaCCB.getItems().removeAll();
|
||||
solarRegijaCCB.getItems().setAll(corpus.getSolarFilters().get(REGIJA));
|
||||
solarRegijaCCB.getItems().sorted();
|
||||
solarPredmetCCB.getCheckModel().clearChecks();
|
||||
solarPredmetCCB.getItems().removeAll();
|
||||
solarPredmetCCB.getItems().setAll(corpus.getSolarFilters().get(PREDMET));
|
||||
solarPredmetCCB.getItems().sorted();
|
||||
solarRazredCCB.getCheckModel().clearChecks();
|
||||
solarRazredCCB.getItems().removeAll();
|
||||
solarRazredCCB.getItems().setAll(corpus.getSolarFilters().get(RAZRED));
|
||||
solarRazredCCB.getItems().sorted();
|
||||
solarLetoCCB.getCheckModel().clearChecks();
|
||||
solarLetoCCB.getItems().removeAll();
|
||||
solarLetoCCB.getItems().setAll(corpus.getSolarFilters().get(LETO));
|
||||
solarLetoCCB.getItems().sorted();
|
||||
solarSolaCCB.getCheckModel().clearChecks();
|
||||
solarSolaCCB.getItems().removeAll();
|
||||
solarSolaCCB.getItems().setAll(corpus.getSolarFilters().get(SOLA));
|
||||
solarSolaCCB.getItems().sorted();
|
||||
solarVrstaBesedilaCCB.getCheckModel().clearChecks();
|
||||
solarVrstaBesedilaCCB.getItems().removeAll();
|
||||
solarVrstaBesedilaCCB.getItems().setAll(corpus.getSolarFilters().get(TIP));
|
||||
solarVrstaBesedilaCCB.getItems().sorted();
|
||||
}
|
||||
|
||||
private void updateSolarFilterLabel() {
|
||||
if (Util.isMapEmpty(selectedFilters)) {
|
||||
if (Util.isMapEmpty(corpus.solarSelectedFilters)) {
|
||||
setSOlarFIlterLabelText("/");
|
||||
} else {
|
||||
StringBuilder allFilters = new StringBuilder();
|
||||
for (Map.Entry<String, ObservableList<String>> entry : selectedFilters.entrySet()) {
|
||||
for (Map.Entry<String, ObservableList<String>> entry : corpus.solarSelectedFilters.entrySet()) {
|
||||
ArrayList<String> values = new ArrayList<>(entry.getValue());
|
||||
|
||||
if (!values.isEmpty()) {
|
||||
allFilters.append(entry.getKey())
|
||||
// allFilters.append(entry.getKey())
|
||||
allFilters.append(I18N.get(entry.getKey() + "L"))
|
||||
.append(": ");
|
||||
|
||||
for (int i = 0; i < values.size(); i++) {
|
||||
@@ -139,7 +192,7 @@ public class FiltersForSolar {
|
||||
}
|
||||
|
||||
HashMap<String, HashSet<String>> solarFiltersMap = new HashMap<>();
|
||||
for (Map.Entry<String, ObservableList<String>> e : selectedFilters.entrySet()) {
|
||||
for (Map.Entry<String, ObservableList<String>> e : corpus.solarSelectedFilters.entrySet()) {
|
||||
HashSet<String> values = new HashSet<>();
|
||||
values.addAll(e.getValue());
|
||||
|
||||
@@ -158,7 +211,7 @@ public class FiltersForSolar {
|
||||
}
|
||||
|
||||
private void setSOlarFIlterLabelText(String content) {
|
||||
selectedFiltersLabel.setText(content);
|
||||
selectedFiltersTextArea.setText(content);
|
||||
satNew2Controller.setSelectedFiltersLabel(content);
|
||||
oneWordTabController.setSelectedFiltersLabel(content);
|
||||
catController.setSelectedFiltersLabel(content);
|
||||
@@ -168,6 +221,7 @@ public class FiltersForSolar {
|
||||
|
||||
public void setCorpus(Corpus corpus) {
|
||||
this.corpus = corpus;
|
||||
this.corpus.solarSelectedFilters = new HashMap<>();
|
||||
}
|
||||
|
||||
public void setSatNew2Controller(StringAnalysisTabNew2 satNew2Controller) { this.satNew2Controller = satNew2Controller; }
|
||||
|
||||
@@ -72,7 +72,17 @@ public final class I18N {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return val;
|
||||
// return MessageFormat.format(bundle.getString(key), args);
|
||||
}
|
||||
|
||||
public static String getDefaultLocaleItem(final String key, final Object... args) {
|
||||
ResourceBundle bundle = ResourceBundle.getBundle("message", getDefaultLocale());
|
||||
String val = bundle.getString(key);
|
||||
try {
|
||||
return MessageFormat.format(new String(val.getBytes("ISO-8859-1"), "UTF-8"), args);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
public static ObservableList<String> getObject(final ArrayList<String> keys, final Object... args) {
|
||||
|
||||
@@ -37,7 +37,7 @@ public class OneWordAnalysisTab {
|
||||
// private ArrayList<String> alsoVisualize;
|
||||
|
||||
@FXML
|
||||
public Label selectedFiltersLabel;
|
||||
public TextArea selectedFiltersTextArea;
|
||||
|
||||
@FXML
|
||||
public Label solarFilters;
|
||||
@@ -724,11 +724,11 @@ public class OneWordAnalysisTab {
|
||||
public void setSelectedFiltersLabel(String content) {
|
||||
if (content != null) {
|
||||
solarFilters.setVisible(true);
|
||||
selectedFiltersLabel.setVisible(true);
|
||||
selectedFiltersLabel.setText(content);
|
||||
selectedFiltersTextArea.setVisible(true);
|
||||
selectedFiltersTextArea.setText(content);
|
||||
} else {
|
||||
solarFilters.setVisible(false);
|
||||
selectedFiltersLabel.setVisible(false);
|
||||
selectedFiltersTextArea.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ public class StringAnalysisTabNew2 {
|
||||
public AnchorPane stringAnalysisTabPaneNew2;
|
||||
|
||||
@FXML
|
||||
public Label selectedFiltersLabel;
|
||||
public TextArea selectedFiltersTextArea;
|
||||
|
||||
@FXML
|
||||
public Label solarFilters;
|
||||
@@ -896,11 +896,11 @@ public class StringAnalysisTabNew2 {
|
||||
public void setSelectedFiltersLabel(String content) {
|
||||
if (content != null) {
|
||||
solarFilters.setVisible(true);
|
||||
selectedFiltersLabel.setVisible(true);
|
||||
selectedFiltersLabel.setText(content);
|
||||
selectedFiltersTextArea.setVisible(true);
|
||||
selectedFiltersTextArea.setText(content);
|
||||
} else {
|
||||
solarFilters.setVisible(false);
|
||||
selectedFiltersLabel.setVisible(false);
|
||||
selectedFiltersTextArea.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ public class WordLevelTab {
|
||||
public AnchorPane wordLevelAnalysisTabPane;
|
||||
|
||||
@FXML
|
||||
public Label selectedFiltersLabel;
|
||||
public TextArea selectedFiltersTextArea;
|
||||
|
||||
@FXML
|
||||
public Label solarFilters;
|
||||
@@ -872,11 +872,11 @@ public class WordLevelTab {
|
||||
public void setSelectedFiltersLabel(String content) {
|
||||
if (content != null) {
|
||||
solarFilters.setVisible(true);
|
||||
selectedFiltersLabel.setVisible(true);
|
||||
selectedFiltersLabel.setText(content);
|
||||
selectedFiltersTextArea.setVisible(true);
|
||||
selectedFiltersTextArea.setText(content);
|
||||
} else {
|
||||
solarFilters.setVisible(false);
|
||||
selectedFiltersLabel.setVisible(false);
|
||||
selectedFiltersTextArea.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user