package _VisualDVM.GlobalData.User; 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 Common.Visual.Windows.Dialog.DBObjectDialog; import _VisualDVM.Global; import _VisualDVM.GlobalData.Machine.MachineType; import _VisualDVM.GlobalData.Tasks.CompilationTask.CompilationTask; import _VisualDVM.GlobalData.Tasks.RunTask.RunTask; import _VisualDVM.GlobalData.User.UI.UserFields; import _VisualDVM.GlobalData.User.UI.UsersForm; import _VisualDVM.Passes.PassCode; import javax.swing.*; import java.util.LinkedHashMap; public class UsersDBTable extends iDBTable { public UsersDBTable() { super(User.class); } @Override public LinkedHashMap, FKBehaviour> getFKDependencies() { LinkedHashMap, FKBehaviour> res = new LinkedHashMap<>(); res.put(CompilationTask.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE)); res.put(RunTask.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.PASSIVE)); return res; } @Override public DBObjectDialog getDialog() { return new DBObjectDialog(UserFields.class) { @Override public void SetEditLimits() { fields.tfLogin.setEditable(false); } @Override public void fillFields() { if (Global.mainModule.getMachine().type.equals(MachineType.Local)) { Result.login = "этот пользователь"; fields.tfLogin.setEditable(false); } fields.tfLogin.setText(Result.login); fields.tfPassword.setText(Result.password); fields.tfWorkspace.setText(Result.workspace); } @Override public void validateFields() { if (fields.tfLogin.getText().isEmpty()) Log.Writeln_("Логин пользователя не может быть пустым"); } @Override public void ProcessResult() { Result.machine_id = Global.mainModule.getMachine().id; Result.login = fields.tfLogin.getText(); Result.authentication = UserAuthentication.password; Result.password = new String(fields.tfPassword.getPassword()); } @Override public int getDefaultHeight() { return 250; } }; } @Override protected DataSetControlForm createUI(JPanel mountPanel) { return new UsersForm(this, mountPanel); } @Override public PassCode_ getDeletePassCode() { return PassCode.DeleteUser; } }