package _VisualDVM.Passes.All;
import Common.Passes.Pass;
import Common.Utils.Utils_;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.GlobalData.DVMParameter.DVMParameter;
import _VisualDVM.GlobalData.DVMParameter.UI.DVMParameterFields;
import _VisualDVM.Utils;
public class AddDVMParameterForTesting extends Pass<String> {
    @Override
    protected boolean canStart(Object... args) throws Exception {
        DBObjectDialog<DVMParameter, DVMParameterFields> dialog =
                new DBObjectDialog<DVMParameter, DVMParameterFields>(DVMParameterFields.class) {
                    @Override
                    public void fillFields() {
                    }
                    @Override
                    public void validateFields() {
                        String name = (String) fields.cbName.getSelectedItem();
                        String value = fields.tfValue.getText();
                        if (name.isEmpty())
                            Log.Writeln("Имя параметра DVM системы не может быть пустым.");
                        if (Utils.isLinuxSystemCommand(name))
                            Log.Writeln(Utils_.DQuotes(name) + " является системной командой Linux");
                        if (Utils.isLinuxSystemCommand(value))
                            Log.Writeln(Utils_.DQuotes(value) + " является системной командой Linux");
                    }
                    @Override
                    public void ProcessResult() {
                        target = fields.cbName.getSelectedItem() + "=" + fields.tfValue.getText();
                    }
                    @Override
                    public int getDefaultHeight() {
                        return 200;
                    }
                };
        return dialog.ShowDialog("Добавление параметра DVM системы", new DVMParameter());
    }
}
