GP-3697 Added delayed ProjectFileManager disposal in support of URL use

and opening linked project files and renamed ProjectFileData to
DefaultProjectData.
This commit is contained in:
ghidra1
2023-08-11 12:49:19 -04:00
parent 5ef4b269a1
commit 3eb642885c
51 changed files with 1636 additions and 813 deletions

View File

@@ -36,7 +36,7 @@ import docking.wizard.WizardPanel;
import generic.theme.GThemeDefaults.Colors;
import ghidra.app.plugin.core.archive.RestoreDialog;
import ghidra.framework.data.GhidraFileData;
import ghidra.framework.data.ProjectFileManager;
import ghidra.framework.data.DefaultProjectData;
import ghidra.framework.main.*;
import ghidra.framework.model.*;
import ghidra.framework.plugintool.dialog.*;
@@ -694,7 +694,7 @@ public class FrontEndPluginScreenShots extends GhidraScreenShotGenerator {
Project project = env.getProject();
program = env.getProgram("WinHelloCPP.exe");
ProjectFileManager projectData = (ProjectFileManager) project.getProjectData();
DefaultProjectData projectData = (DefaultProjectData) project.getProjectData();
projectData.getRootFolder().createFile("HelloCpp.exe", program, TaskMonitor.DUMMY);
// Create other project to be viewed

View File

@@ -26,7 +26,7 @@ import org.junit.*;
import docking.action.DockingActionIf;
import generic.test.TestUtils;
import ghidra.framework.data.ProjectFileManager;
import ghidra.framework.data.DefaultProjectData;
import ghidra.framework.model.*;
import ghidra.framework.plugintool.PluginTool;
import ghidra.framework.store.ItemCheckoutStatus;
@@ -276,7 +276,7 @@ public class ProjectInfoFilesystemTest extends AbstractGhidraHeadedIntegrationTe
}
private void checkProjectInfo(Class<?> filesystemClass, String storageType) {
ProjectFileManager projectData = (ProjectFileManager) project.getProjectData();
DefaultProjectData projectData = (DefaultProjectData) project.getProjectData();
String msg = "Expected " + filesystemClass.getSimpleName() + ": ";
assertTrue(msg + "Local FileSystem", filesystemClass.isInstance(
TestUtils.invokeInstanceMethod("getLocalFileSystem", projectData)));

View File

@@ -802,9 +802,9 @@ public class ServerTestUtil {
public static void createRepositoryItem(LocalFileSystem repoFilesystem, String name,
String folderPath, Program program) throws Exception {
ContentHandler contentHandler = DomainObjectAdapter.getContentHandler(program);
long checkoutId = contentHandler.createFile(repoFilesystem, null, folderPath, name,
program, TaskMonitor.DUMMY);
ContentHandler<?> contentHandler = DomainObjectAdapter.getContentHandler(program);
long checkoutId = contentHandler.createFile(repoFilesystem, null, folderPath, name, program,
TaskMonitor.DUMMY);
LocalFolderItem item = repoFilesystem.getItem(folderPath, name);
if (item == null) {
throw new IOException("Item not found: " + FileSystem.SEPARATOR + name);