Skip to content

Commit 29e52ac

Browse files
committed
fix(mps-model-server-plugin): remove usage of deprecated ProjectManager.getInstance
1 parent 7aa6355 commit 29e52ac

File tree

1 file changed

+14
-17
lines changed
  • mps-model-server-plugin/src/main/kotlin/org/modelix/model/server/mps

1 file changed

+14
-17
lines changed

mps-model-server-plugin/src/main/kotlin/org/modelix/model/server/mps/MPSModelServer.kt

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ import com.intellij.openapi.project.Project
2121
import com.intellij.openapi.startup.StartupActivity
2222
import jetbrains.mps.ide.project.ProjectHelper
2323
import jetbrains.mps.project.MPSProject
24-
import jetbrains.mps.project.ProjectBase
25-
import jetbrains.mps.project.ProjectManager
2624
import org.modelix.model.api.INode
2725
import org.modelix.model.api.runSynchronized
2826
import org.modelix.model.mpsadapters.MPSRepositoryAsNode
@@ -56,18 +54,18 @@ class MPSModelServer : Disposable {
5654
projects.remove(project)
5755
}
5856

59-
private fun getRootNode(): INode? {
57+
private fun getMPSProjects(): List<MPSProject> {
6058
return runSynchronized(projects) {
61-
projects.removeIf { it.isDisposed }
62-
projects.asSequence().mapNotNull {
63-
it
64-
.getComponent(MPSProject::class.java)
65-
?.repository
66-
?.let { MPSRepositoryAsNode(it) }
67-
}.firstOrNull()
59+
projects.mapNotNull { it.getComponent(MPSProject::class.java) }
6860
}
6961
}
7062

63+
private fun getRootNode(): INode? {
64+
return getMPSProjects().asSequence().map {
65+
MPSRepositoryAsNode(it.repository)
66+
}.firstOrNull()
67+
}
68+
7169
fun ensureStarted() {
7270
runSynchronized(this) {
7371
if (server != null) return
@@ -85,8 +83,7 @@ class MPSModelServer : Disposable {
8583

8684
override fun run(output: java.lang.StringBuilder): Boolean {
8785
var allSmart = true
88-
val projects = ProjectManager.getInstance().openedProjects
89-
for (project in projects) {
86+
for (project in getMPSProjects()) {
9087
project.repository.modelAccess.runReadAction {
9188
val indexerDone =
9289
!DumbService.getInstance(ProjectHelper.toIdeaProject(project)).isDumb
@@ -106,10 +103,10 @@ class MPSModelServer : Disposable {
106103
get() = false
107104

108105
override fun run(output: StringBuilder): Boolean {
109-
val projects = ProjectManager.getInstance().openedProjects
106+
val projects = getMPSProjects()
110107
output.append("${projects.size} projects found")
111-
projects.forEach { output.append(" ${it.toString()}") }
112-
return ProjectManager.getInstance().openedProjects.isNotEmpty()
108+
projects.forEach { output.append(" $it") }
109+
return projects.isNotEmpty()
113110
}
114111
})
115112
.healthCheck(object : LightModelServer.IHealthCheck {
@@ -119,13 +116,13 @@ class MPSModelServer : Disposable {
119116
get() = false
120117

121118
override fun run(output: StringBuilder): Boolean {
122-
val projects = ProjectManager.getInstance().openedProjects.filterIsInstance<ProjectBase>()
119+
val projects = getMPSProjects()
123120
for (project in projects) {
124121
val modules = project.projectModules
125122
val virtualFolders = modules
126123
.mapNotNull { project.getPath(it)?.virtualFolder }
127124
.filter { it.isNotEmpty() }
128-
output.append("project ${project.toString()} contains ${modules.size} modules with ${virtualFolders.size} virtual folders")
125+
output.append("project $project contains ${modules.size} modules with ${virtualFolders.size} virtual folders")
129126
if (virtualFolders.isNotEmpty()) return true
130127
}
131128
return false

0 commit comments

Comments
 (0)