Массовое определение размерности тестов
This commit is contained in:
2025-02-13 01:43:23 +03:00
parent 90b6f3648e
commit 016e51dbe5
9 changed files with 85 additions and 22 deletions

8
.idea/workspace.xml generated
View File

@@ -7,9 +7,15 @@
</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/_VisualDVM/Passes/All/DetectSelectedTestsMinMaDim.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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/RefreshDVMPackageResults.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/RefreshDVMPackageResults.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/RefreshDVMPackageResults.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/RefreshDVMPackageResults.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Utils.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Component/Visualiser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Test/UI/TestsForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Test/UI/TestsForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestingServer.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" />

View File

@@ -32,7 +32,7 @@
"EmptyLinesOn": false, "EmptyLinesOn": false,
"FortranWrapsOn": false, "FortranWrapsOn": false,
"ExtensionsOn": false, "ExtensionsOn": false,
"ComparsionDiffMergeOn": false, "ComparsionDiffMergeOn": true,
"ShowFullArraysDeclarations": false, "ShowFullArraysDeclarations": false,
"ShowFullTabsNames": true, "ShowFullTabsNames": true,
"SmallScreen": false, "SmallScreen": false,

View File

@@ -0,0 +1,25 @@
package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.TestingServerPass;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.TestingSystem.Common.Test.Test;
import java.util.Vector;
public class DetectSelectedTestsMinMaDim extends TestingServerPass<Vector<Object>> {
@Override
public String getIconPath() {
return "/icons/Arrays.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (!Global.testingServer.db.tests.getUI().CheckSelectedOrCurrent(Log))
return false;
target=Global.testingServer.db.tests.getUI().getSelectedOrCurrentKeys();
return SendRequest(ServerCode.DetectTestsMinMaxDim, "",target, 0);
}
@Override
protected void performDone() throws Exception {
Global.mainModule.getPass(PassCode.SynchronizeTests).Do();
}
}

View File

@@ -119,9 +119,4 @@ public class RefreshDVMPackageResults extends TestingServerPass<DVMPackage> {
); );
Global.mainModule.getPass(PassCode.SynchronizeTests).Do(); Global.mainModule.getPass(PassCode.SynchronizeTests).Do();
} }
@Override
protected void showFinish() throws Exception {
super.showFinish();
Global.testingServer.db.dvmPackages.getUI().SetCurrentByPK(target.id);
}
} }

View File

@@ -356,11 +356,13 @@ public enum PassCode implements PassCode_ {
ResumeDVMPackage, ResumeDVMPackage,
JoinSapforTestingVersionsToGroup, JoinSapforTestingVersionsToGroup,
RefreshDVMPackageResults, RefreshDVMPackageResults,
; DetectSelectedTestsMinMaDim;
//-- //--
@Override @Override
public String getDescription() { public String getDescription() {
switch (this) { switch (this) {
case DetectSelectedTestsMinMaDim:
return "Определить размерность тестов";
case RefreshDVMPackageResults: case RefreshDVMPackageResults:
return "Обновить результаты анализа пакета тестирования DVM"; return "Обновить результаты анализа пакета тестирования DVM";
case JoinSapforTestingVersionsToGroup: case JoinSapforTestingVersionsToGroup:

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 //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override @Override
public void GetVersionInfo() { public void GetVersionInfo() {
version = 1160; version = 1161;
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());

View File

@@ -92,9 +92,11 @@ public enum ServerCode {
GetMaxSapforVersion, GetMaxSapforVersion,
PerformAutoSapforTesting, PerformAutoSapforTesting,
JoinSapforVersionsToGroup, JoinSapforVersionsToGroup,
TestCode, ReplaceDVMPackageResults; TestCode, ReplaceDVMPackageResults, DetectTestsMinMaxDim;
public String getDescription(){ public String getDescription(){
switch (this){ switch (this){
case DetectTestsMinMaxDim:
return "Определить размерность тестов на сервере";
case ReplaceDVMPackageResults: case ReplaceDVMPackageResults:
return "Заменить json DVM пакета"; return "Заменить json DVM пакета";
case JoinSapforVersionsToGroup: case JoinSapforVersionsToGroup:

View File

@@ -55,7 +55,7 @@ public class TestsForm extends DataSetControlForm<Test> {
return new DataMenuBar(dataSource.getPluralDescription()) { return new DataMenuBar(dataSource.getPluralDescription()) {
{ {
addMenus(new AddTestMenu(), new EditTestMenu()); addMenus(new AddTestMenu(), new EditTestMenu());
addPasses(PassCode.DownloadTest, PassCode.DeleteTest); addPasses(PassCode.DetectSelectedTestsMinMaDim,PassCode.DownloadTest, PassCode.DeleteTest);
} }
}; };
} }

View File

@@ -381,6 +381,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Print("Заменить json DVM пакета"); Print("Заменить json DVM пакета");
ReplaceDVMPackageJson(); ReplaceDVMPackageJson();
break; break;
case DetectTestsMinMaxDim:
Print("Определить размерность тестов");
DetectTestsMinMaxDim();
break;
default: default:
throw new RepositoryRefuseException("Неподдерживаемый код: " + code); throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
} }
@@ -859,8 +863,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
); );
File visualiser_data = new File(test.getServerPath(), Constants.data); File visualiser_data = new File(test.getServerPath(), Constants.data);
FileUtils.forceDelete(visualiser_data); FileUtils.forceDelete(visualiser_data);
} } catch (Exception ex) {
catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();
} }
} }
@@ -880,5 +883,35 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
db.Update(dst); db.Update(dst);
Utils_.bytesToFile(packed_file, dst.getJsonFile()); Utils_.bytesToFile(packed_file, dst.getJsonFile());
} }
private void DetectTestsMinMaxDim() throws Exception {
response = new ServerExchangeUnit_2021(ServerCode.OK);
Vector<Object> keys = (Vector<Object>) request.object;
for (Object key : keys) {
if (!db.tests.containsKey(key))
throw new RepositoryRefuseException("не существует пакета с ключом " + key);
}
//определение размерности тестов
ServerSapfor serverSapfor = db.serverSapfors.getLastDoneVersion();
if (serverSapfor != null) {
File sapfor_copy = Sapfor.getTempCopy(new File(serverSapfor.call_command));
for (Object key : keys) {
Test test = db.tests.get(key);
Group group = db.groups.get(test.group_id);
if (group.language.equals(LanguageName.fortran)) {
try {
Sapfor.getMinMaxDim(sapfor_copy, test.getServerPath(), test);
db.Update(test);
Utils.deleteFilesByExtensions(test.getServerPath(),
"proj", "dep", "jar"
);
File visualiser_data = new File(test.getServerPath(), Constants.data);
FileUtils.forceDelete(visualiser_data);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
}
} }