no message
This commit is contained in:
@@ -31,6 +31,7 @@ public class TransformationsMenu extends VisualiserMenu {
|
||||
Sapfor.getPreparationTransformationsCodes()
|
||||
)
|
||||
);
|
||||
addSeparator();
|
||||
add(Pass_2021.passes.get(PassCode_2021.SPF_SharedMemoryParallelization).createMenuItem());
|
||||
}
|
||||
}
|
||||
@@ -37,6 +37,7 @@ import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.PassException;
|
||||
import com.mxgraph.swing.mxGraphComponent;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
import javafx.util.Pair;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
@@ -1012,69 +1013,68 @@ public class db_project_info extends DBObject {
|
||||
for (db_project_info version : versions.values())
|
||||
version.cleanDepAndGCOVR();
|
||||
}
|
||||
public void migrateFilesSettings(db_project_info target, boolean migrate_arrays, boolean migrate_headers, boolean sapforStyle) throws Exception {
|
||||
LinkedHashMap<String, DBProjectFile> programs = new LinkedHashMap<>();
|
||||
LinkedHashMap<String, DBProjectFile> headers = new LinkedHashMap<>();
|
||||
LinkedHashMap<String, DBProjectFile> other = new LinkedHashMap<>();
|
||||
//---
|
||||
public Pair<LinkedHashMap<String, DBProjectFile>, LinkedHashMap<String, DBProjectFile>> sortFiles() {
|
||||
LinkedHashMap<String, DBProjectFile> active_programs = new LinkedHashMap<>();
|
||||
LinkedHashMap<String, DBProjectFile> others = new LinkedHashMap<>();
|
||||
//---
|
||||
for (DBProjectFile file : db.files.Data.values()) {
|
||||
if (!file.isMakefile())
|
||||
switch (file.fileType) {
|
||||
case program:
|
||||
programs.put(file.name, file);
|
||||
break;
|
||||
case header:
|
||||
headers.put(file.name, file);
|
||||
if (migrate_headers) {
|
||||
File toCopy = Paths.get(target.Home.getAbsolutePath(), file.name).toFile();
|
||||
if (!toCopy.exists())
|
||||
Files.copy(file.file.toPath(), toCopy.toPath());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
other.put(file.name, file);
|
||||
//теперь надо проверить а перешел ли файл в версию. если нет. надо скопировать. и добавить в местную бд.
|
||||
File toCopy = Paths.get(target.Home.getAbsolutePath(), file.name).toFile();
|
||||
if (!toCopy.exists())
|
||||
Files.copy(file.file.toPath(), toCopy.toPath());
|
||||
break;
|
||||
}
|
||||
if (file.isActiveProgram())
|
||||
active_programs.put(file.name, file);
|
||||
else
|
||||
others.put(file.name, file);
|
||||
}
|
||||
//---
|
||||
return new Pair<>(active_programs, others);
|
||||
}
|
||||
public DBProjectFile getFileByNameIgnoreCase(String name_in) {
|
||||
for (DBProjectFile file : db.files.Data.values()) {
|
||||
if (file.name.equalsIgnoreCase(name_in)) {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public void migrateFilesSettings(db_project_info target, boolean migrate_arrays, boolean migrate_headers, boolean sapforStyle) throws Exception {
|
||||
Pair<LinkedHashMap<String, DBProjectFile>, LinkedHashMap<String, DBProjectFile>> sortedFiles = sortFiles();
|
||||
//--
|
||||
LinkedHashMap<String, DBProjectFile> programs = sortedFiles.getKey();
|
||||
LinkedHashMap<String, DBProjectFile> files = sortedFiles.getValue();
|
||||
//--
|
||||
target.Open();
|
||||
//-
|
||||
target.db.BeginTransaction();
|
||||
for (DBProjectFile header : headers.values()) {
|
||||
for (DBProjectFile versionFile : target.db.files.Data.values()) {
|
||||
if (header.name.equalsIgnoreCase(versionFile.name)) {
|
||||
versionFile.importSettings(header, sapforStyle);
|
||||
target.db.Update(versionFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
// прочее. ищем полное совпадение по именам в версии.
|
||||
for (DBProjectFile stuffFile : other.values()) {
|
||||
for (DBProjectFile versionFile : target.db.files.Data.values()) {
|
||||
if (stuffFile.name.equalsIgnoreCase(versionFile.name)) {
|
||||
versionFile.importSettings(stuffFile, sapforStyle);
|
||||
target.db.Update(versionFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
//программы. совпадение по именам и типу.
|
||||
Pair<LinkedHashMap<String, DBProjectFile>, LinkedHashMap<String, DBProjectFile>> sortedVersionFiles = target.sortFiles();
|
||||
LinkedHashMap<String, DBProjectFile> version_programs = sortedVersionFiles.getKey();
|
||||
//--
|
||||
for (DBProjectFile program : programs.values()) {
|
||||
for (DBProjectFile versionFile : target.db.files.Data.values()) {
|
||||
if (versionFile.fileType.equals(FileType.program)) {
|
||||
boolean same_names = program.getProjectNameWithoutExtension().equals(versionFile.getProjectNameWithoutExtension());
|
||||
boolean same_extensions = Utils.getExtension(program.file).equals(Utils.getExtension(versionFile.file));
|
||||
if (same_names) {
|
||||
if (same_extensions) versionFile.importSettings(program, sapforStyle);
|
||||
else
|
||||
versionFile.importSourceCodeSettings(program, sapforStyle);
|
||||
target.db.Update(versionFile);
|
||||
}
|
||||
for (DBProjectFile version_program : version_programs.values()) {
|
||||
boolean same_names = program.getProjectNameWithoutExtension().equals(version_program.getProjectNameWithoutExtension());
|
||||
if (same_names) {
|
||||
version_program.importSettings(program, sapforStyle);
|
||||
target.db.Update(version_program);
|
||||
}
|
||||
}
|
||||
}
|
||||
//миграция языка----------
|
||||
for (DBProjectFile file : files.values()) {
|
||||
DBProjectFile version_file = target.getFileByNameIgnoreCase(file.name);
|
||||
if (version_file != null) {
|
||||
version_file.importSettings(file, sapforStyle);
|
||||
target.db.Update(version_file);
|
||||
} else {
|
||||
if (//!file.state.equals(FileState.Excluded)&&
|
||||
(!file.fileType.equals(FileType.header) || migrate_headers)) {
|
||||
|
||||
File toCopy = Paths.get(target.Home.getAbsolutePath(), file.name).toFile();
|
||||
if (!toCopy.exists())
|
||||
Files.copy(file.file.toPath(), toCopy.toPath());
|
||||
//--
|
||||
DBProjectFile new_version_file = new DBProjectFile(toCopy, target);
|
||||
new_version_file.importSettings(file, sapforStyle);
|
||||
target.db.Insert(new_version_file);
|
||||
}
|
||||
}
|
||||
}
|
||||
//---
|
||||
target.languageName = this.languageName;
|
||||
target.maxdim = this.maxdim;
|
||||
target.db.Update(target);
|
||||
@@ -1084,8 +1084,8 @@ public class db_project_info extends DBObject {
|
||||
for (DBArray a : db.savedArrays.Data.values())
|
||||
target.db.Insert(a);
|
||||
}
|
||||
//---
|
||||
target.db.Commit();
|
||||
//-
|
||||
target.Close();
|
||||
}
|
||||
public void undoLastTransformation() throws Exception {
|
||||
|
||||
@@ -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 = 1031;
|
||||
version = 1032;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -59,7 +59,6 @@ public class CreateTestsGroupFromSelectedVersions extends Pass_2021<Vector<db_pr
|
||||
}
|
||||
return UI.Question("В текущую группу " + Utils.Brackets(Current.getGroup().description) +
|
||||
"\nбудет добавлено " + target.size() + " тестов.\n" + cp_info +
|
||||
"\nТекущий проект будет закрыт." +
|
||||
"\nПродолжить");
|
||||
}
|
||||
@Override
|
||||
|
||||
@@ -10,6 +10,7 @@ import GlobalData.DBLastProject.DBLastProject;
|
||||
import GlobalData.Settings.SettingName;
|
||||
import ProjectData.Files.LanguageStyle;
|
||||
import ProjectData.Project.db_project_info;
|
||||
import ProjectData.ProjectView;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Pass_2021;
|
||||
|
||||
@@ -107,6 +108,7 @@ public class OpenCurrentProject extends Pass_2021<db_project_info> {
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
Current.set(Current.Project, target);
|
||||
Current.set(Current.ProjectView, ProjectView.Files);
|
||||
if (root_changes)
|
||||
Current.set(Current.Root, new_root);
|
||||
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, dir.getParent());
|
||||
|
||||
Reference in New Issue
Block a user