Skip to content

Commit 0dfe869

Browse files
Refactor some other pieces of code (#358)
1 parent 2e850e8 commit 0dfe869

40 files changed

+245
-227
lines changed

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForAssertionAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.AssertionRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.AssertionRequest
66
import org.utbot.cpp.clion.plugin.grpc.getAssertionGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForClassAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.ClassRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.ClassRequest
66
import org.utbot.cpp.clion.plugin.grpc.getClassGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88
import org.utbot.cpp.clion.plugin.utils.isCPPFileName

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForFileAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.FileRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.FileRequest
66
import org.utbot.cpp.clion.plugin.grpc.getFileGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88
import org.utbot.cpp.clion.plugin.utils.isCPPorCFileName

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForFolderAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.FolderRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.FolderRequest
66
import org.utbot.cpp.clion.plugin.grpc.getFolderGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForFunctionAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.FunctionRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.FunctionRequest
66
import org.utbot.cpp.clion.plugin.grpc.getFunctionGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForLineAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.LineRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.LineRequest
66
import org.utbot.cpp.clion.plugin.grpc.getLineGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForPredicateAction.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import javax.swing.ListSelectionModel
1111
import javax.swing.event.DocumentEvent
1212
import org.utbot.cpp.clion.plugin.grpc.getFunctionGrpcRequest
1313
import org.utbot.cpp.clion.plugin.grpc.getPredicateGrpcRequest
14-
import org.utbot.cpp.clion.plugin.client.requests.FunctionReturnTypeRequest
15-
import org.utbot.cpp.clion.plugin.client.requests.PredicateRequest
14+
import org.utbot.cpp.clion.plugin.client.requests.test.FunctionReturnTypeRequest
15+
import org.utbot.cpp.clion.plugin.client.requests.test.PredicateRequest
1616
import org.utbot.cpp.clion.plugin.utils.activeProject
1717
import org.utbot.cpp.clion.plugin.utils.currentClient
1818
import org.utbot.cpp.clion.plugin.utils.notifyError

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForProjectAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import org.utbot.cpp.clion.plugin.grpc.getProjectGrpcRequest
5-
import org.utbot.cpp.clion.plugin.client.requests.ProjectRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.ProjectRequest
66
import org.utbot.cpp.clion.plugin.utils.activeProject
77
import org.utbot.cpp.clion.plugin.utils.currentClient
88

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/actions/generate/GenerateForSnippetAction.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.cpp.clion.plugin.actions.generate
22

33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.openapi.actionSystem.CommonDataKeys
5-
import org.utbot.cpp.clion.plugin.client.requests.SnippetRequest
5+
import org.utbot.cpp.clion.plugin.client.requests.test.SnippetRequest
66
import org.utbot.cpp.clion.plugin.grpc.getSnippetGrpcRequest
77
import org.utbot.cpp.clion.plugin.utils.activeProject
88

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/client/Client.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import kotlinx.coroutines.launch
1717
import kotlinx.coroutines.runBlocking
1818
import kotlinx.coroutines.withTimeout
1919
import org.jetbrains.annotations.TestOnly
20+
import org.utbot.cpp.clion.plugin.client.channels.LogChannel
2021
import org.utbot.cpp.clion.plugin.client.requests.CheckProjectConfigurationRequest
2122
import org.utbot.cpp.clion.plugin.grpc.getProjectConfigGrpcRequest
2223
import org.utbot.cpp.clion.plugin.listeners.ConnectionStatus
@@ -31,7 +32,7 @@ import testsgen.Testgen
3132
class Client(
3233
val project: Project,
3334
clientId: String,
34-
private val loggingChannels: List<LoggingChannel>
35+
private val loggingChannels: List<LogChannel>
3536
) : Disposable,
3637
GrpcClient(projectIndependentSettings.port, projectIndependentSettings.serverName, clientId) {
3738
var connectionStatus = ConnectionStatus.INIT

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/client/ClientManager.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@ package org.utbot.cpp.clion.plugin.client
33
import com.intellij.openapi.Disposable
44
import com.intellij.openapi.components.Service
55
import com.intellij.openapi.project.Project
6+
import org.utbot.cpp.clion.plugin.client.channels.GTestLogChannelImpl
7+
import org.utbot.cpp.clion.plugin.client.channels.LogChannel
8+
import org.utbot.cpp.clion.plugin.client.channels.ServerLogChannelImpl
69
import kotlin.random.Random
710
import org.utbot.cpp.clion.plugin.listeners.ConnectionSettingsListener
811
import org.utbot.cpp.clion.plugin.utils.logger
912

1013
@Service
1114
class ClientManager(val project: Project): Disposable {
1215
private val clientId = generateClientID()
13-
private val loggingChannels = listOf<LoggingChannel>(GTestChannel(project), ServerLogChannel(project))
16+
private val loggingChannels = listOf<LogChannel>(GTestLogChannelImpl(project), ServerLogChannelImpl(project))
1417
var client: Client = Client(project, clientId, loggingChannels)
1518
private set
1619

@@ -32,9 +35,7 @@ class ClientManager(val project: Project): Disposable {
3235
}
3336
}
3437

35-
override fun dispose() {
36-
client.dispose()
37-
}
38+
override fun dispose() = client.dispose()
3839

3940
private fun generateClientID(): String {
4041
fun createRandomSequence() = (1..RANDOM_SEQUENCE_LENGTH)

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/client/LoggingChannels.kt

Lines changed: 0 additions & 81 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.utbot.cpp.clion.plugin.client.channels
2+
3+
import com.intellij.openapi.components.service
4+
import com.intellij.openapi.project.Project
5+
import kotlinx.coroutines.flow.Flow
6+
import org.utbot.cpp.clion.plugin.grpc.getDummyGrpcRequest
7+
import org.utbot.cpp.clion.plugin.grpc.getLogChannelGrpcRequest
8+
import org.utbot.cpp.clion.plugin.ui.services.OutputProvider
9+
import org.utbot.cpp.clion.plugin.ui.userLog.UTBotConsole
10+
import testsgen.Testgen
11+
import testsgen.TestsGenServiceGrpcKt
12+
13+
class GTestLogChannelImpl(project: Project): LogChannelImpl(project) {
14+
override val name: String = "GTest Log"
15+
override val logLevel: String = "TestLogLevel"
16+
17+
override val console: UTBotConsole = project.service<OutputProvider>().gtestOutputChannel.outputConsole
18+
19+
override suspend fun open(stub: TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub): Flow<Testgen.LogEntry> =
20+
stub.openGTestChannel(getLogChannelGrpcRequest(logLevel))
21+
22+
override suspend fun close(stub: TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub) {
23+
stub.closeGTestChannel(getDummyGrpcRequest())
24+
}
25+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.utbot.cpp.clion.plugin.client.channels
2+
3+
import com.intellij.openapi.project.Project
4+
import kotlinx.coroutines.flow.Flow
5+
import kotlinx.coroutines.flow.catch
6+
import kotlinx.coroutines.flow.collect
7+
import org.utbot.cpp.clion.plugin.ui.userLog.UTBotConsole
8+
import org.utbot.cpp.clion.plugin.utils.invokeOnEdt
9+
import org.utbot.cpp.clion.plugin.utils.logger
10+
import testsgen.Testgen
11+
import testsgen.TestsGenServiceGrpcKt
12+
13+
interface LogChannel {
14+
suspend fun provide(stub: TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub)
15+
}
16+
17+
abstract class LogChannelImpl(val project: Project): LogChannel {
18+
abstract val name: String
19+
abstract val logLevel: String
20+
21+
abstract val console: UTBotConsole
22+
23+
abstract suspend fun open(stub: TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub): Flow<Testgen.LogEntry>
24+
abstract suspend fun close(stub: TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub)
25+
26+
override fun toString(): String = name
27+
28+
override suspend fun provide(stub: TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub) {
29+
val logger = project.logger
30+
try {
31+
close(stub)
32+
} catch (cause: io.grpc.StatusException) {
33+
logger.error{ "Exception when closing log channel: $name \n$cause" }
34+
}
35+
36+
open(stub)
37+
.catch { cause -> logger.error{ "Exception in log channel: $name \n$cause" } }
38+
.collect { invokeOnEdt { console.info(it.message) } }
39+
}
40+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.utbot.cpp.clion.plugin.client.channels
2+
3+
import com.intellij.openapi.components.service
4+
import com.intellij.openapi.project.Project
5+
import kotlinx.coroutines.flow.Flow
6+
import org.utbot.cpp.clion.plugin.grpc.getDummyGrpcRequest
7+
import org.utbot.cpp.clion.plugin.grpc.getLogChannelGrpcRequest
8+
import org.utbot.cpp.clion.plugin.ui.services.OutputProvider
9+
import org.utbot.cpp.clion.plugin.ui.userLog.UTBotConsole
10+
import testsgen.Testgen
11+
import testsgen.TestsGenServiceGrpcKt.TestsGenServiceCoroutineStub
12+
13+
class ServerLogChannelImpl(project: Project): LogChannelImpl(project) {
14+
override val name: String = "Server Log"
15+
override val logLevel: String = "ServerLogLevel"
16+
17+
override val console: UTBotConsole = project.service<OutputProvider>().serverOutputChannel.outputConsole
18+
19+
override suspend fun open(stub: TestsGenServiceCoroutineStub): Flow<Testgen.LogEntry> =
20+
stub.openLogChannel(getLogChannelGrpcRequest(logLevel))
21+
22+
override suspend fun close(stub: TestsGenServiceCoroutineStub) {
23+
stub.closeLogChannel(getDummyGrpcRequest())
24+
}
25+
}

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/client/handlers/CoverageAndResultsHandler.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,12 @@ class CoverageAndResultsHandler(
6262
)
6363

6464
manager.coverageGathered(suite)
65-
notify(response)
65+
notifyCoverageReceived()
6666
}
6767

68-
private fun notify(reponse: Testgen.CoverageAndResultsResponse) {
69-
sourceFilePath ?: return
70-
notifyInfo(
71-
"Coverage received!", project,
72-
FocusAction(sourceFilePath)
73-
)
68+
private fun notifyCoverageReceived() {
69+
if (sourceFilePath != null) {
70+
notifyInfo("Coverage received!", project, FocusAction(sourceFilePath))
71+
}
7472
}
7573
}

0 commit comments

Comments
 (0)