Solar grand fix.

This commit is contained in:
2019-01-11 13:00:42 +01:00
parent 9ee5ab9afc
commit 2d7d5169cc
17 changed files with 262 additions and 95 deletions

View File

@@ -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)) {

View File

@@ -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;
}

View File

@@ -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<>();

View File

@@ -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(), ", "));
}
}
}

View File

@@ -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);
}
}

View File

@@ -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; }

View File

@@ -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) {

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}