package Visual_DVM_2021.Passes.All; import Common.Database.Database; import Common.Global; import GlobalData.Compiler.Compiler; import GlobalData.Compiler.CompilerType; import GlobalData.Machine.Machine; import GlobalData.Machine.MachineType; import GlobalData.User.User; import Visual_DVM_2021.Passes.AddObjectPass; public class AddMachine extends AddObjectPass { public AddMachine() { super(Machine.class); } @Override protected Database getDb() { return Global.db; } @Override protected boolean canStart(Object... args) throws Exception { if (super.canStart(args)) { if (target.type.equals(MachineType.Local) && Global.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, "этот пользователь", "")); } }