package _VisualDVM.GlobalData.Machine; import Common.Database.Objects.DBObject; import Common.Database.Tables.FKBehaviour; import Common.Database.Tables.FKCurrentObjectBehaviuor; import Common.Database.Tables.FKDataBehaviour; import Common.Database.Tables.iDBTable; import Common.Passes.PassCode_; import Common.Visual.DataSetControlForm; import _VisualDVM.GlobalData.Compiler.Compiler; import _VisualDVM.GlobalData.DVMParameter.DVMParameter; import _VisualDVM.GlobalData.EnvironmentValue.EnvironmentValue; import _VisualDVM.GlobalData.Machine.UI.MachinesForm; import _VisualDVM.GlobalData.Makefile.Makefile; import _VisualDVM.GlobalData.Module.Module; import _VisualDVM.GlobalData.RunConfiguration.RunConfiguration; import _VisualDVM.GlobalData.Tasks.CompilationTask.CompilationTask; import _VisualDVM.GlobalData.Tasks.RunTask.RunTask; import _VisualDVM.GlobalData.User.User; import _VisualDVM.Passes.PassCode; import javax.swing.*; import java.util.LinkedHashMap; public class MachinesDBTable extends iDBTable { public MachinesDBTable() { super(Machine.class); } @Override public String getSingleDescription() { return "машина"; } @Override public String getPluralDescription() { return "машины"; } @Override public LinkedHashMap, FKBehaviour> getFKDependencies() { LinkedHashMap, FKBehaviour> res = new LinkedHashMap<>(); //- res.put(User.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE)); res.put(Compiler.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE)); res.put(Makefile.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE)); res.put(RunConfiguration.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE)); //- res.put(Module.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.PASSIVE)); res.put(EnvironmentValue.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.PASSIVE)); res.put(DVMParameter.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.PASSIVE)); res.put(CompilationTask.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE)); res.put(RunTask.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.PASSIVE)); return res; } @Override protected DataSetControlForm createUI(JPanel mountPanel) { return new MachinesForm(this, mountPanel); } public boolean LocalMachineExists() { return Data.values().stream().anyMatch(machine -> machine.type.equals(MachineType.Local)); } @Override public PassCode_ getDeletePassCode() { return PassCode.DeleteMachine; } }