This commit is contained in:
2024-03-24 02:49:32 +03:00
parent 784bca869d
commit e83ecac005
9 changed files with 119 additions and 43 deletions

8
.idea/workspace.xml generated
View File

@@ -7,14 +7,14 @@
</component>
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PingTestingServer.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartTestingServer.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/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.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/StopTestingServer.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/PingTestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PingTestingServer.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/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/TestingServerSSHPass.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>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override
public void GetVersionInfo() {
version = 1083;
version = 1084;
String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime());

View File

@@ -15,6 +15,7 @@ public class TestingBar extends VisualiserMenuBar {
public JButton autorefreshButton;
JSpinner sCheckTime;
JSpinner sKernels;
JLabel serverAdminLabel;
public TestingBar() {
//-
KernelsLabel = addLabel("", "/icons/Kernels.png");
@@ -46,7 +47,6 @@ public class TestingBar extends VisualiserMenuBar {
setIcon(Utils.getIcon(Global.properties.EmailOnTestingProgress ? "/icons/Pick.png" : "/icons/NotPick.png"));
}
});
//--
add(autorefreshButton = new MenuBarButton() {
{
@@ -84,24 +84,13 @@ public class TestingBar extends VisualiserMenuBar {
}
});
addSeparator();
addLabel(" управление сервером ");
addPasses(PassCode_2021.ShutdownTestingServer);
serverAdminLabel = addLabel(" управление сервером ");
addPasses(PassCode_2021.StartTestingServer, PassCode_2021.ShutdownTestingServer);
}
public void ShowAutoCheckTesting() {
autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
}
/*
public void ShowMachine(){
MachineButton.setText(Current.getMachine().getURL());
public void showServerAdminLabel(boolean flag) {
serverAdminLabel.setVisible(flag);
}
public void ShowUser(){
UserButton.setText(Current.getUser().login);
}
public void ShowNoMachine(){
MachineButton.setText("?");
}
public void ShowNoUser(){
UserButton.setText("?");
}
*/
}

View File

@@ -2,11 +2,15 @@ package Visual_DVM_2021.Passes.All;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
import java.net.ConnectException;
public class PingTestingServer extends TestingSystemPass {
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
@@ -18,4 +22,16 @@ public class PingTestingServer extends TestingSystemPass {
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);
}
}

View File

@@ -7,15 +7,16 @@ public class ShutdownTestingServer extends TestingServerSSHPass {
return "/icons/Stop25.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
return passes.get(PassCode_2021.PingTestingServer).Do();
if (passes.get(PassCode_2021.PingTestingServer).Do(true)){
return true;
}else {
Log.Writeln_("Сервер уже неактивен!");
return false;
}
}
@Override
protected void ServerAction() throws Exception {
Shutdown();
ShutdownServer();
}
}

View File

@@ -0,0 +1,30 @@
package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Current;
import GlobalData.RemoteFile.RemoteFile;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.SSH.TestingServerSSHPass;
import java.util.Date;
public class StartTestingServer extends TestingServerSSHPass {
@Override
public String getIconPath() {
return "/icons/GreenStart.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (passes.get(PassCode_2021.PingTestingServer).Do(true)) {
Log.Writeln_("Сервер уже активен!");
return false;
}
return true;
}
@Override
protected void ServerAction() throws Exception {
StartServer();
}
@Override
protected boolean validate() {
return passes.get(PassCode_2021.PingTestingServer).Do();
}
}

View File

@@ -324,7 +324,8 @@ public enum PassCode_2021 {
CreateDVMPackageFromCurrentProject,
//--
PingTestingServer,
ShutdownTestingServer
ShutdownTestingServer,
StartTestingServer,
;
public String getDescription() {
switch (this) {
@@ -332,8 +333,10 @@ public enum PassCode_2021 {
return "?";
case PingTestingServer:
return "Проверить активность тестового сервера";
case StartTestingServer:
return "Запустить тестовый сервер";
case ShutdownTestingServer:
return "Остановить серверный компонент тестирования";
return "Остановить тестовый сервер";
case CreateDVMPackageFromCurrentProject:
return "Тестировать текущий проект";
case CompareSapforPackages:

View File

@@ -10,6 +10,11 @@ import GlobalData.User.User;
import java.util.Date;
public class TestingServerSSHPass extends ConnectionPass {
@Override
public String getButtonText() {
return "";
}
//--
protected RemoteFile userHome;
protected RemoteFile testingHome;
@Override
@@ -32,7 +37,27 @@ public class TestingServerSSHPass extends ConnectionPass {
System.out.println("testingHome=" + Utils.Brackets(testingHome.full_name));
}
//--
protected void Shutdown() throws Exception{
protected void StartServer() throws Exception {
user.connection.performScript(testingHome, "nohup java -jar TestingSystem.jar &");
RemoteFile StartLog = new RemoteFile(testingHome, Constants.STARTED +
"_by_" +
Current.getAccount().email +
"_" +
new Date().toString()
);
user.connection.writeToFile("+", StartLog);
//--
RemoteFile[] files = new RemoteFile[]{
new RemoteFile(testingHome, Constants.script),
new RemoteFile(testingHome, Constants.out_file),
new RemoteFile(testingHome, Constants.err_file)
};
//-
for (RemoteFile file : files) {
user.connection.tryRM(file);
}
}
protected void ShutdownServer() throws Exception {
//--
RemoteFile INTERRUPT = new RemoteFile(testingHome, Constants.INTERRUPT);
RemoteFile ABORTED = new RemoteFile(testingHome, Constants.ABORTED);

View File

@@ -374,6 +374,10 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
Pass_2021.passes.get(PassCode_2021.DeleteSubscriberWorkspace).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.ShutdownTestingServer).setControlsVisible(false);
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(false);
UI.testingBar.showServerAdminLabel(false);
}
private void setDeveloperRights() {
UnlockMyOnly();
@@ -384,6 +388,10 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
Pass_2021.passes.get(PassCode_2021.DeleteSubscriberWorkspace).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.ShutdownTestingServer).setControlsVisible(false);
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(false);
UI.testingBar.showServerAdminLabel(false);
}
@Override
public void setAdminRights() {
@@ -395,6 +403,10 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
Pass_2021.passes.get(PassCode_2021.DeleteSubscriberWorkspace).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.ShutdownTestingServer).setControlsVisible(true);
Pass_2021.passes.get(PassCode_2021.StartTestingServer).setControlsVisible(true);
UI.testingBar.showServerAdminLabel(true);
}
@Override
public void ShowAccount() {