Обратная сортировка версий сапфора и коммит старых измений

This commit is contained in:
2024-07-21 23:19:18 +03:00
parent 12f58bdde2
commit 87ed3bd003
10 changed files with 120 additions and 38 deletions

7
.idea/workspace.xml generated
View File

@@ -8,8 +8,15 @@
<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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/UI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/UI.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.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/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Test/UI/AddTestMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Test/UI/AddTestMenu.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/CreateTestFromDirectory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromProject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromProject.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromSelectedFiles.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromSelectedFiles.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

@@ -10,7 +10,7 @@
"SMTPHost": "smtp.mail.ru", "SMTPHost": "smtp.mail.ru",
"SMTPPort": 465, "SMTPPort": 465,
"MailSocketPort": 465, "MailSocketPort": 465,
"collapseCredentials": false, "collapseCredentials": true,
"collapseFileGraphs": false, "collapseFileGraphs": false,
"collapseFileMessages": false, "collapseFileMessages": false,
"collapseProjectTrees": false, "collapseProjectTrees": false,

View File

@@ -101,6 +101,7 @@ import javax.swing.text.Highlighter;
import javax.swing.tree.TreeCellRenderer; import javax.swing.tree.TreeCellRenderer;
import java.awt.*; import java.awt.*;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Stack; import java.util.Stack;
import java.util.Vector; import java.util.Vector;
@@ -173,7 +174,7 @@ public class UI {
public static void refreshTheme() { public static void refreshTheme() {
Current.set(Current.Theme, themes.get(Global.db.settings.get(SettingName.DarkThemeOn).toBoolean() ? VisualiserThemeName.Dark : VisualiserThemeName.Light)); Current.set(Current.Theme, themes.get(Global.db.settings.get(SettingName.DarkThemeOn).toBoolean() ? VisualiserThemeName.Dark : VisualiserThemeName.Light));
// refreshTheme_r(Visualiser.getMainWindow().MainPanel); // refreshTheme_r(Visualiser.getMainWindow().MainPanel);
/* /* Открыть
refreshTheme_r(Visualiser.searchReplaceForm.MainPanel); refreshTheme_r(Visualiser.searchReplaceForm.MainPanel);
refreshTheme_r(Visualiser.ComponentsWindow.fields.MainPanel); refreshTheme_r(Visualiser.ComponentsWindow.fields.MainPanel);
refreshTheme_r(Visualiser.remoteFileChooser.fields.MainPanel); refreshTheme_r(Visualiser.remoteFileChooser.fields.MainPanel);
@@ -272,22 +273,35 @@ public class UI {
//- //-
public static void CreateAll() { public static void CreateAll() {
//<editor-fold desc="Локализация компонентов окна JFileChooser"> //<editor-fold desc="Локализация компонентов окна JFileChooser">
UIManager.put( UIManager.put("FileChooser.openButtonText", "Открыть");
"FileChooser.openButtonText", "Открыть"); UIManager.put("FileChooser.cancelButtonText", "Отмена");
UIManager.put( UIManager.put("FileChooser.lookInLabelText", "Смотреть в");
"FileChooser.saveButtonText", "Сохранить"); UIManager.put("FileChooser.fileNameLabelText", "Имя файла");
UIManager.put( UIManager.put("FileChooser.filesOfTypeLabelText", "Тип файла");
"FileChooser.cancelButtonText", "Отмена");
UIManager.put( UIManager.put("FileChooser.saveButtonText", "Сохранить");
"FileChooser.fileNameLabelText", "Наименование файла"); UIManager.put("FileChooser.saveButtonToolTipText", "Сохранить");
UIManager.put( UIManager.put("FileChooser.openButtonToolTipText", "Открыть");
"FileChooser.filesOfTypeLabelText", "Типы файлов"); UIManager.put("FileChooser.cancelButtonText", "Отмена");
UIManager.put( UIManager.put("FileChooser.cancelButtonToolTipText", "Отмена");
"FileChooser.lookInLabelText", "Директория");
UIManager.put( UIManager.put("FileChooser.lookInLabelText", "Папка");
"FileChooser.saveInLabelText", "Сохранить в директории"); UIManager.put("FileChooser.saveInLabelText", "Папка");
UIManager.put( UIManager.put("FileChooser.fileNameLabelText", "Имя файла");
"FileChooser.folderNameLabelText", "Путь директории"); UIManager.put("FileChooser.filesOfTypeLabelText", "Тип файлов");
UIManager.put("FileChooser.upFolderToolTipText", "На один уровень вверх");
UIManager.put("FileChooser.newFolderToolTipText", "Создание новой папки");
UIManager.put("FileChooser.listViewButtonToolTipText", "Список");
UIManager.put("FileChooser.detailsViewButtonToolTipText", "Таблица");
UIManager.put("FileChooser.fileNameHeaderText", "Имя");
UIManager.put("FileChooser.fileSizeHeaderText", "Размер");
UIManager.put("FileChooser.fileTypeHeaderText", "Тип");
UIManager.put("FileChooser.fileDateHeaderText", "Изменен");
UIManager.put("FileChooser.fileAttrHeaderText", "Атрибуты");
UIManager.put("FileChooser.acceptAllFileFilterText", "Все файлы");
//</editor-fold> //</editor-fold>
//<editor-fold desc="Локализация компонентов окна подтверждения"> //<editor-fold desc="Локализация компонентов окна подтверждения">
UIManager.put("OptionPane.yesButtonText", "Да"); UIManager.put("OptionPane.yesButtonText", "Да");

View File

@@ -1219,8 +1219,9 @@ public class Utils {
} }
// System.out.println(); // System.out.println();
//добавление строки в результат. //добавление строки в результат.
if ((line.length() > 0) || Global.db.settings.get(SettingName.EmptyLinesOn).toBoolean() && if ((line.length() > 0) || Global.db.settings.get(SettingName.EmptyLinesOn).toBoolean()
Global.db.settings.get(SettingName.SpacesOn).toBoolean()) { // Global.db.settings.get(SettingName.SpacesOn).toBoolean()
) {
lines.add(line.toString()); lines.add(line.toString());
visible_lines.add(v_line.toString()); visible_lines.add(v_line.toString());
} }
@@ -1237,7 +1238,9 @@ public class Utils {
if ((i > 0) && (c != '\n')) { if ((i > 0) && (c != '\n')) {
//строка оборвалась на EOF //строка оборвалась на EOF
//добавление строки в результат. //добавление строки в результат.
if ((line.length() > 0) || Global.db.settings.get(SettingName.EmptyLinesOn).toBoolean() && Global.db.settings.get(SettingName.SpacesOn).toBoolean()) { if ((line.length() > 0) || Global.db.settings.get(SettingName.EmptyLinesOn).toBoolean()
// && Global.db.settings.get(SettingName.SpacesOn).toBoolean()
) {
lines.add(line.toString()); lines.add(line.toString());
visible_lines.add(v_line.toString()); visible_lines.add(v_line.toString());
} }

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 = 1107; version = 1109;
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

@@ -8,5 +8,6 @@ public class AddTestMenu extends VisualiserMenu {
add(Pass_2021.passes.get(PassCode_2021.CreateTestFromProject).createMenuItem()); add(Pass_2021.passes.get(PassCode_2021.CreateTestFromProject).createMenuItem());
add(Pass_2021.passes.get(PassCode_2021.CreateTestFromDirectory).createMenuItem()); add(Pass_2021.passes.get(PassCode_2021.CreateTestFromDirectory).createMenuItem());
add(Pass_2021.passes.get(PassCode_2021.CreateTestsFromFiles).createMenuItem()); add(Pass_2021.passes.get(PassCode_2021.CreateTestsFromFiles).createMenuItem());
add(Pass_2021.passes.get(PassCode_2021.CreateTestFromSelectedFiles).createMenuItem());
} }
} }

View File

@@ -4,6 +4,9 @@ import Common.Database.iDBTable;
import Common.UI.DataSetControlForm; import Common.UI.DataSetControlForm;
import Common.UI.Tables.TableRenderers; import Common.UI.Tables.TableRenderers;
import Common.UI.UI; import Common.UI.UI;
import java.util.Comparator;
import java.util.Vector;
public class ServerSapforsDBTable extends iDBTable<ServerSapfor> { public class ServerSapforsDBTable extends iDBTable<ServerSapfor> {
public ServerSapforsDBTable() { public ServerSapforsDBTable() {
super(ServerSapfor.class); super(ServerSapfor.class);
@@ -59,4 +62,14 @@ public class ServerSapforsDBTable extends iDBTable<ServerSapfor> {
} }
}; };
} }
@Override
public Comparator<ServerSapfor> getComparator() {
return new Comparator<ServerSapfor>() {
@Override
public int compare(ServerSapfor o1, ServerSapfor o2) {
return o2.id-o1.id;
}
};
// return Comparator.comparingInt(o -> o.).reversed();
}
} }

View File

@@ -15,9 +15,9 @@ import Visual_DVM_2021.Passes.Pass_2021;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import java.io.File; import java.io.File;
import java.util.Arrays;
import java.util.Vector; import java.util.Vector;
public class CreateTestFromDirectory extends Pass_2021<Test> { public class CreateTestFromDirectory extends Pass_2021<Test> {
VDirectoryChooser directoryChooser = new VDirectoryChooser("Выбор домашней папки теста");
@Override @Override
public String getIconPath() { public String getIconPath() {
return "/icons/OpenProject.png"; return "/icons/OpenProject.png";
@@ -32,9 +32,30 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
} }
Group group = null; Group group = null;
File dir = null; File dir = null;
boolean from_directory_chooser = false; boolean from_files_chooser = false;
//--
void saveDirectory() {
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.ProjectsSearchDirectory,
(dir.getParentFile() == null) ? dir.getAbsolutePath() : dir.getParent()
);
}
Vector<File> files = null;
protected boolean selectFiles() {
VDirectoryChooser directoryChooser = new VDirectoryChooser("Выбор домашней папки теста");
Utils.RestoreSelectedDirectory(directoryChooser);
dir = directoryChooser.ShowDialog();
if (dir == null) {
Log.Writeln_("Папка не выбрана.");
return false;
} else {
files = new Vector<>(Arrays.asList(dir.listFiles()));
saveDirectory();
}
return true;
}
//--
Vector<ProjectFile> project_files = new Vector<>(); Vector<ProjectFile> project_files = new Vector<>();
protected boolean initTarget() throws Exception{ protected boolean initTarget() throws Exception {
target = new Test(); target = new Test();
target.sender_address = Current.getAccount().email; target.sender_address = Current.getAccount().email;
target.sender_name = Current.getAccount().name; target.sender_name = Current.getAccount().name;
@@ -44,26 +65,23 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
} }
@Override @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
files = null;
if (args.length == 0) { if (args.length == 0) {
from_directory_chooser = true; //--
from_files_chooser = true;
if (!Current.Check(Log, Current.Group)) if (!Current.Check(Log, Current.Group))
return false; return false;
Utils.RestoreSelectedDirectory(directoryChooser);
dir = directoryChooser.ShowDialog();
group = Current.getGroup(); group = Current.getGroup();
if (dir == null) { if (!selectFiles())
Log.Writeln_("Папка не выбрана.");
return false; return false;
//-
} else { } else {
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, dir.getParent()); from_files_chooser = false;
}
} else {
from_directory_chooser = false;
dir = (File) args[0]; dir = (File) args[0];
group = (Group) args[1]; group = (Group) args[1];
files = new Vector<>(Arrays.asList(dir.listFiles()));
} }
//--- //---
File[] files = dir.listFiles();
int subdirs = 0; int subdirs = 0;
int bad = 0; int bad = 0;
int active_programs = 0; int active_programs = 0;
@@ -192,7 +210,7 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
@Override @Override
protected void performDone() throws Exception { protected void performDone() throws Exception {
super.performDone(); super.performDone();
if (from_directory_chooser) if (from_files_chooser)
passes.get(PassCode_2021.PublishTest).Do(target); passes.get(PassCode_2021.PublishTest).Do(target);
} }
} }

View File

@@ -17,7 +17,7 @@ public class CreateTestFromProject extends CreateTestFromDirectory {
if (Current.Check(Log, Current.Group, Current.Project)) { if (Current.Check(Log, Current.Group, Current.Project)) {
project = Current.getProject(); project = Current.getProject();
if (super.canStart(Current.getProject().Home, Current.getGroup())){ if (super.canStart(Current.getProject().Home, Current.getGroup())){
from_directory_chooser = true; //чтобы опубликовал. from_files_chooser = true; //чтобы опубликовал.
return true; return true;
} }
} }

View File

@@ -1,4 +1,30 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Utils.Files.VFileChooser;
import Common.Utils.Utils;
import GlobalData.Settings.SettingName;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.Pass_2021;
public class CreateTestFromSelectedFiles extends Pass_2021 {
import java.io.File;
import java.util.Vector;
public class CreateTestFromSelectedFiles extends CreateTestFromDirectory {
@Override
public String getIconPath() {
return "/icons/MassFiles.png";
}
@Override
protected boolean selectFiles() {
VFileChooser files_chooser = new VFileChooser("Выбор файлов");
Utils.RestoreSelectedDirectory(files_chooser);
Vector<File> res = files_chooser.ShowMultiDialog();
dir = files_chooser.getCurrentDirectory();
if (res.isEmpty()){
Log.Writeln_("Не выбрано ни одного файла.");
return false;
} else {
this.files = res;
saveDirectory();
}
return true;
}
} }