mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
AT-225 Review fixes. Wrapping of span execution logic in current context
GitOrigin-RevId: 307d7a593c89a183a3930b747bd55a79a772698d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
228d5515ff
commit
20ce36e036
@@ -5,10 +5,12 @@ import com.intellij.core.JavaPsiBundle.message
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.project.guessProjectDir
|
||||
import com.intellij.openapi.ui.playback.PlaybackContext
|
||||
import com.intellij.platform.diagnostic.telemetry.impl.useWithScope
|
||||
import com.intellij.psi.JavaDirectoryService
|
||||
import com.intellij.psi.impl.file.PsiJavaDirectoryFactory
|
||||
import com.jetbrains.performancePlugin.PerformanceTestSpan
|
||||
import com.jetbrains.performancePlugin.commands.PerformanceCommandCoroutineAdapter
|
||||
import io.opentelemetry.context.Context
|
||||
|
||||
/**
|
||||
* Command to add Java file to project
|
||||
@@ -29,7 +31,7 @@ class CreateJavaFileCommand(text: String, line: Int) : PerformanceCommandCorouti
|
||||
}
|
||||
|
||||
override suspend fun doExecute(context: PlaybackContext) {
|
||||
val (fileName, filePath, fileType) = extractCommandArgument(PREFIX).replace("\\s","").split(",")
|
||||
val (fileName, filePath, fileType) = extractCommandArgument(PREFIX).replace("\\s", "").split(",")
|
||||
|
||||
val directory = PsiJavaDirectoryFactory
|
||||
.getInstance(context.project)
|
||||
@@ -40,13 +42,14 @@ class CreateJavaFileCommand(text: String, line: Int) : PerformanceCommandCorouti
|
||||
|
||||
val templateName = POSSIBLE_FILE_TYPES[fileType.lowercase()]
|
||||
if (templateName == null) throw RuntimeException("File type must be one of '${POSSIBLE_FILE_TYPES.keys}'")
|
||||
|
||||
val span = PerformanceTestSpan.TRACER.spanBuilder(NAME).startSpan()
|
||||
ApplicationManager.getApplication().invokeAndWait {
|
||||
ApplicationManager.getApplication().getService(JavaDirectoryService::class.java)
|
||||
.createClass(directory, fileName, templateName, true)
|
||||
}
|
||||
span.end()
|
||||
|
||||
ApplicationManager.getApplication().invokeAndWait(Context.current().wrap(Runnable {
|
||||
PerformanceTestSpan.TRACER.spanBuilder(NAME).useWithScope {
|
||||
ApplicationManager.getApplication().getService(JavaDirectoryService::class.java)
|
||||
.createClass(directory, fileName, templateName, true)
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
override fun getName(): String {
|
||||
|
||||
@@ -23,5 +23,7 @@
|
||||
<orderEntry type="module" module-name="intellij.java" />
|
||||
<orderEntry type="module" module-name="kotlin.base.resources" />
|
||||
<orderEntry type="module" module-name="kotlin.base.util" />
|
||||
<orderEntry type="module" module-name="intellij.platform.diagnostic.telemetry" />
|
||||
<orderEntry type="module" module-name="intellij.platform.diagnostic.telemetry.impl" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -7,9 +7,12 @@ import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.project.guessProjectDir
|
||||
import com.intellij.openapi.ui.playback.PlaybackContext
|
||||
import com.intellij.openapi.vfs.findFileOrDirectory
|
||||
import com.intellij.platform.diagnostic.telemetry.impl.useWithScope
|
||||
import com.intellij.psi.impl.PsiManagerImpl
|
||||
import com.intellij.psi.impl.file.PsiDirectoryImpl
|
||||
import com.jetbrains.performancePlugin.PerformanceTestSpan
|
||||
import com.jetbrains.performancePlugin.commands.PerformanceCommandCoroutineAdapter
|
||||
import io.opentelemetry.context.Context
|
||||
|
||||
/**
|
||||
* Command to add Java file to project
|
||||
@@ -45,11 +48,13 @@ class CreateKotlinFileCommand(text: String, line: Int) : PerformanceCommandCorou
|
||||
if (templateName == null) throw RuntimeException("File type must be one of '${POSSIBLE_FILE_TYPES.keys}'")
|
||||
val template = FileTemplateManager.getInstance(directory.project).getInternalTemplate(templateName)
|
||||
|
||||
val span = startSpan(NAME)
|
||||
ApplicationManager.getApplication().invokeAndWait {
|
||||
CreateFileFromTemplateAction.createFileFromTemplate(fileName, template, directory, null, true)
|
||||
}
|
||||
span.end()
|
||||
ApplicationManager.getApplication().invokeAndWait(Context.current().wrap(Runnable {
|
||||
PerformanceTestSpan.TRACER.spanBuilder(NAME).useWithScope {
|
||||
CreateFileFromTemplateAction
|
||||
.createFileFromTemplate(fileName, template, directory, null, true)
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
override fun getName(): String {
|
||||
|
||||
Reference in New Issue
Block a user