no message

This commit is contained in:
2025-02-18 23:45:24 +03:00
parent 073bbfd544
commit 5046d84b86
21 changed files with 218 additions and 63 deletions

23
.idea/workspace.xml generated
View File

@@ -7,14 +7,27 @@
</component>
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationForm.form" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationForm.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationWindow.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/UserAccount/UI/UserAccountsForm.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SynchronizeCredentials.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckAccount.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Database/Database.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/Database.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/BugReportsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/BugReportsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/ComponentsServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/CredentialsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/CredentialsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/UserAccount/UserAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/UserAccount/UserAccount.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/UserAccount/UserAccountsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/UserAccount/UserAccountsDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Global.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Global.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/MainUI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/MainUI.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationForm.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationForm.form" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/AdministrationWindow.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Interface/AdministrationWindow.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/CallbackForm.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/CallbackForm.form" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/CallbackForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/CallbackForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/MainForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/MainForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/MainWindow.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/MainWindow.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/MainWindow.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Interface/MainWindow.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -310,4 +310,10 @@ public abstract class Database {
prepareTablesStatements();
Synchronize();
}
public void DropUI(){
SaveLastSelections();
}
public void ResetUI(){
RestoreLastSelections();
}
}

View File

@@ -34,14 +34,16 @@ public class BugReportsDatabase extends SQLiteDatabase {
for (BugReport draft : drafts)
Delete(draft);
}
@Override
public void DropUI() {
SaveLastSelections();
super.DropUI();
bugReports.ClearUI();
subscribers.ClearUI();
workspaces.ClearUI();
}
@Override
public void ResetUI() {
bugReports.ShowUI();
RestoreLastSelections();
super.ResetUI();
}
}

View File

@@ -141,7 +141,10 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
Email(message, address);
}
}
//--
}
@Override
public void ActivateDB() {
super.ActivateDB();
try {
credentials_db = new CredentialsDatabase();
credentials_db.Activate();
@@ -339,6 +342,9 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
}
response.object = account;
}
void ReceiveCredentialsDatabase() throws Exception{
response.object = Utils_.fileToBytes(credentials_db.getFile());
}
//--
@Override
protected void UnsafeSession() throws Exception {
@@ -375,6 +381,9 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
@Override
protected void Session() throws Exception {
switch (code) {
case ReceiveCredentialsDatabase:
ReceiveCredentialsDatabase();
break;
case ReceiveAllArchives:
ReceiveAllArchives();
break;

View File

@@ -17,4 +17,14 @@ public class CredentialsDatabase extends SQLiteDatabase {
public PassCode_ getSynchronizePassCode() {
return null;
}
@Override
public void DropUI() {
super.DropUI();
userAccounts.ClearUI();
}
@Override
public void ResetUI() {
userAccounts.ShowUI();
super.ResetUI();
}
}

View File

@@ -0,0 +1,54 @@
package _VisualDVM.ComponentsServer.UserAccount.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.ColumnInfo;
import _VisualDVM.ComponentsServer.Subscribes.Subscriber;
import _VisualDVM.ComponentsServer.UserAccount.AccountRole;
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import javax.swing.*;
public class UserAccountsForm extends DataSetControlForm<UserAccount> {
public UserAccountsForm(DataSet<?, UserAccount> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@Override
protected void createColumns() {
AddColumns(
new ColumnInfo<UserAccount>("Имя") {
@Override
public Object getFieldAt(UserAccount object) {
return object.name;
}
},
new ColumnInfo<UserAccount>("Почта") {
@Override
public Object getFieldAt(UserAccount object) {
return object.email;
}
},
new ColumnInfo<UserAccount>("Роль") {
@Override
public Object getFieldAt(UserAccount object) {
return object.role.getDescription();
}
@Override
public boolean isVisible() {
return Global.mainModule.getAccount().role.equals(AccountRole.Admin);
}
},
new ColumnInfo<UserAccount>("Рассылка") {
@Override
public Object getFieldAt(UserAccount object) {
return (object.subscribe_active == 0) ? "выключена" : "включена";
}
}
);
}
@Override
protected DataMenuBar createMenuBar() {
return new DataMenuBar(dataSource.getPluralDescription(), PassCode.SynchronizeCredentials);
}
}

View File

@@ -8,6 +8,8 @@ import com.sun.org.glassfish.gmbal.Description;
public class UserAccount extends iDBObject {
public String name = "";
public String email = "";
@Description("DEFAULT ''")
public String telegram_name="";
@Description("DEFAULT 1")
public int subscribe_active = 1;
public String security_key = "";
@@ -25,6 +27,7 @@ public class UserAccount extends iDBObject {
UserAccount src_ = (UserAccount) src;
name = src_.name;
email = src_.email;
telegram_name=src_.telegram_name;
subscribe_active=src_.subscribe_active;
security_key = src_.security_key;
role = src_.role;

View File

@@ -1,5 +1,9 @@
package _VisualDVM.ComponentsServer.UserAccount;
import Common.Database.Tables.iDBTable;
import Common.Visual.DataSetControlForm;
import _VisualDVM.ComponentsServer.UserAccount.UI.UserAccountsForm;
import javax.swing.*;
public class UserAccountsDBTable extends iDBTable<UserAccount> {
public UserAccountsDBTable() {
super(UserAccount.class);
@@ -18,4 +22,16 @@ public class UserAccountsDBTable extends iDBTable<UserAccount> {
}
return null;
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new UserAccountsForm(this, mountPanel);
}
@Override
public String getSingleDescription() {
return "учётная запись";
}
@Override
public String getPluralDescription() {
return "учётные записи";
}
}

View File

@@ -130,6 +130,8 @@ public class Global {
mainModule.DeactivateDB();
if (componentsServer.db != null)
componentsServer.db.Disconnect();
if (componentsServer.credentials_db!=null)
componentsServer.credentials_db.Disconnect();
if (testingServer.db != null)
testingServer.db.Disconnect();
if (visualizer_2 != null)
@@ -196,15 +198,6 @@ public class Global {
//light_editor.xml-------->>
mainModule.ActivateDB();
// https://habr.com/ru/articles/446888/ сертификат?
/*
mainModule.set(Current.Account, new Account() {
{
name = "M";
email = "vmk-post@yandex.ru";
role = AccountRole.Admin;
}
});
*/
mainModule.getPass(PassCode.CheckAccount).Do();
//---------------
componentsServer.ActivateDB();

View File

@@ -0,0 +1,35 @@
package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.Passes.Server.ComponentsServerPass;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Utils;
import java.io.File;
public class SynchronizeCredentials extends ComponentsServerPass<Object> {
File new_db_file;
@Override
public String getIconPath() {
return "/icons/ComponentsActual.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
return Global.mainModule.getAccount().CheckAdmin(Log) && SendRequest(ServerCode.ReceiveCredentialsDatabase);
}
@Override
protected void showPreparation() throws Exception {
getServer().credentials_db.DropUI();
}
@Override
protected void body() throws Exception {
request.server_response.Unpack(new_db_file = Utils.getTempFileName("сdb"));
}
@Override
protected void performDone() throws Exception {
getServer().credentials_db.ReplaceFileAndReconnect(new_db_file);
}
@Override
protected void showDone() throws Exception {
if (Global.mainModule.getUI().hasMainWindow())
getServer().credentials_db.ResetUI();
}
}

View File

@@ -354,12 +354,15 @@ public enum PassCode implements PassCode_ {
JoinSapforTestingVersionsToGroup,
RefreshDVMPackageResults,
DetectSelectedTestsMinMaDim,
ConfirmEmail
ConfirmEmail,
SynchronizeCredentials,
;
//--
@Override
public String getDescription() {
switch (this) {
case SynchronizeCredentials:
return "Синхронизация учётных записей";
case ConfirmEmail:
return "Подтверждение почты";
case DetectSelectedTestsMinMaDim:

View File

@@ -30,6 +30,7 @@ public enum ServerCode {
//--
ReceiveBugReportsDatabase,
ReceiveTestsDatabase,
ReceiveCredentialsDatabase,
UpdateComponent,
ReceiveComponent,
ReceiveBugReport,
@@ -63,10 +64,11 @@ public enum ServerCode {
ReplaceDVMPackageResults,
DetectTestsMinMaxDim,
GetUserAccountByKey,
GetUserAccountByEmail,
;
GetUserAccountByEmail;
public String getDescription(){
switch (this){
case ReceiveCredentialsDatabase:
return "Скачивание базы учётных записей с сервера";
case GetUserAccountByEmail:
return "Получение информации об аккаунте по адресу почты";
case GetUserAccountByKey:

View File

@@ -319,20 +319,11 @@ public class TestsDatabase extends SQLiteDatabase {
tests.getUI().SelectAll(false);
dvmConfigurations.getUI().SelectAll(false);
}
public void CheckTestsPackagesDependencies(Vector<Integer> testsIds, TextLog Log) {
//определить есть ли активные пакеты в которые входят упомянутые тесты
//если есть выписать группа/тест причина - находится в активном пакете
}
public void RefreshTestNameInConfigurations(Integer testId) {
//обновить имя теста во всех конфигурация
}
public void DeleteTestFromConfigurations(Integer testId) {
//обновить имя теста во всех конфигурация
}
//todo возможно рассмотреть вариант с синхроннизацией тестов для пакетов через команду серверу а не в нити
//во избежание конфликта доступа,или удалением тестов во время копирования(?)
@Override
public void DropUI(){
SaveLastSelections();
super.DropUI();
dvmConfigurations.ClearUI();
groups.ClearUI();
sapforConfigurations.ClearUI();
@@ -342,6 +333,7 @@ public class TestsDatabase extends SQLiteDatabase {
sapforSettings.ClearUI();
dvmSettings.ClearUI();
}
@Override
public void ResetUI(){
VisualCaches.ClearDataForClass(DVMConfiguration.class);
VisualCaches.ClearDataForClass(SapforConfiguration.class);
@@ -356,6 +348,6 @@ public class TestsDatabase extends SQLiteDatabase {
sapforPackages.ShowUI();
sapforSettings.ShowUI();
dvmSettings.ShowUI();
RestoreLastSelections();
super.ResetUI();
}
}

View File

@@ -1,4 +1,4 @@
package _VisualDVM.Visual.Windows;
package _VisualDVM.Visual.Interface;
import Common.Visual.VisualizerForm;
public interface AdministrationWindow extends VisualizerForm {
void ShowAll();

View File

@@ -1,5 +1,4 @@
package _VisualDVM.Visual.Windows;
import _VisualDVM.Visual.Interface.*;
package _VisualDVM.Visual.Interface;
public interface MainWindow {
void Show();
void ShowProject();

View File

@@ -5,6 +5,7 @@ import _VisualDVM.GlobalData.RemoteFile.UI.RemoteFileChooser;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.Common.TestingMenuBar;
import _VisualDVM.Visual.Interface.DebugWindow;
import _VisualDVM.Visual.Interface.MainWindow;
import _VisualDVM.Visual.Interface.VersionsWindow;
import _VisualDVM.Visual.Menus.MainMenuBar.MainMenuBar;
import _VisualDVM.Visual.Menus.VersionsMenuBar.VersionsMenuBar;

View File

@@ -6,6 +6,33 @@
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="8b024" binding="SC67">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="400"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="7a8ba" binding="userAccountsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
<grid id="7d3b" binding="workspacesPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</splitpane>
</children>
</grid>
</form>

View File

@@ -1,14 +1,23 @@
package _VisualDVM.Visual.Windows;
import Common.Visual.FormWithSplitters;
import _VisualDVM.Global;
import _VisualDVM.Visual.Interface.AdministrationWindow;
import javax.swing.*;
public class AdministrationForm implements FormWithSplitters,AdministrationWindow {
public class AdministrationForm implements FormWithSplitters, AdministrationWindow {
private JPanel content;
public JSplitPane SC67;
private JPanel userAccountsPanel;
private JPanel workspacesPanel;
@Override
public JPanel getContent() {
return content;
}
public AdministrationForm(){
Global.componentsServer.credentials_db.userAccounts.mountUI(userAccountsPanel);
}
@Override
public void ShowAll() {
Global.componentsServer.credentials_db.userAccounts.ShowUI();
}
}

View File

@@ -418,32 +418,12 @@
</properties>
<border type="none"/>
<children>
<splitpane id="14cc5" binding="SC67">
<grid id="bd1dc" binding="subscribersPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="400"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="d6557" binding="subscribersPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
<grid id="73357" binding="workspacesPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>

View File

@@ -32,7 +32,6 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
public DescriptionInterface descriptionInterface;
public CommentInterface commentInterface;
public JSplitPane SC6;
public JSplitPane SC67;
DocumentListener descriptionAdditionListener = new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
@@ -155,7 +154,7 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
//-
Global.componentsServer.db.bugReports.mountUI(bugReportsPanel);
Global.componentsServer.db.subscribers.mountUI(subscribersPanel);
Global.componentsServer.db.workspaces.mountUI(workspacesPanel);
// Global.componentsServer.db.workspaces.mountUI(workspacesPanel);
//-
if (!Global.mainModule.getPass(PassCode.CheckAccount).isDone()) {
accountTools.add(Global.mainModule.getPass(PassCode.CheckAccount).createButton());

View File

@@ -243,6 +243,8 @@ public class MainForm extends Form implements MainWindow {
getCredentialsWindow().ShowAll();
if (getTestingWindow() != null)
getTestingWindow().ShowAll();
if (Global.mainModule.getAccount().isAdmin())
getAdministrationWindow().ShowAll();
MainModule_.instance.getUI().windowsStack.push(this);
super.Show();
}