функционал для управления сервером компонент и багов.
удаление временных файлов при запросе версии
This commit is contained in:
12
.idea/workspace.xml
generated
12
.idea/workspace.xml
generated
@@ -7,14 +7,14 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishTestingServer.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PingComponentsServer.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishComponentsServer.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShutdownComponentsServer.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartComponentsServer.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/RemoteSingleCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/RemoteSingleCommand.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShutdownTestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShutdownTestingServer.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartTestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartTestingServer.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/RepositoryServerSSHPass.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.form" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.java" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
|||||||
38
src/Visual_DVM_2021/Passes/All/PingComponentsServer.java
Normal file
38
src/Visual_DVM_2021/Passes/All/PingComponentsServer.java
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Repository.Server.ServerCode;
|
||||||
|
import Repository.Server.ServerExchangeUnit_2021;
|
||||||
|
import Visual_DVM_2021.Passes.Server.ComponentsRepositoryPass;
|
||||||
|
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||||
|
|
||||||
|
import java.net.ConnectException;
|
||||||
|
public class PingComponentsServer extends ComponentsRepositoryPass {
|
||||||
|
boolean flag;
|
||||||
|
boolean silent;
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
flag = false;
|
||||||
|
silent = args.length > 0 ? (boolean) args[0] : false;
|
||||||
|
return super.canStart(args);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
Command(new ServerExchangeUnit_2021(ServerCode.Ping));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean validate() {
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void CheckException(Exception ex) {
|
||||||
|
if (silent) {
|
||||||
|
Throwable cause = getCauseRec(ex);
|
||||||
|
if ((cause instanceof ConnectException) && cause.getMessage().contains("Connection refused: connect")) {
|
||||||
|
//так как это пинг, игнорируем.
|
||||||
|
System.out.println("Server inactive");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
super.CheckException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
53
src/Visual_DVM_2021/Passes/All/PublishComponentsServer.java
Normal file
53
src/Visual_DVM_2021/Passes/All/PublishComponentsServer.java
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Common.Global;
|
||||||
|
import Common.Utils.Utils;
|
||||||
|
import GlobalData.RemoteFile.RemoteFile;
|
||||||
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
|
import Visual_DVM_2021.Passes.PassException;
|
||||||
|
import Visual_DVM_2021.Passes.SSH.RepositoryServerSSHPass;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
public class PublishComponentsServer extends RepositoryServerSSHPass {
|
||||||
|
@Override
|
||||||
|
protected String getServerFileName() {
|
||||||
|
return "VisualSapfor.jar";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected String getServerHomeName() {
|
||||||
|
return "_sapfor_x64";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getIconPath() {
|
||||||
|
return "/icons/Publish.png";
|
||||||
|
}
|
||||||
|
//1. остановить сервер.
|
||||||
|
//2. заменить файл сервера на компонент визуализатора. переименовать его.
|
||||||
|
//3. запустить сервер.
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
if (passes.get(PassCode_2021.PingComponentsServer).Do(true))
|
||||||
|
ShutdownServer();
|
||||||
|
if (passes.get(PassCode_2021.PingComponentsServer).Do(true)) {
|
||||||
|
throw new PassException("Не удалось остановить сервер.");
|
||||||
|
}
|
||||||
|
File src = Global.visualiser.getFile();
|
||||||
|
//-
|
||||||
|
RemoteFile dst = new RemoteFile(serverHome, getServerFileName());
|
||||||
|
user.connection.tryRM(dst);
|
||||||
|
user.connection.putSingleFile(src, dst);
|
||||||
|
//-
|
||||||
|
|
||||||
|
StartServer();
|
||||||
|
System.out.println("userHome=" + Utils.Brackets(userHome.full_name));
|
||||||
|
System.out.println("testingHome=" + Utils.Brackets(serverHome.full_name));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean validate() {
|
||||||
|
|
||||||
|
if (!passes.get(PassCode_2021.PingComponentsServer).Do(true)) {
|
||||||
|
Log.Writeln_("Не удалось запустить сервер.");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -15,9 +15,10 @@ public class RemoteSingleCommand extends CurrentConnectionPass<String> {
|
|||||||
@Override
|
@Override
|
||||||
protected void ServerAction() throws Exception {
|
protected void ServerAction() throws Exception {
|
||||||
RemoteFile file = new RemoteFile(user.connection.sftpChannel.getHome(), Utils.getDateName("out"));
|
RemoteFile file = new RemoteFile(user.connection.sftpChannel.getHome(), Utils.getDateName("out"));
|
||||||
user.connection.ShellCommand(command+" 1>"+Utils.DQuotes(file.full_name));
|
user.connection.ShellCommand(command + " 1>" + Utils.DQuotes(file.full_name));
|
||||||
if (user.connection.Exists(file)){
|
if (user.connection.Exists(file)) {
|
||||||
target = user.connection.readFromFile(file);
|
target = user.connection.readFromFile(file);
|
||||||
|
user.connection.sftpChannel.rm(file.full_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
29
src/Visual_DVM_2021/Passes/All/ShutdownComponentsServer.java
Normal file
29
src/Visual_DVM_2021/Passes/All/ShutdownComponentsServer.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
|
import Visual_DVM_2021.Passes.SSH.RepositoryServerSSHPass;
|
||||||
|
public class ShutdownComponentsServer extends RepositoryServerSSHPass {
|
||||||
|
@Override
|
||||||
|
protected String getServerFileName() {
|
||||||
|
return "VisualSapfor.jar";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected String getServerHomeName() { return "_sapfor_x64";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getIconPath() {
|
||||||
|
return "/icons/Stop25.png";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
if (passes.get(PassCode_2021.PingTestingServer).Do(true)){
|
||||||
|
return true;
|
||||||
|
}else {
|
||||||
|
Log.Writeln_("Сервер уже неактивен!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
ShutdownServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
32
src/Visual_DVM_2021/Passes/All/StartComponentsServer.java
Normal file
32
src/Visual_DVM_2021/Passes/All/StartComponentsServer.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
|
import Visual_DVM_2021.Passes.SSH.RepositoryServerSSHPass;
|
||||||
|
public class StartComponentsServer extends RepositoryServerSSHPass {
|
||||||
|
@Override
|
||||||
|
public String getIconPath() {
|
||||||
|
return "/icons/GreenStart.png";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected String getServerHomeName() {return "_sapfor_x64"; }
|
||||||
|
@Override
|
||||||
|
protected String getServerFileName() {
|
||||||
|
return "VisualSapfor.jar";
|
||||||
|
}
|
||||||
|
//--
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
if (passes.get(PassCode_2021.PingComponentsServer).Do(true)) {
|
||||||
|
Log.Writeln_("Сервер уже активен!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
StartServer();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean validate() {
|
||||||
|
return passes.get(PassCode_2021.PingComponentsServer).Do();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -326,13 +326,29 @@ public enum PassCode_2021 {
|
|||||||
PingTestingServer,
|
PingTestingServer,
|
||||||
ShutdownTestingServer,
|
ShutdownTestingServer,
|
||||||
StartTestingServer,
|
StartTestingServer,
|
||||||
SPF_InsertImplicitNone,
|
|
||||||
PublishTestingServer,
|
PublishTestingServer,
|
||||||
|
//---
|
||||||
|
PingComponentsServer,
|
||||||
|
ShutdownComponentsServer,
|
||||||
|
StartComponentsServer,
|
||||||
|
PublishComponentsServer,
|
||||||
|
//---
|
||||||
|
SPF_InsertImplicitNone,
|
||||||
;
|
;
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case Undefined:
|
case Undefined:
|
||||||
return "?";
|
return "?";
|
||||||
|
//--
|
||||||
|
case PublishComponentsServer:
|
||||||
|
return "Опубликовать сервер компонент и отчётов об ошибках";
|
||||||
|
case PingComponentsServer:
|
||||||
|
return "Проверить активносто сервера компонент и отчётов об ошибках";
|
||||||
|
case StartComponentsServer:
|
||||||
|
return "Запустить сервер компонент и отчётов об ошибках";
|
||||||
|
case ShutdownComponentsServer:
|
||||||
|
return "Остановить сервер компонент и отчётов об ошибках";
|
||||||
|
//--
|
||||||
case PublishTestingServer:
|
case PublishTestingServer:
|
||||||
return "Опубликовать тестовый сервер.";
|
return "Опубликовать тестовый сервер.";
|
||||||
case SPF_InsertImplicitNone:
|
case SPF_InsertImplicitNone:
|
||||||
|
|||||||
@@ -92,6 +92,14 @@
|
|||||||
<text value=" "/>
|
<text value=" "/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
|
<component id="a77b0" class="javax.swing.JLabel" binding="adminLabel">
|
||||||
|
<constraints/>
|
||||||
|
<properties>
|
||||||
|
<font name="Times New Roman" size="16" style="2"/>
|
||||||
|
<foreground color="-16777216"/>
|
||||||
|
<text value="управление сервером "/>
|
||||||
|
</properties>
|
||||||
|
</component>
|
||||||
</children>
|
</children>
|
||||||
</toolbar>
|
</toolbar>
|
||||||
<grid id="3838e" binding="accountPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
<grid id="3838e" binding="accountPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
|||||||
private JTextField BugReportsCommentFilter;
|
private JTextField BugReportsCommentFilter;
|
||||||
public JSplitPane SC67;
|
public JSplitPane SC67;
|
||||||
private JPanel workspacesPanel;
|
private JPanel workspacesPanel;
|
||||||
|
private JLabel adminLabel;
|
||||||
private Viewer BugReportSettings;
|
private Viewer BugReportSettings;
|
||||||
public void LockMyOnly() {
|
public void LockMyOnly() {
|
||||||
if (!BugReportsMyOnlyFilter.isSelected()) {
|
if (!BugReportsMyOnlyFilter.isSelected()) {
|
||||||
@@ -271,6 +272,11 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
|||||||
BugReportInterface.filterOpenedOnly = BugReportsOpenedOnly.isSelected();
|
BugReportInterface.filterOpenedOnly = BugReportsOpenedOnly.isSelected();
|
||||||
ShowBugReports();
|
ShowBugReports();
|
||||||
});
|
});
|
||||||
|
//-
|
||||||
|
accountTools.addSeparator();
|
||||||
|
accountTools.add(Pass_2021.passes.get(PassCode_2021.StartComponentsServer).createButton());
|
||||||
|
accountTools.add(Pass_2021.passes.get(PassCode_2021.ShutdownComponentsServer).createButton());
|
||||||
|
accountTools.add(Pass_2021.passes.get(PassCode_2021.PublishComponentsServer).createButton());
|
||||||
}
|
}
|
||||||
//-------------------------------------------
|
//-------------------------------------------
|
||||||
DescriptionTabs descriptionTabs = new DescriptionTabs();
|
DescriptionTabs descriptionTabs = new DescriptionTabs();
|
||||||
@@ -375,10 +381,15 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
|||||||
Pass_2021.passes.get(PassCode_2021.InstallServerSapfor).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.InstallServerSapfor).setControlsVisible(false);
|
||||||
Pass_2021.passes.get(PassCode_2021.DeleteServerSapfor).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.DeleteServerSapfor).setControlsVisible(false);
|
||||||
//
|
//
|
||||||
|
Pass_2021.passes.get(PassCode_2021.ShutdownComponentsServer).setControlsVisible(false);
|
||||||
|
Pass_2021.passes.get(PassCode_2021.StartComponentsServer).setControlsVisible(false);
|
||||||
|
Pass_2021.passes.get(PassCode_2021.PublishComponentsServer).setControlsVisible(false);
|
||||||
|
//
|
||||||
Pass_2021.passes.get(PassCode_2021.ShutdownTestingServer).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.ShutdownTestingServer).setControlsVisible(false);
|
||||||
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(false);
|
||||||
Pass_2021.passes.get(PassCode_2021.PublishTestingServer).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.PublishTestingServer).setControlsVisible(false);
|
||||||
UI.testingBar.showServerAdminLabel(false);
|
UI.testingBar.showServerAdminLabel(false);
|
||||||
|
adminLabel.setVisible(false);
|
||||||
}
|
}
|
||||||
private void setDeveloperRights() {
|
private void setDeveloperRights() {
|
||||||
UnlockMyOnly();
|
UnlockMyOnly();
|
||||||
@@ -390,10 +401,15 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
|||||||
Pass_2021.passes.get(PassCode_2021.InstallServerSapfor).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.InstallServerSapfor).setControlsVisible(false);
|
||||||
Pass_2021.passes.get(PassCode_2021.DeleteServerSapfor).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.DeleteServerSapfor).setControlsVisible(false);
|
||||||
//
|
//
|
||||||
|
Pass_2021.passes.get(PassCode_2021.ShutdownComponentsServer).setControlsVisible(false);
|
||||||
|
Pass_2021.passes.get(PassCode_2021.StartComponentsServer).setControlsVisible(false);
|
||||||
|
Pass_2021.passes.get(PassCode_2021.PublishComponentsServer).setControlsVisible(false);
|
||||||
|
//
|
||||||
Pass_2021.passes.get(PassCode_2021.ShutdownTestingServer).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.ShutdownTestingServer).setControlsVisible(false);
|
||||||
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(false);
|
||||||
Pass_2021.passes.get(PassCode_2021.PublishTestingServer).setControlsVisible(false);
|
Pass_2021.passes.get(PassCode_2021.PublishTestingServer).setControlsVisible(false);
|
||||||
UI.testingBar.showServerAdminLabel(false);
|
UI.testingBar.showServerAdminLabel(false);
|
||||||
|
adminLabel.setVisible(false);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void setAdminRights() {
|
public void setAdminRights() {
|
||||||
@@ -405,11 +421,17 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
|
|||||||
Pass_2021.passes.get(PassCode_2021.DeleteSubscriberWorkspace).setControlsVisible(true);
|
Pass_2021.passes.get(PassCode_2021.DeleteSubscriberWorkspace).setControlsVisible(true);
|
||||||
Pass_2021.passes.get(PassCode_2021.InstallServerSapfor).setControlsVisible(true);
|
Pass_2021.passes.get(PassCode_2021.InstallServerSapfor).setControlsVisible(true);
|
||||||
Pass_2021.passes.get(PassCode_2021.DeleteServerSapfor).setControlsVisible(true);
|
Pass_2021.passes.get(PassCode_2021.DeleteServerSapfor).setControlsVisible(true);
|
||||||
|
//
|
||||||
|
Pass_2021.passes.get(PassCode_2021.ShutdownComponentsServer).setControlsVisible(true);
|
||||||
|
Pass_2021.passes.get(PassCode_2021.StartComponentsServer).setControlsVisible(true);
|
||||||
|
Pass_2021.passes.get(PassCode_2021.PublishComponentsServer).setControlsVisible(true);
|
||||||
//--
|
//--
|
||||||
Pass_2021.passes.get(PassCode_2021.ShutdownTestingServer).setControlsVisible(true);
|
Pass_2021.passes.get(PassCode_2021.ShutdownTestingServer).setControlsVisible(true);
|
||||||
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(true);
|
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(true);
|
||||||
Pass_2021.passes.get(PassCode_2021.PublishTestingServer).setControlsVisible(true);
|
Pass_2021.passes.get(PassCode_2021.PublishTestingServer).setControlsVisible(true);
|
||||||
|
//--
|
||||||
UI.testingBar.showServerAdminLabel(true);
|
UI.testingBar.showServerAdminLabel(true);
|
||||||
|
adminLabel.setVisible(true);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void ShowAccount() {
|
public void ShowAccount() {
|
||||||
|
|||||||
Reference in New Issue
Block a user