no message

This commit is contained in:
2024-05-22 00:09:01 +03:00
parent e860e7968f
commit d6bad4d45e
6 changed files with 48 additions and 42 deletions

3
.idea/workspace.xml generated
View File

@@ -8,8 +8,11 @@
<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 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/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddUser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InitialiseUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InitialiseUser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TaskConnectionPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TaskConnectionPass.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TaskConnectionPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TaskConnectionPass.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />

View File

@@ -242,32 +242,12 @@ public class RemoteDVMTestingPlanner extends DVMTestingPlanner {
} }
@Override @Override
protected boolean CheckModules() throws Exception { protected boolean CheckModules() throws Exception {
RemoteFile modulesDirectory = new RemoteFile(user.workspace, "modules"); String log = user.connection.CheckModulesVersion();
RemoteFile version = new RemoteFile(modulesDirectory, "version.h"); if (!log.isEmpty()) {
int current_version = Constants.Nan; testingPackage.description = log;
int actual_version = Constants.planner_version;
if (user.connection.Exists(version)) {
try {
current_version = Integer.parseInt(user.connection.readFromFile(version));
} catch (Exception ex) {
ex.printStackTrace();
}
}
if (current_version < actual_version) {
Print("Закачка кода модулей...");
for (String resource_name : Constants.resourses_names) {
Print(resource_name);
user.connection.putResource(modulesDirectory, resource_name);
}
//--
Print("Сборка модулей...");
String modules_log = user.connection.compileModules(modulesDirectory);
if (!modules_log.isEmpty()) {
testingPackage.description = modules_log;
testingPackage.state = TasksPackageState.Aborted; testingPackage.state = TasksPackageState.Aborted;
return false; return false;
} }
}
return true; return true;
} }
} }

View File

@@ -1,6 +1,5 @@
package TestingSystem.DVM; package TestingSystem.DVM;
import Common.Constants; import Common.Constants;
import Common.Current;
import Common.Global; import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.Machine.Machine; import GlobalData.Machine.Machine;
@@ -491,7 +490,7 @@ public class UserConnection {
ShellDisconnect(); ShellDisconnect();
return readFromFile(outFile).replace("\n", "").replace("\r", ""); return readFromFile(outFile).replace("\n", "").replace("\r", "");
} }
//-- //-- проверка существования рабочего пространства.
public void CheckUserInitialization(String email) throws Exception { public void CheckUserInitialization(String email) throws Exception {
RemoteFile userWorkspace = new RemoteFile(user.workspace, true); RemoteFile userWorkspace = new RemoteFile(user.workspace, true);
if (!Exists(userWorkspace)) { if (!Exists(userWorkspace)) {
@@ -525,4 +524,29 @@ public class UserConnection {
user.connection.writeToFile("", info); user.connection.writeToFile("", info);
} }
} }
//--
public String CheckModulesVersion() throws Exception {
RemoteFile modulesDirectory = new RemoteFile(user.workspace, "modules");
RemoteFile version = new RemoteFile(modulesDirectory, "version.h");
int current_version = Constants.Nan;
int actual_version = Constants.planner_version;
if (Exists(version)) {
try {
current_version = Integer.parseInt(readFromFile(version));
} catch (Exception ex) {
ex.printStackTrace();
}
}
if (current_version < actual_version) {
System.out.println("Закачка кода модулей...");
for (String resource_name : Constants.resourses_names) {
System.out.println(resource_name);
putResource(modulesDirectory, resource_name);
}
//--
System.out.println("Сборка модулей...");
return compileModules(modulesDirectory);
}
return "";
}
} }

View File

@@ -7,6 +7,7 @@ import GlobalData.Machine.Machine;
import GlobalData.Machine.MachineType; import GlobalData.Machine.MachineType;
import GlobalData.User.User; import GlobalData.User.User;
import Visual_DVM_2021.Passes.AddObjectPass; import Visual_DVM_2021.Passes.AddObjectPass;
import Visual_DVM_2021.Passes.PassCode_2021;
public class AddUser extends AddObjectPass<User> { public class AddUser extends AddObjectPass<User> {
public AddUser() { public AddUser() {
super(User.class); super(User.class);
@@ -31,4 +32,9 @@ public class AddUser extends AddObjectPass<User> {
} }
return false; return false;
} }
@Override
protected void performDone() throws Exception {
super.performDone();
passes.get(PassCode_2021.InitialiseUser).Do();
}
} }

View File

@@ -47,8 +47,6 @@ public class InitialiseUser extends Pass_2021 {
} }
else { else {
//рега была. просто заносим то что там пользователю //рега была. просто заносим то что там пользователю
//todo дополнительно проверять существование папки этого пространства.
//даже с учетом БД. может быть вероятность что пространство кто то удалил.
Current.getUser().workspace = workspace.path; Current.getUser().workspace = workspace.path;
Current.getUser().state = UserState.ready_to_work; Current.getUser().state = UserState.ready_to_work;
Global.db.Update(Current.getUser()); Global.db.Update(Current.getUser());

View File

@@ -1,9 +1,8 @@
package Visual_DVM_2021.Passes.SSH; package Visual_DVM_2021.Passes.SSH;
import Common.Current; import Common.Current;
import Common.Global; import Common.Global;
import Common.Utils.Utils;
import GlobalData.RemoteFile.RemoteFile;
import GlobalData.Tasks.Supervisor.Remote.RemoteTaskSupervisor; import GlobalData.Tasks.Supervisor.Remote.RemoteTaskSupervisor;
import Visual_DVM_2021.Passes.PassException;
public abstract class TaskConnectionPass<S extends RemoteTaskSupervisor> extends ConnectionPass { public abstract class TaskConnectionPass<S extends RemoteTaskSupervisor> extends ConnectionPass {
public S supervisor; //инициализация идет в конструкторе потомка. public S supervisor; //инициализация идет в конструкторе потомка.
public TaskConnectionPass(Class<S> s_class) { public TaskConnectionPass(Class<S> s_class) {
@@ -24,14 +23,10 @@ public abstract class TaskConnectionPass<S extends RemoteTaskSupervisor> extends
super.Connect(); super.Connect();
user.connection.CheckUserInitialization(Current.getAccount().email); user.connection.CheckUserInitialization(Current.getAccount().email);
/* /*
RemoteFile userWorkspace = new RemoteFile(user.workspace, true); String log = user.connection.CheckModulesVersion();
if (!user.connection.Exists(userWorkspace)) if (!log.isEmpty()) {
throw new WorkspaceNotFoundException( throw new PassException("Сборка модулей не выполнена");
"Рабочее пространство пользователя " + Utils.Brackets(user.login) }
+ " на машине " + Utils.Brackets(machine.getURL())
+ "\n" + Utils.Brackets(user.workspace) + "\nне найдено.\n" +
"Требуется выполнить повторную инициализацию пользователя."
);
*/ */
} }
@Override @Override