/* * Copyright (c) 2015 University of Illinois Board of Trustees, All rights reserved. * Developed at GSLIS/ the iSchool, by Dr. Jana Diesner, Amirhossein Aleyasen, * Chieh-Li Chin, Shubhanshu Mishra, Kiumars Soltani, and Liang Tao. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, see <http://www.gnu.org/licenses>. * */ package context.ui.control.topicmodeling; import context.app.AppConfig; import context.core.entity.FileData; import context.ui.control.configuration.ConfigurationController; import context.ui.misc.FileHandler; import context.ui.misc.PropertiesUtil; import java.net.URL; import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.text.Font; /** * FXML Controller class * * @author Amirhossein Aleyasen <aleyase2@illinois.edu> */ public class TopicModelingConfigurationController extends ConfigurationController implements Initializable { /** * */ public static String path = PropertiesUtil.getFXMLPath(TopicModelingConfigurationController.class); @FXML private Font x1; @FXML private TextField stopwordFileTextField; @FXML private Button browseButton; @FXML private Font x2; @FXML private TextField numberOfTopicsTextField; @FXML private TextField wordsPerTopicsTextField; @FXML private TextField numberOfIterationsTextField; @FXML private TextField numberOfOptIntervalTextField; @FXML private TextField sumOfAlphaTextField; @FXML private Label titleLabel; @FXML private CheckBox toLowercaseCheckBox; /** * * @param title */ @Override public void setTitle(String title) { titleLabel.setText(title); } /** * * @param url * @param rb */ @Override public void initialize(URL url, ResourceBundle rb) { stopwordFileTextField.setText(AppConfig.defaultStopwordFileLocation); numberOfTopicsTextField.setText(AppConfig.getProperty("task.topicmodeling.numberoftopics")); wordsPerTopicsTextField.setText(AppConfig.getProperty("task.topicmodeling.wordspertopic")); numberOfIterationsTextField.setText(AppConfig.getProperty("task.topicmodeling.numberofiterations")); numberOfOptIntervalTextField.setText(AppConfig.getProperty("task.topicmodeling.numoptinterval")); sumOfAlphaTextField.setText(AppConfig.getProperty("task.topicmodeling.sumalpha")); toLowercaseCheckBox.selectedProperty().set(true); } /** * * @return */ public String getStopwordFile() { return stopwordFileTextField.textProperty().get(); } /** * * @return */ public int getNumberOfIterations() { return Integer.parseInt(numberOfIterationsTextField.textProperty().get()); } /** * * @return */ public int getNumberOfTopics() { return Integer.parseInt(numberOfTopicsTextField.textProperty().get()); } /** * * @return */ public int getNumberOfWordsPerTopics() { return Integer.parseInt(wordsPerTopicsTextField.textProperty().get()); } /** * * @return */ public int getNumberOfOptInterval(){ return Integer.parseInt(numberOfOptIntervalTextField.textProperty().get()); } /** * * @return */ public double getSumAlpha(){ return Double.parseDouble(sumOfAlphaTextField.textProperty().get()); } @FXML private void handleBrowseButton(ActionEvent event) { FileData file = FileHandler.openFileChooser("Open Stopword File..."); if (file != null && file.getPath() != null) { stopwordFileTextField.textProperty().set(file.getPath().get()); } } public Boolean getIsLowercase() { return toLowercaseCheckBox.isSelected(); } }