++
рефакторинг бд файлов тестов.
This commit is contained in:
@@ -70,7 +70,7 @@ public class DBProjectFile extends ProjectFile {
|
||||
Init(file_, father_);
|
||||
//имя относительно папки проекта.
|
||||
RefreshName();
|
||||
AutoDetectProperties();
|
||||
AutoDetectProperties(file_.getName());
|
||||
}
|
||||
public static Pair<Integer, String> decodeParserMessage(String S, String file_in) {
|
||||
Integer line = 1;
|
||||
|
||||
@@ -8,102 +8,24 @@ import _VisualDVM.ProjectData.LanguageName;
|
||||
import javax.swing.*;
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
//возможно, в дальнейшем унаследовать от него DBProjectFile, но пока лучше не трогать то что работает.
|
||||
public class ProjectFile extends DBObject {
|
||||
public class ProjectFile extends projectFile_ {
|
||||
public File file = null; //собственно, файл на который ссылаемся.
|
||||
public FileType fileType = FileType.none;
|
||||
public LanguageName languageName = LanguageName.n;
|
||||
public LanguageStyle style = LanguageStyle.none;
|
||||
public FileState state = FileState.Undefined; //состояние файла.
|
||||
public ProjectFile() {
|
||||
}
|
||||
public ProjectFile(File file_in) {
|
||||
super(file_in);
|
||||
file = file_in;
|
||||
AutoDetectProperties();
|
||||
}
|
||||
@Override
|
||||
public Object getPK() {
|
||||
return file.getName();
|
||||
}
|
||||
public void AutoDetectProperties() {
|
||||
AutoDetectProperties(file.getName());
|
||||
}
|
||||
@Override
|
||||
public void AutoDetectProperties(String name_in) {
|
||||
//проверка запретных имен.
|
||||
String[] forbiddenNames = new String[]{
|
||||
CommonConstants.INTERRUPT,
|
||||
Constants.launch_script_name,
|
||||
Constants.default_binary_name,
|
||||
//--
|
||||
CommonConstants.DONE,
|
||||
CommonConstants.TIMEOUT,
|
||||
Constants.out_file,
|
||||
Constants.err_file,
|
||||
Constants.time_file,
|
||||
"Makefile"
|
||||
};
|
||||
for (String forbidden : forbiddenNames) {
|
||||
if (name_in.equalsIgnoreCase(forbidden)) {
|
||||
fileType = FileType.forbidden;
|
||||
return;
|
||||
}
|
||||
}
|
||||
//-
|
||||
switch (Utils_.getExtensionFromName(name_in)) {
|
||||
case "f":
|
||||
case "fdv":
|
||||
case "for":
|
||||
case "f77":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.fortran;
|
||||
style = LanguageStyle.fixed;
|
||||
break;
|
||||
case "f90":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.fortran;
|
||||
style = LanguageStyle.free;
|
||||
break;
|
||||
case "c":
|
||||
case "cdv":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.c;
|
||||
break;
|
||||
case "cpp":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.cpp;
|
||||
break;
|
||||
case "h":
|
||||
fileType = FileType.header;
|
||||
break;
|
||||
case "fh":
|
||||
fileType = FileType.header;
|
||||
languageName = LanguageName.fortran;
|
||||
break;
|
||||
case "o":
|
||||
case "gcda":
|
||||
case "gcno":
|
||||
case "gcov":
|
||||
case "exe":
|
||||
case "pdf":
|
||||
fileType = FileType.forbidden;
|
||||
break;
|
||||
case "":
|
||||
if (Utils_.isIntegerValue(name_in)) {
|
||||
fileType = FileType.forbidden;
|
||||
} else {
|
||||
state = FileState.Excluded;
|
||||
fileType = FileType.none;
|
||||
languageName = LanguageName.n;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
//все остальное считаем исключенными из рассмотрения.
|
||||
//если юзеру надо сам их разблочит.
|
||||
state = FileState.Excluded;
|
||||
fileType = FileType.none;
|
||||
languageName = LanguageName.n;
|
||||
break;
|
||||
}
|
||||
super.AutoDetectProperties(name_in);
|
||||
if (fileType.equals(FileType.forbidden) || fileType.equals(FileType.none))
|
||||
state= FileState.Excluded;
|
||||
}
|
||||
public String ImageKey() {
|
||||
//icons/files/Excludeddata.png
|
||||
@@ -130,6 +52,7 @@ public class ProjectFile extends DBObject {
|
||||
}
|
||||
return new ImageIcon(imageUrl);
|
||||
}
|
||||
|
||||
public String getUnixName() {
|
||||
return Utils_.toU(file.getName());
|
||||
}
|
||||
@@ -137,23 +60,10 @@ public class ProjectFile extends DBObject {
|
||||
public String toString() {
|
||||
return file.getName();
|
||||
}
|
||||
|
||||
public String getQSourceName() {
|
||||
return Utils_.DQuotes(getUnixName());
|
||||
}
|
||||
public String getStyleOptions() {
|
||||
if (languageName == LanguageName.fortran) {
|
||||
switch (style) {
|
||||
case fixed:
|
||||
case extended:
|
||||
return "-FI";
|
||||
case free:
|
||||
return "-f90";
|
||||
case none:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
public boolean isNotExcludedProgram() {
|
||||
return fileType.equals(FileType.program) && !languageName.equals(LanguageName.n) && !state.equals(FileState.Excluded);
|
||||
}
|
||||
|
||||
113
src/_VisualDVM/ProjectData/Files/projectFile_.java
Normal file
113
src/_VisualDVM/ProjectData/Files/projectFile_.java
Normal file
@@ -0,0 +1,113 @@
|
||||
package _VisualDVM.ProjectData.Files;
|
||||
import Common.CommonConstants;
|
||||
import Common.Database.Objects.DBObject;
|
||||
import Common.Utils.Utils_;
|
||||
import _VisualDVM.Constants;
|
||||
import _VisualDVM.ProjectData.LanguageName;
|
||||
|
||||
import java.io.File;
|
||||
public abstract class projectFile_ extends DBObject {
|
||||
public FileType fileType = FileType.none;
|
||||
public LanguageName languageName = LanguageName.n;
|
||||
public LanguageStyle style = LanguageStyle.none;
|
||||
@Override
|
||||
public void SynchronizeFields(DBObject src) {
|
||||
super.SynchronizeFields(src);
|
||||
projectFile_ src_ = (projectFile_) src;
|
||||
fileType = src_.fileType;
|
||||
languageName = src_.languageName;
|
||||
style = src_.style;
|
||||
}
|
||||
public projectFile_(){}
|
||||
public projectFile_(File file_in){
|
||||
AutoDetectProperties(file_in.getName());
|
||||
}
|
||||
public void AutoDetectProperties(String name_in) {
|
||||
//проверка запретных имен.
|
||||
String[] forbiddenNames = new String[]{
|
||||
CommonConstants.INTERRUPT,
|
||||
Constants.launch_script_name,
|
||||
Constants.default_binary_name,
|
||||
//--
|
||||
CommonConstants.DONE,
|
||||
CommonConstants.TIMEOUT,
|
||||
Constants.out_file,
|
||||
Constants.err_file,
|
||||
Constants.time_file,
|
||||
"Makefile"
|
||||
};
|
||||
for (String forbidden : forbiddenNames) {
|
||||
if (name_in.equalsIgnoreCase(forbidden)) {
|
||||
fileType = FileType.forbidden;
|
||||
return;
|
||||
}
|
||||
}
|
||||
//-
|
||||
switch (Utils_.getExtensionFromName(name_in)) {
|
||||
case "f":
|
||||
case "fdv":
|
||||
case "for":
|
||||
case "f77":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.fortran;
|
||||
style = LanguageStyle.fixed;
|
||||
break;
|
||||
case "f90":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.fortran;
|
||||
style = LanguageStyle.free;
|
||||
break;
|
||||
case "c":
|
||||
case "cdv":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.c;
|
||||
break;
|
||||
case "cpp":
|
||||
fileType = FileType.program;
|
||||
languageName = LanguageName.cpp;
|
||||
break;
|
||||
case "h":
|
||||
fileType = FileType.header;
|
||||
break;
|
||||
case "fh":
|
||||
fileType = FileType.header;
|
||||
languageName = LanguageName.fortran;
|
||||
break;
|
||||
case "o":
|
||||
case "gcda":
|
||||
case "gcno":
|
||||
case "gcov":
|
||||
case "exe":
|
||||
case "pdf":
|
||||
fileType = FileType.forbidden;
|
||||
break;
|
||||
case "":
|
||||
if (Utils_.isIntegerValue(name_in)) {
|
||||
fileType = FileType.forbidden;
|
||||
} else {
|
||||
fileType = FileType.none;
|
||||
languageName = LanguageName.n;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
fileType = FileType.none;
|
||||
languageName = LanguageName.n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//-
|
||||
public String getStyleOptions() {
|
||||
if (languageName == LanguageName.fortran) {
|
||||
switch (style) {
|
||||
case fixed:
|
||||
case extended:
|
||||
return "-FI";
|
||||
case free:
|
||||
return "-f90";
|
||||
case none:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user