@@ -95,45 +95,42 @@ object MPSBulkSynchronizer {
95
95
96
96
println (" Found ${jsonFiles.size} modules to be imported" )
97
97
val access = repository.modelAccess
98
- access.runWriteInEDT {
98
+ access.executeCommandInEDT {
99
99
val allModules = repository.modules
100
100
val includedModules: Iterable <SModule > = allModules.filter {
101
101
isModuleIncluded(it.moduleName!! , includedModuleNames, includedModulePrefixes)
102
102
}
103
103
val numIncludedModules = includedModules.count()
104
- access.executeCommand {
105
- val repoAsNode = MPSRepositoryAsNode (repository)
104
+ val repoAsNode = MPSRepositoryAsNode (repository)
105
+ println (" Importing modules..." )
106
+ try {
106
107
println (" Importing modules..." )
107
- try {
108
- println (" Importing modules..." )
109
- // `modulesToImport` lazily produces modules to import
110
- // so that loaded model data can be garbage collected.
111
- val modulesToImport = includedModules.asSequence().flatMapIndexed { index, module ->
112
- println (" Importing module ${index + 1 } of $numIncludedModules : '${module.moduleName} '" )
113
- val fileName = inputPath + File .separator + module.moduleName + " .json"
114
- val moduleFile = File (fileName)
115
- if (moduleFile.exists()) {
116
- val expectedData: ModelData = moduleFile.inputStream().use(Json ::decodeFromStream)
117
- sequenceOf(ExistingAndExpectedNode (MPSModuleAsNode (module), expectedData))
118
- } else {
119
- println (" Skip importing ${module.moduleName} } because $fileName does not exist." )
120
- sequenceOf()
121
- }
108
+ // `modulesToImport` lazily produces modules to import
109
+ // so that loaded model data can be garbage collected.
110
+ val modulesToImport = includedModules.asSequence().flatMapIndexed { index, module ->
111
+ println (" Importing module ${index + 1 } of $numIncludedModules : '${module.moduleName} '" )
112
+ val fileName = inputPath + File .separator + module.moduleName + " .json"
113
+ val moduleFile = File (fileName)
114
+ if (moduleFile.exists()) {
115
+ val expectedData: ModelData = moduleFile.inputStream().use(Json ::decodeFromStream)
116
+ sequenceOf(ExistingAndExpectedNode (MPSModuleAsNode (module), expectedData))
117
+ } else {
118
+ println (" Skip importing ${module.moduleName} } because $fileName does not exist." )
119
+ sequenceOf()
122
120
}
123
- ModelImporter (repoAsNode, continueOnError).importIntoNodes(modulesToImport)
124
- println (" Import finished." )
125
- } catch (ex: Exception ) {
126
- // Exceptions are only visible in the MPS log file by default
127
- ex.printStackTrace()
128
121
}
129
-
122
+ ModelImporter (repoAsNode, continueOnError).importIntoNodes(modulesToImport)
130
123
println (" Import finished." )
124
+ } catch (ex: Exception ) {
125
+ // Exceptions are only visible in the MPS log file by default
126
+ ex.printStackTrace()
131
127
}
128
+ println (" Import finished." )
132
129
}
133
130
134
131
ApplicationManager .getApplication().invokeAndWait {
135
132
println (" Persisting changes..." )
136
- repository.modelAccess.runWriteAction {
133
+ access.executeCommandInEDT {
137
134
enableWorkaroundForFilePerRootPersistence(repository)
138
135
repository.saveAll()
139
136
}
0 commit comments