Solar grand fix.
This commit is contained in:
parent
9ee5ab9afc
commit
2d7d5169cc
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,14 +18,16 @@
|
|||
<?import java.lang.String?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<AnchorPane fx:id="characterAnalysisTab" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.CharacterAnalysisTab">
|
||||
<Pane>
|
||||
<Label fx:id="stringLengthL" layoutX="10.0" layoutY="20.0" prefHeight="25.0" text="Število črk" />
|
||||
<TextField fx:id="stringLengthTF" layoutX="225.0" layoutY="20.0" prefWidth="140.0" />
|
||||
<Label fx:id="stringLengthLH" layoutX="10.0" layoutY="50.0" prefHeight="10.0" text="Dolžina črkovnih nizov" styleClass="help"/>
|
||||
<ImageView fx:id="imageView" layoutX="1.0" layoutY="1.0" pickOnBounds="true" preserveRatio="true">
|
||||
|
||||
<ImageView fx:id="imageView" layoutX="370.0" layoutY="27.5" pickOnBounds="true" preserveRatio="true">
|
||||
<image>
|
||||
<Image url="questionmark.png" backgroundLoading="true"/>
|
||||
<Image fx:id="image" url="questionmark.png" backgroundLoading="true"/>
|
||||
</image>
|
||||
</ImageView>
|
||||
|
||||
|
@ -97,7 +99,7 @@
|
|||
|
||||
|
||||
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
|
||||
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" />
|
||||
<TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
|
||||
</Pane>
|
||||
|
||||
<!--<Label fx:id="solarFilters" layoutX="510.0" layoutY="20.0" text="Izbrani filtri:" />-->
|
||||
|
|
|
@ -6,25 +6,34 @@
|
|||
<?import javafx.scene.control.Hyperlink?>
|
||||
<?import org.controlsfx.control.CheckComboBox?>
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<AnchorPane fx:id="solarFiltersTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111"
|
||||
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.FiltersForSolar">
|
||||
<Pane>
|
||||
<CheckComboBox fx:id="solarRegijaCCB" layoutX="104.0" layoutY="40.0" prefHeight="25.0" prefWidth="372.0"/>
|
||||
<Label layoutX="14.0" layoutY="44.0" text="Regija:"/>
|
||||
<CheckComboBox fx:id="solarPredmetCCB" layoutX="104.0" layoutY="87.0" prefHeight="25.0" prefWidth="372.0"/>
|
||||
<Label layoutX="14.0" layoutY="91.0" text="Predmet"/>
|
||||
<CheckComboBox fx:id="solarRazredCCB" layoutX="104.0" layoutY="136.0" prefHeight="25.0" prefWidth="372.0"/>
|
||||
<Label layoutX="14.0" layoutY="140.0" text="Razred"/>
|
||||
<CheckComboBox fx:id="solarLetoCCB" layoutX="104.0" layoutY="189.0" prefHeight="25.0" prefWidth="372.0"/>
|
||||
<Label layoutX="14.0" layoutY="193.0" text="Leto"/>
|
||||
<CheckComboBox fx:id="solarSolaCCB" layoutX="104.0" layoutY="246.0" prefHeight="25.0" prefWidth="372.0"/>
|
||||
<Label layoutX="14.0" layoutY="250.0" text="Šola"/>
|
||||
<CheckComboBox fx:id="solarVrstaBesedilaCCB" layoutX="104.0" layoutY="293.0" prefHeight="25.0" prefWidth="372.0"/>
|
||||
<Label layoutX="14.0" layoutY="297.0" text="Vrsta besedila"/>
|
||||
<CheckComboBox fx:id="solarRegijaCCB" layoutX="150.0" layoutY="20.0" prefHeight="20.0" prefWidth="215.0"/>
|
||||
<Label fx:id="solarRegijaL" layoutX="10.0" layoutY="20.0" text="Regija"/>
|
||||
<CheckComboBox fx:id="solarPredmetCCB" layoutX="150.0" layoutY="60.0" prefHeight="20.0" prefWidth="215.0"/>
|
||||
<Label fx:id="solarPredmetL" layoutX="10.0" layoutY="60.0" text="Predmet"/>
|
||||
<CheckComboBox fx:id="solarRazredCCB" layoutX="150.0" layoutY="100.0" prefHeight="20.0" prefWidth="215.0"/>
|
||||
<Label fx:id="solarRazredL" layoutX="10.0" layoutY="100.0" text="Razred"/>
|
||||
<CheckComboBox fx:id="solarLetoCCB" layoutX="150.0" layoutY="140.0" prefHeight="20.0" prefWidth="215.0"/>
|
||||
<Label fx:id="solarLetoL" layoutX="10.0" layoutY="140.0" text="Leto"/>
|
||||
<CheckComboBox fx:id="solarSolaCCB" layoutX="150.0" layoutY="180.0" prefHeight="20.0" prefWidth="215.0"/>
|
||||
<Label fx:id="solarSolaL" layoutX="10.0" layoutY="180.0" text="Šola"/>
|
||||
<CheckComboBox fx:id="solarVrstaBesedilaCCB" layoutX="150.0" layoutY="220.0" prefHeight="20.0" prefWidth="215.0"/>
|
||||
<Label fx:id="solarVrstaBesedilaL" layoutX="10.0" layoutY="220.0" text="Vrsta besedila"/>
|
||||
|
||||
|
||||
<Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="20.0" text="Pomoč"/>
|
||||
<Label layoutX="510.0" layoutY="20.0" text="Izbrani filtri:"/>
|
||||
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="510.0" layoutY="45.0" prefHeight="540.0"
|
||||
prefWidth="275.0" text=" " wrapText="true"/>
|
||||
</Pane>
|
||||
<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">
|
||||
<!-- MSD and Taxonomy separated -->
|
||||
<Label fx:id="solarFilters" layoutX="10.0" layoutY="60.0" text="Izbrani filtri:" />
|
||||
<TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="100.0" prefHeight="340.0" maxHeight="200.0" prefWidth="275.0" text=" " wrapText="true" editable="false"/>
|
||||
<!--<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="100.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" />-->
|
||||
</Pane>
|
||||
|
||||
<Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="16.0"/>
|
||||
<Button fx:id="changeLanguageB" layoutX="710.0" layoutY="40.0" mnemonicParsing="false" prefWidth="50.0"/>
|
||||
</AnchorPane>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<?import javafx.scene.layout.Pane?>
|
||||
<?import org.controlsfx.control.CheckComboBox?>
|
||||
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<AnchorPane fx:id="oneWordAnalysisTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111"
|
||||
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.OneWordAnalysisTab">
|
||||
<Pane>
|
||||
|
@ -83,7 +84,7 @@
|
|||
|
||||
|
||||
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
|
||||
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" />
|
||||
<TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
|
||||
</Pane>
|
||||
|
||||
<!--<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">-->
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<?import org.controlsfx.control.CheckComboBox?>
|
||||
|
||||
<?import javafx.scene.control.Separator?>
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<AnchorPane fx:id="stringAnalysisTabPaneNew2" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.StringAnalysisTabNew2">
|
||||
<Pane>
|
||||
|
||||
|
@ -133,7 +134,7 @@
|
|||
|
||||
|
||||
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
|
||||
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" />
|
||||
<TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
|
||||
</Pane>
|
||||
|
||||
<!--<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">-->
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<?import javafx.scene.layout.Pane?>
|
||||
<?import org.controlsfx.control.CheckComboBox?>
|
||||
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<AnchorPane fx:id="wordLevelAnalysisTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111"
|
||||
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.WordLevelTab">
|
||||
<Pane>
|
||||
|
@ -112,7 +113,7 @@
|
|||
|
||||
|
||||
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
|
||||
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" />
|
||||
<TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
|
||||
</Pane>
|
||||
|
||||
<Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="16.0" text="Pomoč" />
|
||||
|
|
|
@ -32,7 +32,7 @@ label.solarFilters=Selected filters:
|
|||
string.lemma=lemma
|
||||
string.word=word
|
||||
|
||||
label.letter.stringLengthH=Vnesite dolžino črkovnih nizov za izpis.
|
||||
label.letter.stringLengthH=Enter length of letter output.
|
||||
label.letter.calculateForH=Črkovni nizi bodo prešteti v izbranih enotah.
|
||||
label.letter.displayTaxonomyH=Izpisana bo tudi razporeditev črkovnih nizov po taksonomiji korpusa.
|
||||
label.letter.msdH=Črkovni nizi bodo prešteti samo v besedah z določeno oznako.
|
||||
|
@ -103,6 +103,20 @@ label.ngramValue=N-gram level
|
|||
label.notePunctuations=Note punctuations
|
||||
label.collocability=Collocability
|
||||
|
||||
# filtersSolar
|
||||
filter.solarRegijaL=Region
|
||||
filter.solarPredmetL=Subject
|
||||
filter.solarRazredL=Class
|
||||
filter.solarLetoL=Year
|
||||
filter.solarSolaL=School
|
||||
filter.solarVrstaBesedilaL=Text type
|
||||
filter.solarRegija=region
|
||||
filter.solarPredmet=subject
|
||||
filter.solarRazred=class
|
||||
filter.solarLeto=year
|
||||
filter.solarSola=school
|
||||
filter.solarVrstaBesedila=type
|
||||
|
||||
# messages
|
||||
message.WARNING_CORPUS_NOT_FOUND=In selected directory there are no suitable corpus files.
|
||||
message.WARNING_RESULTS_DIR_NOT_VALID=You don't have correct permissions to access chosen directory.
|
||||
|
|
|
@ -103,6 +103,21 @@ label.ngramValue=Dolžina niza
|
|||
label.notePunctuations=Upoštevaj ločila
|
||||
label.collocability=Izpiši mere povezovalnosti
|
||||
|
||||
# filtersSolar
|
||||
filter.solarRegijaL=Regija
|
||||
filter.solarPredmetL=Predmet
|
||||
filter.solarRazredL=Razred
|
||||
filter.solarLetoL=Leto
|
||||
filter.solarSolaL=Šola
|
||||
filter.solarVrstaBesedilaL=Vrsta besedila
|
||||
filter.solarRegija=regija
|
||||
filter.solarPredmet=predmet
|
||||
filter.solarRazred=razred
|
||||
filter.solarLeto=leto
|
||||
filter.solarSola=sola
|
||||
filter.solarVrstaBesedila=tip
|
||||
|
||||
|
||||
# messages
|
||||
message.WARNING_CORPUS_NOT_FOUND=V izbranem direktoriju ni ustreznih korpusnih datotek.
|
||||
message.WARNING_RESULTS_DIR_NOT_VALID=Za dostop do izbranega direktorija nimate potrebnih pravic.
|
||||
|
|
Loading…
Reference in New Issue
Block a user