v++
Массовое определение размерности тестов
This commit is contained in:
25
src/_VisualDVM/Passes/All/DetectSelectedTestsMinMaDim.java
Normal file
25
src/_VisualDVM/Passes/All/DetectSelectedTestsMinMaDim.java
Normal 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();
|
||||
}
|
||||
}
|
||||
@@ -119,9 +119,4 @@ public class RefreshDVMPackageResults extends TestingServerPass<DVMPackage> {
|
||||
);
|
||||
Global.mainModule.getPass(PassCode.SynchronizeTests).Do();
|
||||
}
|
||||
@Override
|
||||
protected void showFinish() throws Exception {
|
||||
super.showFinish();
|
||||
Global.testingServer.db.dvmPackages.getUI().SetCurrentByPK(target.id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,11 +356,13 @@ public enum PassCode implements PassCode_ {
|
||||
ResumeDVMPackage,
|
||||
JoinSapforTestingVersionsToGroup,
|
||||
RefreshDVMPackageResults,
|
||||
;
|
||||
DetectSelectedTestsMinMaDim;
|
||||
//--
|
||||
@Override
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case DetectSelectedTestsMinMaDim:
|
||||
return "Определить размерность тестов";
|
||||
case RefreshDVMPackageResults:
|
||||
return "Обновить результаты анализа пакета тестирования DVM";
|
||||
case JoinSapforTestingVersionsToGroup:
|
||||
|
||||
@@ -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 = 1160;
|
||||
version = 1161;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -92,9 +92,11 @@ public enum ServerCode {
|
||||
GetMaxSapforVersion,
|
||||
PerformAutoSapforTesting,
|
||||
JoinSapforVersionsToGroup,
|
||||
TestCode, ReplaceDVMPackageResults;
|
||||
TestCode, ReplaceDVMPackageResults, DetectTestsMinMaxDim;
|
||||
public String getDescription(){
|
||||
switch (this){
|
||||
case DetectTestsMinMaxDim:
|
||||
return "Определить размерность тестов на сервере";
|
||||
case ReplaceDVMPackageResults:
|
||||
return "Заменить json DVM пакета";
|
||||
case JoinSapforVersionsToGroup:
|
||||
|
||||
@@ -55,7 +55,7 @@ public class TestsForm extends DataSetControlForm<Test> {
|
||||
return new DataMenuBar(dataSource.getPluralDescription()) {
|
||||
{
|
||||
addMenus(new AddTestMenu(), new EditTestMenu());
|
||||
addPasses(PassCode.DownloadTest, PassCode.DeleteTest);
|
||||
addPasses(PassCode.DetectSelectedTestsMinMaDim,PassCode.DownloadTest, PassCode.DeleteTest);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -381,6 +381,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
Print("Заменить json DVM пакета");
|
||||
ReplaceDVMPackageJson();
|
||||
break;
|
||||
case DetectTestsMinMaxDim:
|
||||
Print("Определить размерность тестов");
|
||||
DetectTestsMinMaxDim();
|
||||
break;
|
||||
default:
|
||||
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
||||
}
|
||||
@@ -805,7 +809,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
task.test_description,
|
||||
versionProject.getName()
|
||||
);
|
||||
versions.put(String.join("_", name_parts),versionProject);
|
||||
versions.put(String.join("_", name_parts), versionProject);
|
||||
paths.add(versionProject.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
@@ -814,11 +818,11 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
Vector<Test> tests = new Vector<>();
|
||||
for (String description : versions.keySet()) {
|
||||
File src = versions.get(description);
|
||||
File [] files = src.listFiles(pathname -> !pathname.isDirectory());
|
||||
if (files!=null && files.length>0){
|
||||
File[] files = src.listFiles(pathname -> !pathname.isDirectory());
|
||||
if (files != null && files.length > 0) {
|
||||
//--
|
||||
Vector<String> filesNames = new Vector<>();
|
||||
for (File file: files)
|
||||
for (File file : files)
|
||||
filesNames.add(file.getName());
|
||||
//--
|
||||
Test test = new Test();
|
||||
@@ -848,9 +852,9 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
}
|
||||
//определение размерности тестов
|
||||
ServerSapfor serverSapfor = db.serverSapfors.getLastDoneVersion();
|
||||
if (serverSapfor!=null){
|
||||
if (serverSapfor != null) {
|
||||
File sapfor_copy = Sapfor.getTempCopy(new File(serverSapfor.call_command));
|
||||
for (Test test: tests){
|
||||
for (Test test : tests) {
|
||||
try {
|
||||
Sapfor.getMinMaxDim(sapfor_copy, test.getServerPath(), test);
|
||||
db.Update(test);
|
||||
@@ -859,26 +863,55 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
);
|
||||
File visualiser_data = new File(test.getServerPath(), Constants.data);
|
||||
FileUtils.forceDelete(visualiser_data);
|
||||
}
|
||||
catch (Exception ex){
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
//-"sh"
|
||||
}
|
||||
private void ReplaceDVMPackageJson() throws Exception{
|
||||
response= new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
private void ReplaceDVMPackageJson() throws Exception {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
Pair<DVMPackage, byte[]> p = (Pair<DVMPackage, byte[]>) request.object;
|
||||
DVMPackage src = p.getKey();
|
||||
byte[] packed_file = p.getValue();
|
||||
//todo написать стандартное исключение на несуществование объекта с ключом
|
||||
if (!db.dvmPackages.containsKey(src.id))
|
||||
throw new RepositoryRefuseException("не существует пакета с ключом "+src.id);
|
||||
throw new RepositoryRefuseException("не существует пакета с ключом " + src.id);
|
||||
DVMPackage dst = db.dvmPackages.get(src.id);
|
||||
dst.SynchronizeFields(src);
|
||||
db.Update(dst);
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user