/* This file is part of SlumDroid <https://code.google.com/p/slumdroid/>.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3
* as published by the Free Software Foundation.
*
* 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 <http://www.gnu.org/licenses/gpl-3.0.txt>
* for more details.
*
* Copyright (C) 2013-2015 Gennaro Imparato
*/
package it.slumdroid.utilities.module;
import static it.slumdroid.droidmodels.model.InteractionType.CLICK;
import static it.slumdroid.droidmodels.model.InteractionType.WRITE_TEXT;
import static it.slumdroid.droidmodels.model.SimpleType.AUTOC_TEXT;
import static it.slumdroid.droidmodels.model.SimpleType.BUTTON;
import static it.slumdroid.droidmodels.model.SimpleType.CHECKBOX;
import static it.slumdroid.droidmodels.model.SimpleType.EDIT_TEXT;
import static it.slumdroid.droidmodels.model.SimpleType.IMAGE_VIEW;
import static it.slumdroid.droidmodels.model.SimpleType.LINEAR_LAYOUT;
import static it.slumdroid.droidmodels.model.SimpleType.MENU_ITEM;
import static it.slumdroid.droidmodels.model.SimpleType.NUMBER_PICKER_BUTTON;
import static it.slumdroid.droidmodels.model.SimpleType.TAB_VIEW;
import static it.slumdroid.droidmodels.model.SimpleType.TOGGLE_BUTTON;
import static it.slumdroid.utilities.Resources.TOOL;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.PrintWriter;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
// TODO: Auto-generated Javadoc
/**
* The Class GraphicalEditor.
*/
@SuppressWarnings("rawtypes")
public class GraphicalEditor extends JFrame {
/** The content pane. */
private JPanel contentPane;
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 1L;
/** The path. */
private static String path = System.getProperty("user.dir") + "/../data/preferences.xml";
/** The app package. */
private static String appPackage = new String();
/** The app package class. */
private static String appPackageClass = new String();
/** The screenshot box. */
private static JComboBox screenshotBox;
/** The scheduler box. */
private static JComboBox schedulerBox;
/** The max event selector box. */
private static JComboBox maxEventSelectorBox;
/** The tab events box. */
private static JComboBox tabEventsBox;
/** The waiting event field. */
private static JFormattedTextField waitingEventField;
/** The waiting restart field. */
private static JFormattedTextField waitingRestartField;
/** The waiting task field. */
private static JFormattedTextField waitingTaskField;
/** The waiting throbber field. */
private static JFormattedTextField waitingThrobberField;
/** The chckbx input pertubation. */
private JCheckBox chckbxInputPertubation;
/** The available comparator box. */
private static JComboBox availableComparatorBox;
/** The check comparator box. */
private static JComboBox checkComparatorBox;
/** The list comparator box. */
private static JComboBox listComparatorBox;
/** The Title comparator box. */
private JComboBox titleComparatorBox;
/** The toast comparator box. */
private static JComboBox toastComparatorBox;
/** The edit text box. */
private static JComboBox editTextBox;
/** The auto complete box. */
private static JComboBox autoCompleteBox;
/** The check box. */
private static JComboBox checkBox;
/** The toggle box. */
private static JComboBox toggleBox;
/** The input text box. */
private static JComboBox inputTextBox;
/** The btn default values. */
private static JButton btnDefaultValues;
/** The btn save. */
private static JButton btnSave;
/** The algorithm. */
private static String[] algorithm = {"Breadth (BFS)", "Depth (DFS)", "Random (RFS)"};
/** The bool. */
private static String[] bool = {"true", "false"};
/** The inputs. */
private static String[] inputs = {"hash values", "random values"};
/** The interactions. */
private static String[] interactions = {"event", "input", "both", "none"};
/** The max event selector. */
private static String[] maxEventSelector = {"no limit", "1", "2", "3", "4", "5"};
/** The first path. */
private static String firstPath = new String();
/** The builder. */
private static StringBuilder builder = new StringBuilder();
/**
* Instantiates a new graphical editor.
*
* @param expPath the exp path
* @param appPack the app pack
* @param appClass the app class
*/
@SuppressWarnings("unchecked")
public GraphicalEditor(String expPath, String appPack, String appClass) {
setResizable(false);
setTitle("Preference Editor");
setAppPackage(appPack);
setAppPackageClass(appClass);
setFirstPath(expPath);
setBounds(100, 100, 485, 406);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
// Labels
JLabel lblGeneralParameters = new JLabel("General Parameters");
lblGeneralParameters.setFont(new Font("Tahoma", Font.BOLD, 14));
lblGeneralParameters.setBounds(10, 5, 225, 27);
contentPane.add(lblGeneralParameters);
JLabel lblScreenshotEnabled = new JLabel("Screenshot Enabled");
lblScreenshotEnabled.setBounds(10, 36, 151, 14);
contentPane.add(lblScreenshotEnabled);
JLabel lblScheduler = new JLabel("Scheduler Algorithm");
lblScheduler.setBounds(10, 61, 123, 14);
contentPane.add(lblScheduler);
JLabel lblAutomationParameters = new JLabel("Automation Parameters");
lblAutomationParameters.setFont(new Font("Tahoma", Font.BOLD, 14));
lblAutomationParameters.setBounds(10, 229, 225, 29);
contentPane.add(lblAutomationParameters);
JLabel lblAfterEvent = new JLabel("Waiting after Event");
lblAfterEvent.setBounds(10, 269, 123, 14);
contentPane.add(lblAfterEvent);
JLabel lblAfterRestart = new JLabel("Waiting after Restart");
lblAfterRestart.setBounds(10, 294, 123, 14);
contentPane.add(lblAfterRestart);
JLabel lblAfterTask = new JLabel("Waiting after Task");
lblAfterTask.setBounds(10, 319, 123, 14);
contentPane.add(lblAfterTask);
JLabel lblOnThrobber = new JLabel("Waiting on Throbber");
lblOnThrobber.setBounds(10, 343, 123, 14);
contentPane.add(lblOnThrobber);
JLabel lblMs0 = new JLabel("ms");
lblMs0.setBounds(214, 269, 21, 14);
contentPane.add(lblMs0);
JLabel lblMs1 = new JLabel("ms");
lblMs1.setBounds(214, 294, 21, 14);
contentPane.add(lblMs1);
JLabel lblMs2 = new JLabel("ms");
lblMs2.setBounds(214, 319, 21, 14);
contentPane.add(lblMs2);
JLabel lblMs3 = new JLabel("ms");
lblMs3.setBounds(214, 344, 21, 14);
contentPane.add(lblMs3);
JLabel lblComparatorParameters = new JLabel("Comparator Parameters");
lblComparatorParameters.setFont(new Font("Tahoma", Font.BOLD, 14));
lblComparatorParameters.setBounds(10, 80, 225, 29);
contentPane.add(lblComparatorParameters);
JLabel lblCompareAvailable = new JLabel("Compare Available");
lblCompareAvailable.setBounds(10, 111, 151, 14);
contentPane.add(lblCompareAvailable);
JLabel lblCompareCheckbox = new JLabel("Compare CheckBox");
lblCompareCheckbox.setBounds(10, 136, 151, 14);
contentPane.add(lblCompareCheckbox);
JLabel lblCompareListCount = new JLabel("Compare List Count");
lblCompareListCount.setBounds(10, 161, 151, 14);
contentPane.add(lblCompareListCount);
JLabel lblCompareTitle = new JLabel("Compare Title");
lblCompareTitle.setBounds(10, 186, 151, 14);
contentPane.add(lblCompareTitle);
JLabel lblCompareToast = new JLabel("Compare Toast");
lblCompareToast.setBounds(10, 211, 151, 14);
contentPane.add(lblCompareToast);
JLabel lblInteractionParameters = new JLabel("Interaction Parameters");
lblInteractionParameters.setFont(new Font("Tahoma", Font.BOLD, 14));
lblInteractionParameters.setBounds(245, 6, 216, 25);
contentPane.add(lblInteractionParameters);
JLabel lblEditText = new JLabel("EditText as");
lblEditText.setBounds(245, 111, 132, 14);
contentPane.add(lblEditText);
JLabel lblAutoComplete = new JLabel("AutoComplete as");
lblAutoComplete.setBounds(245, 136, 132, 14);
contentPane.add(lblAutoComplete);
JLabel lblCheckBox = new JLabel("CheckBox as");
lblCheckBox.setBounds(245, 186, 132, 14);
contentPane.add(lblCheckBox);
JLabel lblToggle = new JLabel("Toggle as");
lblToggle.setBounds(245, 210, 132, 14);
contentPane.add(lblToggle);
JLabel lblTextInputs = new JLabel("Text Inputs use");
lblTextInputs.setBounds(245, 161, 99, 14);
contentPane.add(lblTextInputs);
JLabel lblMaxEventsSelector = new JLabel("Max Events 4 Selector");
lblMaxEventsSelector.setBounds(245, 61, 132, 14);
contentPane.add(lblMaxEventsSelector);
JLabel lblSwapTab = new JLabel("SwapTab only initially");
lblSwapTab.setBounds(244, 36, 133, 14);
contentPane.add(lblSwapTab);
// FormattedTextField
waitingEventField = new JFormattedTextField();
waitingEventField.setHorizontalAlignment(SwingConstants.RIGHT);
waitingEventField.setText("1000");
waitingEventField.setBounds(140, 266, 64, 20);
contentPane.add(waitingEventField);
waitingRestartField = new JFormattedTextField();
waitingRestartField.setHorizontalAlignment(SwingConstants.RIGHT);
waitingRestartField.setText("0");
waitingRestartField.setBounds(140, 291, 64, 20);
contentPane.add(waitingRestartField);
waitingTaskField = new JFormattedTextField();
waitingTaskField.setText("0");
waitingTaskField.setHorizontalAlignment(SwingConstants.RIGHT);
waitingTaskField.setBounds(140, 316, 64, 20);
contentPane.add(waitingTaskField);
waitingThrobberField = new JFormattedTextField();
waitingThrobberField.setText("1000");
waitingThrobberField.setHorizontalAlignment(SwingConstants.RIGHT);
waitingThrobberField.setBounds(140, 340, 64, 20);
contentPane.add(waitingThrobberField);
screenshotBox = new JComboBox(bool);
screenshotBox.setBounds(171, 33, 64, 20);
screenshotBox.setSelectedIndex(0);
contentPane.add(screenshotBox);
editTextBox = new JComboBox(interactions);
editTextBox.setBounds(387, 108, 74, 20);
editTextBox.setSelectedIndex(1);
contentPane.add(editTextBox);
autoCompleteBox = new JComboBox(interactions);
autoCompleteBox.setBounds(387, 133, 74, 20);
autoCompleteBox.setSelectedIndex(1);
contentPane.add(autoCompleteBox);
checkBox = new JComboBox(interactions);
checkBox.setBounds(387, 183, 74, 20);
checkBox.setSelectedIndex(1);
contentPane.add(checkBox);
toggleBox = new JComboBox(interactions);
toggleBox.setBounds(387, 207, 74, 20);
toggleBox.setSelectedIndex(1);
contentPane.add(toggleBox);
inputTextBox = new JComboBox(inputs);
inputTextBox.setBounds(354, 158, 107, 20);
contentPane.add(inputTextBox);
schedulerBox = new JComboBox(algorithm);
schedulerBox.setSelectedIndex(1);
schedulerBox.setBounds(143, 58, 92, 20);
contentPane.add(schedulerBox);
tabEventsBox = new JComboBox(bool);
tabEventsBox.setSelectedIndex(0);
tabEventsBox.setBounds(387, 33, 74, 20);
contentPane.add(tabEventsBox);
maxEventSelectorBox = new JComboBox(maxEventSelector);
maxEventSelectorBox.setSelectedIndex(3);
maxEventSelectorBox.setBounds(387, 58, 74, 20);
contentPane.add(maxEventSelectorBox);
availableComparatorBox = new JComboBox(bool);
availableComparatorBox.setSelectedIndex(1);
availableComparatorBox.setBounds(171, 108, 64, 20);
availableComparatorBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
if (availableComparatorBox.getSelectedIndex() == 0) {
maxEventSelectorBox.setSelectedIndex(1);
maxEventSelectorBox.setEnabled(false);
} else {
if (listComparatorBox.getSelectedIndex() != 0) {
maxEventSelectorBox.setSelectedIndex(3);
maxEventSelectorBox.setEnabled(true);
}
}
}
});
contentPane.add(availableComparatorBox);
checkComparatorBox = new JComboBox(bool);
checkComparatorBox.setSelectedIndex(1);
checkComparatorBox.setBounds(171, 133, 64, 20);
contentPane.add(checkComparatorBox);
listComparatorBox = new JComboBox(bool);
listComparatorBox.setSelectedIndex(1);
listComparatorBox.setBounds(171, 158, 64, 20);
listComparatorBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
if (listComparatorBox.getSelectedIndex() == 0) {
maxEventSelectorBox.setSelectedIndex(1);
maxEventSelectorBox.setEnabled(false);
} else {
if (availableComparatorBox.getSelectedIndex() != 0) {
maxEventSelectorBox.setSelectedIndex(3);
maxEventSelectorBox.setEnabled(true);
}
}
}
});
contentPane.add(listComparatorBox);
titleComparatorBox = new JComboBox(bool);
titleComparatorBox.setSelectedIndex(0);
titleComparatorBox.setBounds(171, 183, 64, 20);
contentPane.add(titleComparatorBox);
toastComparatorBox = new JComboBox(bool);
toastComparatorBox.setSelectedIndex(1);
toastComparatorBox.setBounds(171, 207, 64, 20);
contentPane.add(toastComparatorBox);
// CheckBox
chckbxInputPertubation = new JCheckBox("Input Pertubation ");
chckbxInputPertubation.setBounds(241, 316, 132, 18);
contentPane.add(chckbxInputPertubation);
// Button
btnDefaultValues = new JButton("Default Values");
btnDefaultValues.setFont(new Font("Tahoma", Font.BOLD, 11));
btnDefaultValues.setBounds(245, 337, 121, 27);
btnDefaultValues.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
resetDefaultValues();
}
});
contentPane.add(btnDefaultValues);
btnSave = new JButton("Save");
btnSave.setFont(new Font("Tahoma", Font.BOLD, 11));
btnSave.setBounds(369, 337, 92, 27);
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
saveXML();
}
});
contentPane.add(btnSave);
resetDefaultValues();
}
/**
* Save xml.
*/
public void saveXML() {
if(!validateField()) {
JOptionPane.showMessageDialog(null, "Automation Parameters don't valid", "Information", JOptionPane.INFORMATION_MESSAGE);
} else {
createGeneralParameters();
createAutomationParameters();
createComparatorParameters();
createInteractionsParameters();
if (!finalizeXml()) {
JOptionPane.showMessageDialog(null, "Error\nPreferences.xml was not created");
}
}
}
/**
* Creates the general parameters.
*/
private void createGeneralParameters() {
builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");
builder.append("<!DOCTYPE preferences SYSTEM \"http://java.sun.com/dtd/preferences.dtd\">");
builder.append("<preferences EXTERNAL_XML_VERSION=\"1.0\">");
builder.append("<root type=\"user\">");
builder.append("<map/>");
builder.append("<node name=\""+ TOOL +"\">");
builder.append("<map>");
builder.append("<entry key=\"PACKAGE_NAME\" value=\""+ getAppPackage() +"\"/>");
builder.append("<entry key=\"CLASS_NAME\" value=\"" + getAppPackageClass() + "\"/>");
if (screenshotBox.getSelectedIndex() != 0) {
builder.append("<entry key=\"SCREENSHOT_ENABLED\" value=\"false\"/>");
}
String scheduler_algorithm = new String();
switch (schedulerBox.getSelectedIndex()) {
case 0:
scheduler_algorithm = "BREADTH_FIRST";
break;
case 1:
scheduler_algorithm = "DEPTH_FIRST";
break;
case 2:
scheduler_algorithm = "RANDOM_FIRST";
break;
}
if (schedulerBox.getSelectedIndex() != 0) {
builder.append("<entry key=\"SCHEDULER_ALGORITHM\" value=\"" + scheduler_algorithm + "\"/>");
}
builder.append("</map>");
}
/**
* Creates the automation parameters.
*/
private void createAutomationParameters() {
int automation = 0;
if (waitingEventField.getText().equals("1000")) {
automation++;
}
if (waitingRestartField.getText().equals("0")) {
automation++;
}
if (waitingTaskField.getText().equals("0")) {
automation++;
}
if (waitingThrobberField.getText().equals("1000")) {
automation++;
}
if (automation != 4) {
builder.append("<node name=\"automation\">");
builder.append("<map>");
if (!waitingEventField.getText().equals("1000")) {
builder.append("<entry key=\"SLEEP_AFTER_EVENT\" value=\""+ Integer.valueOf(waitingEventField.getText()) +"\"/>");
}
if (!waitingRestartField.getText().equals("0")) {
builder.append("<entry key=\"SLEEP_AFTER_RESTART\" value=\""+ Integer.valueOf(waitingRestartField.getText()) +"\"/>");
}
if (!waitingTaskField.getText().equals("0")) {
builder.append("<entry key=\"SLEEP_AFTER_TASK\" value=\""+ Integer.valueOf(waitingTaskField.getText()) +"\"/>");
}
if (!waitingThrobberField.getText().equals("1000")) {
builder.append("<entry key=\"SLEEP_ON_THROBBER\" value=\""+ Integer.valueOf(waitingThrobberField.getText()) +"\"/>");
}
builder.append("</map>");
builder.append("</node>");
}
}
/**
* Creates the comparator parameters.
*/
private void createComparatorParameters() {
if (titleComparatorBox.getSelectedIndex() != 0
|| listComparatorBox.getSelectedIndex() != 1
|| checkComparatorBox.getSelectedIndex() != 1
|| availableComparatorBox.getSelectedIndex() != 1
|| toastComparatorBox.getSelectedIndex() != 1) {
builder.append("<node name=\"comparator\">");
builder.append("<map>");
if (availableComparatorBox.getSelectedIndex() != 1) {
builder.append("<entry key=\"COMPARE_AVAILABLE\" value=\"true\"/>");
}
if (checkComparatorBox.getSelectedIndex() != 1) {
builder.append("<entry key=\"COMPARE_CHECKBOX\" value=\"true\"/>");
}
if (listComparatorBox.getSelectedIndex() != 1) {
builder.append("<entry key=\"COMPARE_LIST_COUNT\" value=\"true\"/>");
}
if (titleComparatorBox.getSelectedIndex() != 0) {
builder.append("<entry key=\"COMPARE_TITLE\" value=\"false\"/>");
}
if (toastComparatorBox.getSelectedIndex() != 1) {
builder.append("<entry key=\"COMPARE_TOAST\" value=\"true\"/>");
}
builder.append("</map>");
builder.append("</node>");
}
}
/**
* Creates the interactions parameters.
*/
private void createInteractionsParameters() {
String events = new String();
String inputs = new String();
int countEvent = 0;
int countInput = 0;
builder.append("<node name=\"interactions\">");
builder.append("<map>");
if (editTextBox.getSelectedIndex() == 0
|| editTextBox.getSelectedIndex() == 2) {
events = events.concat(", " + EDIT_TEXT);
}
if (autoCompleteBox.getSelectedIndex() == 0
|| autoCompleteBox.getSelectedIndex() == 2) {
events = events.concat(", " + AUTOC_TEXT);
}
if (!events.equals("")) {
builder.append("<entry key=\"EVENTS["+ countEvent +"]\" value=\"" + WRITE_TEXT + events + "\"/>");
countEvent++;
}
events = new String();
if (checkBox.getSelectedIndex() == 0
|| checkBox.getSelectedIndex() == 2) {
events = events.concat(", " + CHECKBOX);
}
if (toggleBox.getSelectedIndex() == 0
|| toggleBox.getSelectedIndex() == 2) {
events = events.concat(", " + TOGGLE_BUTTON);
}
if (!events.equals("")) {
builder.append("<entry key=\"EVENTS["+ countEvent +"]\" value=\"" + CLICK + ", " + BUTTON + ", " + MENU_ITEM + ", " + LINEAR_LAYOUT + ", " + IMAGE_VIEW + ", " + TAB_VIEW + events + "\"/>");
}
if (editTextBox.getSelectedIndex() == 1
|| editTextBox.getSelectedIndex() == 2) {
inputs = inputs.concat(", " + EDIT_TEXT);
}
if (autoCompleteBox.getSelectedIndex() == 1
|| autoCompleteBox.getSelectedIndex() == 2) {
inputs = inputs.concat(", " + AUTOC_TEXT);
}
if (!inputs.equals("")) {
builder.append("<entry key=\"INPUTS["+ countInput +"]\" value=\"" + WRITE_TEXT + inputs + "\"/>");
countInput++;
}
inputs = new String();
int countButton = 0;
if (checkBox.getSelectedIndex() == 1
|| checkBox.getSelectedIndex() == 2) {
inputs = inputs.concat(", " + CHECKBOX);
countButton++;
}
if (toggleBox.getSelectedIndex() == 1
|| toggleBox.getSelectedIndex() == 2) {
inputs = inputs.concat(", " + TOGGLE_BUTTON);
countButton++;
}
if (!inputs.equals("")) {
if (countButton != 2) {
builder.append("<entry key=\"INPUTS["+ countInput +"]\" value=\"" + CLICK + ", " + NUMBER_PICKER_BUTTON + inputs + "\"/>");
}
} else {
builder.append("<entry key=\"INPUTS["+ countInput +"]\" value=\"" + CLICK + ", " + NUMBER_PICKER_BUTTON + "\"/>");
}
if (inputTextBox.getSelectedIndex() != 0) {
builder.append("<entry key=\"HASH_VALUES\" value=\"false\"/>");
}
if (maxEventSelectorBox.getSelectedIndex() != 3) {
builder.append("<entry key=\"MAX_NUM_EVENTS_PER_SELECTOR\" value=\""+ maxEventSelectorBox.getSelectedIndex() + "\"/>");
}
if (tabEventsBox.getSelectedIndex() != 1) {
builder.append("<entry key=\"TAB_EVENTS_START_ONLY\" value=\"true\"/>");
}
builder.append("</map>");
builder.append("</node>");
}
/**
* Finalize xml.
*
* @return true, if successful
*/
private boolean finalizeXml() {
builder.append("</node>");
builder.append("</root>");
builder.append("</preferences>");
try {
String folder = System.getProperty("user.dir") + "/../data";
if (!new File(folder).exists()) new File(folder).mkdir();
new Tools().xmlWriter(path, builder);
if (!chckbxInputPertubation.isSelected()) {
if (!new File(firstPath).exists()) new File(firstPath).mkdir();
PrintWriter outputStream1 = new PrintWriter (firstPath.concat("/firstboot.txt"));
outputStream1.write("firstboot");
outputStream1.close();
System.exit(NORMAL);
} else {
EventQueue.invokeLater(new Runnable() {
@Override
public void run () {
GuiAnalyzer frame = new GuiAnalyzer(firstPath);
frame.setVisible(true);
}
});
setVisible(false);
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* Validate field.
*
* @return true, if successful
*/
private boolean validateField() {
if (!controlValue(waitingEventField.getText())) {
return false;
}
if (!controlValue(waitingRestartField.getText())) {
return false;
}
if (!controlValue(waitingTaskField.getText())) {
return false;
}
if (!controlValue(waitingThrobberField.getText())) {
return false;
}
return true;
}
/**
* Control value.
*
* @param value the value
* @return true, if successful
*/
private boolean controlValue(String value) {
try{
return ((Integer.valueOf(value) >= 0) && (Integer.valueOf(value) <= 20000));
}catch (Exception e){
e.printStackTrace();
return false;
}
}
/**
* Reset default values.
*/
public void resetDefaultValues() {
chckbxInputPertubation.setSelected(false);
screenshotBox.setSelectedIndex(0);
schedulerBox.setSelectedIndex(0);
availableComparatorBox.setSelectedIndex(1);
checkComparatorBox.setSelectedIndex(1);
listComparatorBox.setSelectedIndex(1);
titleComparatorBox.setSelectedIndex(0);
toastComparatorBox.setSelectedIndex(1);
waitingEventField.setText("1000");
waitingRestartField.setText("0");
waitingTaskField.setText("0");
waitingThrobberField.setText("1000");
maxEventSelectorBox.setSelectedIndex(3);
maxEventSelectorBox.setEnabled(true);
tabEventsBox.setSelectedIndex(1);
inputTextBox.setSelectedIndex(0);
editTextBox.setSelectedIndex(1);
autoCompleteBox.setSelectedIndex(1);
checkBox.setSelectedIndex(1);
toggleBox.setSelectedIndex(1);
}
/**
* Sets the first path.
*
* @param value the new first path
*/
public static void setFirstPath(String value) {
firstPath = value;
}
/**
* Gets the app package.
*
* @return the app package
*/
public static String getAppPackage() {
return appPackage;
}
/**
* Sets the app package.
*
* @param value the new app package
*/
public static void setAppPackage(String value) {
appPackage = value;
}
/**
* Gets the app package class.
*
* @return the app package class
*/
public static String getAppPackageClass() {
return appPackageClass;
}
/**
* Sets the app package class.
*
* @param value the new app package class
*/
public static void setAppPackageClass(String value) {
appPackageClass = value;
}
}