package Visual_DVM_2021.Passes.All; import Common.Database.Database; import Common.Utils.CommonUtils; import _VisualDVM.GlobalData.Compiler.Compiler; import _VisualDVM.GlobalData.Compiler.CompilerType; import _VisualDVM.GlobalData.GlobalDatabase; import _VisualDVM.GlobalData.Machine.Machine; import _VisualDVM.GlobalData.Machine.MachineType; import _VisualDVM.GlobalData.User.User; import Visual_DVM_2021.Passes.AddObjectPass; public class AddMachine extends AddObjectPass { public AddMachine() { super(Machine.class); } @Override protected Database getDb() { return CommonUtils.db; } @Override protected boolean canStart(Object... args) throws Exception { if (super.canStart(args)) { if (target.type.equals(MachineType.Local) && ((GlobalDatabase)CommonUtils.db).machines.LocalMachineExists()) { Log.Writeln_("Локальная машина уже добавлена."); return false; } return true; } return false; } @Override protected void performDone() throws Exception { super.performDone(); getDb().Insert(new Compiler( target, "gfortran", CompilerType.gnu, "gfortran", "--version", "--help" )); getDb().Insert(new Compiler( target, "gcc", CompilerType.gnu, "gcc", "--version", "--help" )); getDb().Insert(new Compiler( target, "g++", CompilerType.gnu, "g++", "--version", "--help" )); if (target.type.equals(MachineType.Local)) getDb().Insert(new User(target, "этот пользователь", "")); } }