GT-3222 - Fixed bugs in Data Type navigation that caused failure after

opening and archive for edit
This commit is contained in:
dragonmacher 2019-10-11 16:28:52 -04:00
parent 591ed4de31
commit 0b532431cd
9 changed files with 172 additions and 176 deletions

View file

@ -31,8 +31,8 @@ import ghidra.util.task.TaskMonitorAdapter;
* DataTypeManager for a file. Can import categories from a file, or export
* categories to a packed database.
*/
public class FileDataTypeManager extends StandAloneDataTypeManager implements
FileArchiveBasedDataTypeManager {
public class FileDataTypeManager extends StandAloneDataTypeManager
implements FileArchiveBasedDataTypeManager {
public final static String EXTENSION = "gdt"; // Ghidra Data Types
/**
@ -108,16 +108,15 @@ public class FileDataTypeManager extends StandAloneDataTypeManager implements
* @param outputFilename filename for output
* @param databaseId new databaseId
*/
public void saveAs(File saveFile, UniversalID newUniversalId) throws DuplicateFileException,
IOException {
public void saveAs(File saveFile, UniversalID newUniversalId)
throws DuplicateFileException, IOException {
ResourceFile resourceSaveFile = new ResourceFile(saveFile);
// TODO: this should really be a package method and not public!
validateFilename(resourceSaveFile);
try {
universalID = newUniversalId;
packedDB =
((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
saveFile.getName(), newUniversalId.getValue(), TaskMonitorAdapter.DUMMY_MONITOR);
packedDB = ((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
saveFile.getName(), newUniversalId.getValue(), TaskMonitorAdapter.DUMMY_MONITOR);
file = resourceSaveFile;
updateRootCategoryName(resourceSaveFile, getRootCategory());
}
@ -134,9 +133,8 @@ public class FileDataTypeManager extends StandAloneDataTypeManager implements
ResourceFile resourceSaveFile = new ResourceFile(saveFile);
validateFilename(resourceSaveFile);
try {
packedDB =
((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
saveFile.getName(), TaskMonitorAdapter.DUMMY_MONITOR);
packedDB = ((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
saveFile.getName(), TaskMonitorAdapter.DUMMY_MONITOR);
file = resourceSaveFile;
updateRootCategoryName(resourceSaveFile, getRootCategory());
}
@ -268,4 +266,8 @@ public class FileDataTypeManager extends StandAloneDataTypeManager implements
return ArchiveType.FILE;
}
@Override
public String toString() {
return getClass().getSimpleName() + " - " + getName();
}
}