v++
This commit is contained in:
18
.idea/workspace.xml
generated
18
.idea/workspace.xml
generated
@@ -7,17 +7,17 @@
|
|||||||
</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/ActualizeServerSapfors.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/UI/StatusEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/StatusEnum.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/UI/Tables/StatusEnumRenderer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Tables/StatusEnumRenderer.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/GlobalData/Tasks/TaskState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GlobalData/Tasks/TaskState.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/GlobalData/User/UserState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GlobalData/User/UserState.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Repository/BugReport/BugReportState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/BugReport/BugReportState.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Repository/Component/ComponentState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/ComponentState.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTask/ComparisonState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTask/ComparisonState.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforState.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforState.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforsDBTable.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ActualizePackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ActualizePackages.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneSapforPackage.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" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
"Mode": "Normal",
|
"Mode": "Normal",
|
||||||
"ServerAddress": "alex-freenas.ddns.net",
|
"ServerAddress": "alex-freenas.ddns.net",
|
||||||
"ServerUserName": "testuser",
|
"ServerUserName": "testuser",
|
||||||
"ServerUserSHHPort": 23,
|
"ServerUserSHHPort": 2000,
|
||||||
"ComponentsServerPort": 7995,
|
"ComponentsServerPort": 7995,
|
||||||
"TestingServerPort": 7996,
|
"TestingServerPort": 7998,
|
||||||
"SocketTimeout": 5000,
|
"SocketTimeout": 5000,
|
||||||
"OldServer": false,
|
"OldServer": false,
|
||||||
"SMTPHost": "smtp.mail.ru",
|
"SMTPHost": "smtp.mail.ru",
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"PerformanceAnalyzerPath": "",
|
"PerformanceAnalyzerPath": "",
|
||||||
"ComponentsBackUpsCount": 10,
|
"ComponentsBackUpsCount": 10,
|
||||||
"TestingKernels": 28,
|
"TestingKernels": 28,
|
||||||
"AutoCheckTesting": false,
|
"AutoCheckTesting": true,
|
||||||
"CheckTestingIntervalSeconds": 10,
|
"CheckTestingIntervalSeconds": 10,
|
||||||
"EmailOnTestingProgress": false,
|
"EmailOnTestingProgress": false,
|
||||||
"eraseTestingWorkspaces": true
|
"eraseTestingWorkspaces": true
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
|||||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||||
@Override
|
@Override
|
||||||
public void GetVersionInfo() {
|
public void GetVersionInfo() {
|
||||||
version = 1098;
|
version = 1099;
|
||||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||||
date_text = df.format(getClassBuildTime());
|
date_text = df.format(getClassBuildTime());
|
||||||
|
|||||||
@@ -300,4 +300,12 @@ public class TestsDatabase extends SQLiteDatabase {
|
|||||||
}
|
}
|
||||||
return max_version;
|
return max_version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasActiveSapfors(){
|
||||||
|
for (ServerSapfor serverSapfor: serverSapfors.Data.values()){
|
||||||
|
if (serverSapfor.state.isActive())
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ import Common.GlobalProperties;
|
|||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import ProjectData.LanguageName;
|
import ProjectData.LanguageName;
|
||||||
import Repository.Component.Sapfor.Sapfor;
|
import Repository.Component.Sapfor.Sapfor;
|
||||||
|
import Repository.EmailMessage;
|
||||||
import Repository.RepositoryRefuseException;
|
import Repository.RepositoryRefuseException;
|
||||||
import Repository.Server.ServerCode;
|
import Repository.Server.ServerCode;
|
||||||
|
import Repository.Server.ServerExchangeUnit_2021;
|
||||||
import TestingSystem.Common.TasksPackageState;
|
import TestingSystem.Common.TasksPackageState;
|
||||||
import TestingSystem.Common.TestingPackageToKill.TestingPackageToKill;
|
import TestingSystem.Common.TestingPackageToKill.TestingPackageToKill;
|
||||||
import TestingSystem.Common.TestingPlanner;
|
import TestingSystem.Common.TestingPlanner;
|
||||||
@@ -23,8 +25,10 @@ import org.apache.commons.io.FileUtils;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Vector;
|
||||||
public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
||||||
File workspace;
|
File workspace;
|
||||||
ServerSapfor sapfor;
|
ServerSapfor sapfor;
|
||||||
@@ -179,6 +183,9 @@ public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
|||||||
void UpdateSapforState(ServerSapforState state_in) throws Exception {
|
void UpdateSapforState(ServerSapforState state_in) throws Exception {
|
||||||
sapfor.state = state_in;
|
sapfor.state = state_in;
|
||||||
ServerCommand(ServerCode.EditObject, sapfor);
|
ServerCommand(ServerCode.EditObject, sapfor);
|
||||||
|
if (!sapfor.state.isActive()){
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void SyncronizeRepository() throws Exception {
|
void SyncronizeRepository() throws Exception {
|
||||||
System.out.println("Синхронизация репозитория...");
|
System.out.println("Синхронизация репозитория...");
|
||||||
@@ -258,9 +265,24 @@ public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
|||||||
sapfor.buildDate = new Date().getTime();
|
sapfor.buildDate = new Date().getTime();
|
||||||
//--
|
//--
|
||||||
UpdateSapforState(ServerSapforState.Done);
|
UpdateSapforState(ServerSapforState.Done);
|
||||||
|
EmailSapforAssembly(current_version, true, sapforOut, sapforErr);
|
||||||
} else {
|
} else {
|
||||||
UpdateSapforState(ServerSapforState.DoneWithErrors);
|
UpdateSapforState(ServerSapforState.DoneWithErrors);
|
||||||
|
EmailSapforAssembly(current_version, false, sapforOut, sapforErr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void EmailSapforAssembly(int version, boolean done, File out, File err) throws Exception {
|
||||||
|
String version_s = (version == Constants.Nan) ? "?" : String.valueOf(version);
|
||||||
|
String status = done ? "Успешно" : "С ошибками";
|
||||||
|
//-
|
||||||
|
Vector<String> targets = new Vector<>(Arrays.asList(Global.admins_mails));
|
||||||
|
EmailMessage message = new EmailMessage(
|
||||||
|
"Выполнена сборка системы SAPFOR",
|
||||||
|
"Версия: " + version_s + "\n" + "Статус: " + status,
|
||||||
|
targets
|
||||||
|
);
|
||||||
|
//-
|
||||||
|
ServerCommand(ServerCode.Email, "", message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,5 +43,14 @@ public enum ServerSapforState implements StatusEnum {
|
|||||||
return StatusEnum.super.getDescription();
|
return StatusEnum.super.getDescription();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public boolean isActive(){
|
||||||
|
switch (this){
|
||||||
|
case Done:
|
||||||
|
case DoneWithErrors:
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,5 +10,6 @@ public class ActualizePackages extends Pass_2021 {
|
|||||||
protected void body() throws Exception {
|
protected void body() throws Exception {
|
||||||
passes.get(PassCode_2021.ActualizeDVMPackages).Do();
|
passes.get(PassCode_2021.ActualizeDVMPackages).Do();
|
||||||
passes.get(PassCode_2021.ActualizeSapforPackages).Do();
|
passes.get(PassCode_2021.ActualizeSapforPackages).Do();
|
||||||
|
passes.get(PassCode_2021.ActualizeServerSapfors).Do();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
src/Visual_DVM_2021/Passes/All/ActualizeServerSapfors.java
Normal file
16
src/Visual_DVM_2021/Passes/All/ActualizeServerSapfors.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Common.Global;
|
||||||
|
import Common.UI.UI;
|
||||||
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
|
import Visual_DVM_2021.Passes.Pass_2021;
|
||||||
|
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||||
|
public class ActualizeServerSapfors extends Pass_2021 {
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
return Global.testingServer.db.hasActiveSapfors();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void body() throws Exception {
|
||||||
|
passes.get(PassCode_2021.SynchronizeTests).Do();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import Common.Global;
|
|||||||
import TestingSystem.Common.TasksPackageState;
|
import TestingSystem.Common.TasksPackageState;
|
||||||
import TestingSystem.SAPFOR.Json.SapforPackage_json;
|
import TestingSystem.SAPFOR.Json.SapforPackage_json;
|
||||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||||
|
import TestingSystem.SAPFOR.ServerSapfor.ServerSapforState;
|
||||||
import Visual_DVM_2021.Passes.AddObjectPass;
|
import Visual_DVM_2021.Passes.AddObjectPass;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -29,37 +30,44 @@ public class AddSapforPackage extends AddObjectPass<SapforPackage> {
|
|||||||
if (!Current.getAccount().CheckRegistered(Log)) {
|
if (!Current.getAccount().CheckRegistered(Log)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (Current.Check(Log, Current.ServerSapfor)) {
|
if (!Current.Check(Log, Current.ServerSapfor))
|
||||||
for (SapforPackage sapforPackage : Global.testingServer.db.sapforPackages.Data.values()) {
|
return false;
|
||||||
if (sapforPackage.state.equals(TasksPackageState.Draft)) {
|
if (!Current.getServerSapfor().state.equals(ServerSapforState.Done)) {
|
||||||
Log.Writeln_("Может существовать только один пакет, готовящийся к публикации.");
|
Log.Writeln_("Выбранная версия SAPFOR не собрана!");
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
target = new SapforPackage();
|
|
||||||
target.id = Constants.Nan;
|
|
||||||
target.state = TasksPackageState.Draft;
|
|
||||||
//-
|
|
||||||
target.sender_name = Current.getAccount().name;
|
|
||||||
target.sender_address = Current.getAccount().email;
|
|
||||||
//-
|
|
||||||
target.drv = Current.getServerSapfor().call_command;
|
|
||||||
target.version = Current.getServerSapfor().version;
|
|
||||||
target.kernels = Global.properties.TestingKernels;
|
|
||||||
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
|
||||||
//--
|
|
||||||
target.sapforId = Current.getServerSapfor().id;
|
|
||||||
//
|
|
||||||
SapforPackage_json package_json = new SapforPackage_json();
|
|
||||||
target.package_json = package_json;
|
|
||||||
///-------------------------------
|
|
||||||
package_json.kernels = target.kernels;
|
|
||||||
package_json.sapfor_drv = Current.getServerSapfor().call_command;
|
|
||||||
///-------------------------------
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return false;
|
if (!Current.getServerSapfor().state.equals(ServerSapforState.Done)) {
|
||||||
|
Log.Writeln_("Выбранная версия SAPFOR не собрана!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (SapforPackage sapforPackage : Global.testingServer.db.sapforPackages.Data.values()) {
|
||||||
|
if (sapforPackage.state.equals(TasksPackageState.Draft)) {
|
||||||
|
Log.Writeln_("Может существовать только один пакет, готовящийся к публикации.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//--
|
||||||
|
target = new SapforPackage();
|
||||||
|
target.id = Constants.Nan;
|
||||||
|
target.state = TasksPackageState.Draft;
|
||||||
|
//-
|
||||||
|
target.sender_name = Current.getAccount().name;
|
||||||
|
target.sender_address = Current.getAccount().email;
|
||||||
|
//-
|
||||||
|
target.drv = Current.getServerSapfor().call_command;
|
||||||
|
target.version = Current.getServerSapfor().version;
|
||||||
|
target.kernels = Global.properties.TestingKernels;
|
||||||
|
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
||||||
|
//--
|
||||||
|
target.sapforId = Current.getServerSapfor().id;
|
||||||
|
//
|
||||||
|
SapforPackage_json package_json = new SapforPackage_json();
|
||||||
|
target.package_json = package_json;
|
||||||
|
///-------------------------------
|
||||||
|
package_json.kernels = target.kernels;
|
||||||
|
package_json.sapfor_drv = Current.getServerSapfor().call_command;
|
||||||
|
///-------------------------------
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void body() throws Exception {
|
protected void body() throws Exception {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import TestingSystem.SAPFOR.Json.SapforTestingSet_json;
|
|||||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||||
|
import TestingSystem.SAPFOR.ServerSapfor.ServerSapforState;
|
||||||
import Visual_DVM_2021.Passes.AddObjectPass;
|
import Visual_DVM_2021.Passes.AddObjectPass;
|
||||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||||
|
|
||||||
@@ -84,6 +85,10 @@ public class CloneSapforPackage extends AddObjectPass<SapforPackage> {
|
|||||||
//--
|
//--
|
||||||
if (!Current.Check(Log, Current.ServerSapfor))
|
if (!Current.Check(Log, Current.ServerSapfor))
|
||||||
return false;
|
return false;
|
||||||
|
if (!Current.getServerSapfor().state.equals(ServerSapforState.Done)) {
|
||||||
|
Log.Writeln_("Выбранная версия SAPFOR не собрана!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
//--
|
//--
|
||||||
srcPackages = Global.testingServer.db.sapforPackages.getCheckedOrCurrent();
|
srcPackages = Global.testingServer.db.sapforPackages.getCheckedOrCurrent();
|
||||||
if (srcPackages.isEmpty()) {
|
if (srcPackages.isEmpty()) {
|
||||||
|
|||||||
@@ -335,12 +335,15 @@ public enum PassCode_2021 {
|
|||||||
//---
|
//---
|
||||||
SPF_InsertImplicitNone,
|
SPF_InsertImplicitNone,
|
||||||
CompileServerSapfor,
|
CompileServerSapfor,
|
||||||
|
ActualizeServerSapfors,
|
||||||
;
|
;
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case Undefined:
|
case Undefined:
|
||||||
return "?";
|
return "?";
|
||||||
//--
|
//--
|
||||||
|
case ActualizeServerSapfors:
|
||||||
|
return "Проверить собираемые версии SAPFOR";
|
||||||
case CompileServerSapfor:
|
case CompileServerSapfor:
|
||||||
return "Собрать версию Sapfor";
|
return "Собрать версию Sapfor";
|
||||||
case PublishComponentsServer:
|
case PublishComponentsServer:
|
||||||
|
|||||||
Reference in New Issue
Block a user