mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
simplify — introduce forceCloseProject (test only)
Since Kotlin is not used, have to introduce such method to avoid (false, true, false, true, guessWhatIDo)
This commit is contained in:
+1
-1
@@ -161,7 +161,7 @@ public class DaemonRespondToChangesTest extends DaemonAnalyzerTestCase {
|
||||
Project project = getProject();
|
||||
if (project != null) {
|
||||
doPostponedFormatting(project);
|
||||
((ProjectManagerImpl)ProjectManagerEx.getInstanceEx()).closeProject(project, false, false, false);
|
||||
((ProjectManagerImpl)ProjectManagerEx.getInstanceEx()).forceCloseProject(project, false);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
|
||||
+8
-3
@@ -566,7 +566,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable {
|
||||
@TestOnly
|
||||
public Collection<Project> closeTestProject(@NotNull final Project project) {
|
||||
assert ApplicationManager.getApplication().isUnitTestMode();
|
||||
closeProject(project, false, false, false);
|
||||
forceCloseProject(project, false);
|
||||
Project[] projects = getOpenProjects();
|
||||
return projects.length == 0 ? Collections.emptyList() : Arrays.asList(projects);
|
||||
}
|
||||
@@ -604,8 +604,13 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable {
|
||||
return closeProject(project, true, false, true);
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
public boolean forceCloseProject(@NotNull Project project, boolean dispose) {
|
||||
return closeProject(project, false, dispose, false);
|
||||
}
|
||||
|
||||
@SuppressWarnings("TestOnlyProblems")
|
||||
public boolean closeProject(@NotNull final Project project, final boolean save, final boolean dispose, boolean checkCanClose) {
|
||||
public boolean closeProject(@NotNull final Project project, final boolean saveProject, final boolean dispose, boolean checkCanClose) {
|
||||
Application app = ApplicationManager.getApplication();
|
||||
if (app.isWriteAccessAllowed()) {
|
||||
throw new IllegalStateException("Must not call closeProject() from under write action because fireProjectClosing() listeners must have a chance to do something useful");
|
||||
@@ -634,7 +639,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable {
|
||||
try {
|
||||
myBusPublisher.projectClosingBeforeSave(project);
|
||||
|
||||
if (save) {
|
||||
if (saveProject) {
|
||||
FileDocumentManager.getInstance().saveAllDocuments();
|
||||
project.save();
|
||||
app.saveSettings();
|
||||
|
||||
@@ -107,7 +107,7 @@ class ProjectRule : ApplicationRule() {
|
||||
|
||||
override public fun after() {
|
||||
if (projectOpened.compareAndSet(true, false)) {
|
||||
sharedProject?.let { runInEdtAndWait { (ProjectManager.getInstance() as ProjectManagerImpl).closeProject(it, false, false, false) } }
|
||||
sharedProject?.let { runInEdtAndWait { (ProjectManager.getInstance() as ProjectManagerImpl).forceCloseProject(it, false) } }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ fun Project.use(task: (Project) -> Unit) {
|
||||
task(this)
|
||||
}
|
||||
finally {
|
||||
runInEdtAndWait { projectManager.closeProject(this, false, true, false) }
|
||||
runInEdtAndWait { projectManager.forceCloseProject(this, true) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,7 +252,7 @@ class DisposeNonLightProjectsRule : ExternalResource() {
|
||||
val projectManager = if (ApplicationManager.getApplication().isDisposed) null else ProjectManager.getInstance() as ProjectManagerImpl
|
||||
projectManager?.openProjects?.forEachGuaranteed {
|
||||
if (!ProjectManagerImpl.isLight(it)) {
|
||||
runInEdtAndWait { projectManager.closeProject(it, false, true, false) }
|
||||
runInEdtAndWait { projectManager.forceCloseProject(it, true) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -531,7 +531,7 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro
|
||||
for (Project project : projectManager.closeTestProject(projectToClose)) {
|
||||
runAll = runAll
|
||||
.append(() -> { throw new IllegalStateException("Test project is not disposed: " + project + ";\n created in: " + getCreationPlace(project)); })
|
||||
.append(() -> ((ProjectManagerImpl)projectManager).closeProject(project, false, true, false));
|
||||
.append(() -> ((ProjectManagerImpl)projectManager).forceCloseProject(project, true));
|
||||
}
|
||||
}
|
||||
runAll.append(() -> WriteAction.run(() -> Disposer.dispose(projectToClose))).run();
|
||||
|
||||
Reference in New Issue
Block a user