v++
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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");
|
||||
@@ -24,7 +25,7 @@ public class TestingBar extends VisualiserMenuBar {
|
||||
sKernels.setPreferredSize(new Dimension(60, 26));
|
||||
sKernels.setMaximumSize(new Dimension(60, 26));
|
||||
sKernels.setModel(new SpinnerNumberModel(Global.properties.TestingKernels, 1,
|
||||
Utils.getTestingMaxKernels(),
|
||||
Utils.getTestingMaxKernels(),
|
||||
1));
|
||||
sKernels.setValue(Global.properties.TestingKernels);
|
||||
UI.MakeSpinnerRapid(sKernels, e -> {
|
||||
@@ -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("?");
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -2,20 +2,36 @@ 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;
|
||||
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;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
30
src/Visual_DVM_2021/Passes/All/StartTestingServer.java
Normal file
30
src/Visual_DVM_2021/Passes/All/StartTestingServer.java
Normal 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();
|
||||
}
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
@@ -18,23 +23,43 @@ public class TestingServerSSHPass extends ConnectionPass {
|
||||
}
|
||||
@Override
|
||||
public void Connect() throws Exception {
|
||||
userHome =null;
|
||||
testingHome =null;
|
||||
userHome = null;
|
||||
testingHome = null;
|
||||
//--
|
||||
machine = new Machine("alex", Global.properties.ServerAddress,Global.properties.ServerUserSHHPort,MachineType.Server);
|
||||
machine = new Machine("alex", Global.properties.ServerAddress, Global.properties.ServerUserSHHPort, MachineType.Server);
|
||||
user = new User(Global.properties.ServerUserName, "mprit_2011");
|
||||
super.Connect();
|
||||
//--
|
||||
userHome = new RemoteFile(user.connection.sftpChannel.getHome(), true);
|
||||
testingHome = new RemoteFile(userHome, Constants.testingSystemHomeName);
|
||||
//-
|
||||
System.out.println("userHome="+ Utils.Brackets(userHome.full_name));
|
||||
System.out.println("testingHome="+Utils.Brackets(testingHome.full_name));
|
||||
System.out.println("userHome=" + Utils.Brackets(userHome.full_name));
|
||||
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 INTERRUPT = new RemoteFile(testingHome, Constants.INTERRUPT);
|
||||
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);
|
||||
//--
|
||||
ShowMessage1("Создание файла INTERRUPT..");
|
||||
@@ -47,10 +72,10 @@ public class TestingServerSSHPass extends ConnectionPass {
|
||||
//--
|
||||
ShowMessage2("");
|
||||
ShowMessage1("Журнализация");
|
||||
RemoteFile AbortLog = new RemoteFile(testingHome, Constants.ABORTED+
|
||||
"_by_"+
|
||||
Current.getAccount().email+
|
||||
"_"+
|
||||
RemoteFile AbortLog = new RemoteFile(testingHome, Constants.ABORTED +
|
||||
"_by_" +
|
||||
Current.getAccount().email +
|
||||
"_" +
|
||||
new Date().toString()
|
||||
);
|
||||
user.connection.sftpChannel.rename(ABORTED.full_name, AbortLog.full_name);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user