Skip to content

Commit f9421cd

Browse files
MrMineO5BFergerson
andauthored
Remove LiveService in favor of LiveManagementService (#807)
* Remove LiveService in favor of LiveManagementService * refactor: rename Co-authored-by: Brandon Fergerson <[email protected]>
1 parent 7a039c8 commit f9421cd

File tree

16 files changed

+77
-37
lines changed

16 files changed

+77
-37
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
8585
# Check plugin
8686
- name: Check plugin
87-
run: ./gradlew check -x :commander:kotlin-compiler-wrapper:test
87+
run: ./gradlew check -x :commander:kotlin-compiler-wrapper:test --refresh-dependencies
8888

8989
# Collect Tests Result of failed tests
9090
- name: Collect Tests Result

common/src/main/kotlin/spp/jetbrains/UserData.kt

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ import com.intellij.openapi.util.Key
2121
import io.vertx.core.Vertx
2222
import spp.jetbrains.monitor.skywalking.SkywalkingMonitorService
2323
import spp.protocol.service.LiveInstrumentService
24-
import spp.protocol.service.LiveService
24+
import spp.protocol.service.LiveManagementService
2525
import spp.protocol.service.LiveViewService
2626

2727
object UserData {
2828

2929
private val VERTX = Key.create<Vertx>("SPP_VERTX")
30-
private val LIVE_SERVICE = Key.create<LiveService>("SPP_LIVE_SERVICE")
30+
private val LIVE_MANAGEMENT_SERVICE = Key.create<LiveManagementService>("SPP_LIVE_MANAGEMENT_SERVICE")
3131
private val LIVE_VIEW_SERVICE = Key.create<LiveViewService>("SPP_LIVE_VIEW_SERVICE")
3232
private val LIVE_INSTRUMENT_SERVICE = Key.create<LiveInstrumentService>("SPP_LIVE_INSTRUMENT_SERVICE")
3333

@@ -44,13 +44,13 @@ object UserData {
4444
return project.getUserData(SkywalkingMonitorService.KEY)!!
4545
}
4646

47-
fun liveService(project: Project): LiveService? {
48-
return project.getUserData(LIVE_SERVICE)
47+
fun liveManagementService(project: Project): LiveManagementService? {
48+
return project.getUserData(LIVE_MANAGEMENT_SERVICE)
4949
}
5050

51-
fun liveService(project: Project, liveService: LiveService): LiveService {
52-
project.putUserData(LIVE_SERVICE, liveService)
53-
return liveService
51+
fun liveManagementService(project: Project, liveManagementService: LiveManagementService): LiveManagementService {
52+
project.putUserData(LIVE_MANAGEMENT_SERVICE, liveManagementService)
53+
return liveManagementService
5454
}
5555

5656
fun liveViewService(project: Project): LiveViewService? {
@@ -75,7 +75,7 @@ object UserData {
7575
fun clearServices(project: Project) {
7676
project.putUserData(VERTX, null)
7777
project.putUserData(SkywalkingMonitorService.KEY, null)
78-
project.putUserData(LIVE_SERVICE, null)
78+
project.putUserData(LIVE_MANAGEMENT_SERVICE, null)
7979
project.putUserData(LIVE_VIEW_SERVICE, null)
8080
project.putUserData(LIVE_INSTRUMENT_SERVICE, null)
8181
}

core/src/main/kotlin/spp/jetbrains/command/LiveCommand.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ abstract class LiveCommand(val project: Project) {
3636

3737
val vertx = UserData.vertx(project)
3838
val skywalkingMonitorService = UserData.skywalkingMonitorService(project)
39-
val liveService = UserData.liveService(project)!!
39+
val liveService = UserData.liveManagementService(project)!!
4040
val liveViewService = UserData.liveViewService(project)!!
4141
val liveStatusManager = LiveStatusManager.getInstance(project)
4242
val liveInstrumentService = UserData.liveInstrumentService(project)

marker/py-marker/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ val vertxVersion: String by project
66
val projectVersion: String by project
77

88
intellij {
9-
plugins.set(listOf("PythonCore:222.3739.67"))
9+
plugins.set(listOf("PythonCore:222.3739.68"))
1010
}
1111

1212
dependencies {

monitor/src/main/kotlin/spp/jetbrains/monitor/skywalking/SkywalkingMonitor.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import okhttp3.Protocol
3232
import spp.jetbrains.UserData
3333
import spp.jetbrains.monitor.skywalking.bridge.*
3434
import spp.jetbrains.monitor.skywalking.impl.SkywalkingMonitorServiceImpl
35-
import spp.jetbrains.monitor.skywalking.service.SWLiveService
35+
import spp.jetbrains.monitor.skywalking.service.SWLiveManagementService
3636
import spp.jetbrains.monitor.skywalking.service.SWLiveViewService
3737
import spp.jetbrains.status.SourceStatus.ConnectionError
3838
import spp.jetbrains.status.SourceStatusService
@@ -142,10 +142,10 @@ class SkywalkingMonitor(
142142
vertx.deployVerticle(EndpointTracesBridge(skywalkingClient)).await()
143143
vertx.deployVerticle(LogsBridge(skywalkingClient)).await()
144144

145-
if (UserData.liveService(project) == null) {
146-
val swLiveService = SWLiveService()
147-
vertx.deployVerticle(swLiveService).await()
148-
UserData.liveService(project, swLiveService)
145+
if (UserData.liveManagementService(project) == null) {
146+
val swLiveManagementService = SWLiveManagementService()
147+
vertx.deployVerticle(swLiveManagementService).await()
148+
UserData.liveManagementService(project, swLiveManagementService)
149149
}
150150
if (UserData.liveViewService(project) == null) {
151151
val swLiveViewService = SWLiveViewService()

monitor/src/main/kotlin/spp/jetbrains/monitor/skywalking/service/SWLiveService.kt renamed to monitor/src/main/kotlin/spp/jetbrains/monitor/skywalking/service/SWLiveManagementService.kt

+45-3
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,60 @@ import io.vertx.kotlin.coroutines.CoroutineVerticle
2323
import io.vertx.kotlin.coroutines.dispatcher
2424
import kotlinx.coroutines.launch
2525
import spp.jetbrains.monitor.skywalking.bridge.ServiceBridge
26+
import spp.protocol.platform.auth.ClientAccess
2627
import spp.protocol.platform.auth.CommandType
2728
import spp.protocol.platform.auth.RolePermission
2829
import spp.protocol.platform.developer.Developer
2930
import spp.protocol.platform.developer.SelfInfo
3031
import spp.protocol.platform.general.Service
3132
import spp.protocol.platform.status.ActiveInstance
32-
import spp.protocol.service.LiveService
33+
import spp.protocol.service.LiveManagementService
3334

3435
/**
35-
* Implements [LiveService] for SkyWalking-only environments.
36+
* Implements [LiveManagementService] for SkyWalking-only environments.
3637
*/
37-
class SWLiveService : CoroutineVerticle(), LiveService {
38+
class SWLiveManagementService : CoroutineVerticle(), LiveManagementService {
39+
/**
40+
* Requires Source++ platform. Fails in SkyWalking-only environments.
41+
*/
42+
override fun getRolePermissions(role: String): Future<List<RolePermission>> {
43+
return Future.failedFuture("Illegal operation")
44+
}
45+
46+
/**
47+
* Requires Source++ platform. Fails in SkyWalking-only environments.
48+
*/
49+
override fun getClientAccessors(): Future<List<ClientAccess>> {
50+
return Future.failedFuture("Illegal operation")
51+
}
52+
53+
/**
54+
* Requires Source++ platform. Fails in SkyWalking-only environments.
55+
*/
56+
override fun getClientAccess(id: String): Future<ClientAccess?> {
57+
return Future.failedFuture("Illegal operation")
58+
}
59+
60+
/**
61+
* Requires Source++ platform. Fails in SkyWalking-only environments.
62+
*/
63+
override fun addClientAccess(): Future<ClientAccess> {
64+
return Future.failedFuture("Illegal operation")
65+
}
66+
67+
/**
68+
* Requires Source++ platform. Fails in SkyWalking-only environments.
69+
*/
70+
override fun removeClientAccess(id: String): Future<Boolean> {
71+
return Future.failedFuture("Illegal operation")
72+
}
73+
74+
/**
75+
* Requires Source++ platform. Fails in SkyWalking-only environments.
76+
*/
77+
override fun updateClientAccess(id: String): Future<ClientAccess> {
78+
return Future.failedFuture("Illegal operation")
79+
}
3880

3981
/**
4082
* Requires Source++ platform. Fails in SkyWalking-only environments.

monitor/src/main/kotlin/spp/jetbrains/monitor/skywalking/service/SWLiveViewService.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,11 @@ import io.vertx.kotlin.coroutines.CoroutineVerticle
2525
import io.vertx.kotlin.coroutines.dispatcher
2626
import kotlinx.coroutines.launch
2727
import kotlinx.datetime.toJavaInstant
28-
import spp.jetbrains.monitor.skywalking.model.DurationStep
29-
import spp.jetbrains.monitor.skywalking.SkywalkingClient
3028
import spp.jetbrains.monitor.skywalking.bridge.EndpointMetricsBridge
3129
import spp.jetbrains.monitor.skywalking.bridge.EndpointTracesBridge
3230
import spp.jetbrains.monitor.skywalking.bridge.LogsBridge
3331
import spp.jetbrains.monitor.skywalking.bridge.ServiceBridge
32+
import spp.jetbrains.monitor.skywalking.model.DurationStep
3433
import spp.jetbrains.monitor.skywalking.model.GetEndpointMetrics
3534
import spp.jetbrains.monitor.skywalking.model.GetEndpointTraces
3635
import spp.jetbrains.monitor.skywalking.model.ZonedDuration

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/SourceMarkerPlugin.kt

+7-7
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ import org.apache.commons.text.CaseUtils
6363
import spp.jetbrains.PluginBundle.message
6464
import spp.jetbrains.ScopeExtensions.safeRunBlocking
6565
import spp.jetbrains.UserData
66-
import spp.jetbrains.safeLaunch
6766
import spp.jetbrains.marker.SourceMarker
6867
import spp.jetbrains.marker.jvm.ArtifactSearch
6968
import spp.jetbrains.marker.jvm.JVMMarker
@@ -73,6 +72,7 @@ import spp.jetbrains.marker.source.mark.api.filter.CreateSourceMarkFilter
7372
import spp.jetbrains.monitor.skywalking.SkywalkingMonitor
7473
import spp.jetbrains.plugin.LivePluginService
7574
import spp.jetbrains.plugin.LiveStatusManager
75+
import spp.jetbrains.safeLaunch
7676
import spp.jetbrains.sourcemarker.activities.PluginSourceMarkerStartupActivity.Companion.INTELLIJ_PRODUCT_CODES
7777
import spp.jetbrains.sourcemarker.mark.PluginSourceMarkEventListener
7878
import spp.jetbrains.sourcemarker.portal.PortalController
@@ -91,7 +91,7 @@ import spp.jetbrains.status.SourceStatus.Pending
9191
import spp.jetbrains.status.SourceStatusService
9292
import spp.protocol.SourceServices
9393
import spp.protocol.service.LiveInstrumentService
94-
import spp.protocol.service.LiveService
94+
import spp.protocol.service.LiveManagementService
9595
import spp.protocol.service.LiveViewService
9696
import java.io.File
9797
import java.net.ConnectException
@@ -355,14 +355,14 @@ class SourceMarkerPlugin(val project: Project) {
355355
log.info("Discovered $availableRecords.size services")
356356

357357
//live service
358-
if (availableRecords.any { it.name == SourceServices.Utilize.LIVE_SERVICE }) {
358+
if (availableRecords.any { it.name == SourceServices.Utilize.LIVE_MANAGEMENT_SERVICE }) {
359359
log.info("Live service available")
360360

361-
val liveService = ServiceProxyBuilder(vertx)
361+
val liveManagementService = ServiceProxyBuilder(vertx)
362362
.apply { config.serviceToken?.let { setToken(it) } }
363-
.setAddress(SourceServices.Utilize.LIVE_SERVICE)
364-
.build(LiveService::class.java)
365-
UserData.liveService(project, liveService)
363+
.setAddress(SourceServices.Utilize.LIVE_MANAGEMENT_SERVICE)
364+
.build(LiveManagementService::class.java)
365+
UserData.liveManagementService(project, liveManagementService)
366366
} else {
367367
log.warn("Live service unavailable")
368368
}

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/command/ControlBarController.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ object ControlBarController {
5454

5555
private fun determineAvailableCommandsAtLocation(inlayMark: ExpressionInlayMark): List<LiveCommand> {
5656
//todo: should store selfInfo locally and add a platform listener to trigger on changes
57-
val selfInfo = safeRunBlocking { UserData.liveService(inlayMark.project)!!.getSelf().await() }
57+
val selfInfo = safeRunBlocking { UserData.liveManagementService(inlayMark.project)!!.getSelf().await() }
5858
val availableCommandsAtLocation = mutableSetOf<LiveCommand>()
5959
availableCommandsAtLocation.addAll(
6060
LivePluginService.getInstance(inlayMark.project)

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/mark/PluginSourceMarkEventListener.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import com.intellij.openapi.fileEditor.FileEditorManager
2323
import com.intellij.openapi.project.Project
2424
import com.intellij.psi.PsiManager
2525
import io.vertx.core.Vertx
26-
import spp.jetbrains.safeLaunch
2726
import spp.jetbrains.marker.SourceMarker
2827
import spp.jetbrains.marker.jvm.JVMEndpointDetector
2928
import spp.jetbrains.marker.jvm.psi.LoggerDetector
@@ -34,6 +33,7 @@ import spp.jetbrains.marker.source.mark.api.event.SourceMarkEventCode
3433
import spp.jetbrains.marker.source.mark.api.event.SynchronousSourceMarkEventListener
3534
import spp.jetbrains.marker.source.mark.guide.MethodGuideMark
3635
import spp.jetbrains.monitor.skywalking.bridge.ServiceBridge
36+
import spp.jetbrains.safeLaunch
3737
import spp.jetbrains.sourcemarker.mark.SourceMarkKeys.ENDPOINT_DETECTOR
3838
import spp.jetbrains.sourcemarker.mark.SourceMarkKeys.LOGGER_DETECTOR
3939

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/service/LiveInstrumentManager.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import io.vertx.ext.bridge.BridgeEventType
2626
import io.vertx.ext.eventbus.bridge.tcp.impl.protocol.FrameHelper
2727
import io.vertx.kotlin.coroutines.CoroutineVerticle
2828
import spp.jetbrains.UserData
29-
import spp.jetbrains.plugin.LiveStatusManager
3029
import spp.jetbrains.marker.SourceMarker
30+
import spp.jetbrains.plugin.LiveStatusManager
3131
import spp.jetbrains.sourcemarker.mark.SourceMarkKeys
3232
import spp.jetbrains.sourcemarker.mark.SourceMarkSearch
3333
import spp.jetbrains.sourcemarker.service.discover.TCPServiceDiscoveryBackend

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/service/discover/TCPServiceDiscoveryBackend.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ class TCPServiceDiscoveryBackend : ServiceDiscoveryBackend {
149149

150150
vertx.executeBlocking<Any> {
151151
setupHandler(vertx, "get-records")
152-
setupHandler(vertx, Utilize.LIVE_SERVICE)
152+
setupHandler(vertx, Utilize.LIVE_MANAGEMENT_SERVICE)
153153
setupHandler(vertx, Utilize.LIVE_INSTRUMENT)
154154
setupHandler(vertx, Utilize.LIVE_VIEW)
155155

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/settings/SourceMarkerConfigurable.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class SourceMarkerConfigurable(val project: Project) : Configurable {
5858
if (form == null) {
5959
val config = SourceMarkerPlugin.getInstance(project).getConfig()
6060
val availServices = safeRunBlocking {
61-
UserData.liveService(project)?.getServices()?.await() ?: emptyList()
61+
UserData.liveManagementService(project)?.getServices()?.await() ?: emptyList()
6262
}
6363
form = PluginConfigurationPanel(config, availServices)
6464
form!!.applySourceMarkerConfig(config)

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/stat/SourceStatusServiceImpl.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,10 @@ import kotlinx.coroutines.isActive
2727
import spp.jetbrains.ScopeExtensions.safeGlobalAsync
2828
import spp.jetbrains.ScopeExtensions.safeGlobalLaunch
2929
import spp.jetbrains.sourcemarker.SourceMarkerPlugin
30+
import spp.jetbrains.sourcemarker.statusBar.SourceStatusBarWidget
3031
import spp.jetbrains.status.SourceStatus
3132
import spp.jetbrains.status.SourceStatus.*
3233
import spp.jetbrains.status.SourceStatusService
33-
import spp.jetbrains.sourcemarker.statusBar.SourceStatusBarWidget
34-
import java.lang.Runnable
3534
import javax.annotation.concurrent.GuardedBy
3635

3736
class SourceStatusServiceImpl(val project: Project) : SourceStatusService {

plugin/src/main/kotlin/spp/jetbrains/sourcemarker/status/LiveStatusManagerImpl.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import io.vertx.core.json.JsonObject
2828
import spp.jetbrains.ScopeExtensions.safeRunBlocking
2929
import spp.jetbrains.UserData
3030
import spp.jetbrains.icons.PluginIcons
31-
import spp.jetbrains.plugin.LiveStatusManager
3231
import spp.jetbrains.marker.impl.ArtifactCreationService
3332
import spp.jetbrains.marker.impl.ArtifactNamingService
3433
import spp.jetbrains.marker.impl.ArtifactScopeService
@@ -41,6 +40,7 @@ import spp.jetbrains.marker.source.mark.api.event.SourceMarkEvent
4140
import spp.jetbrains.marker.source.mark.api.event.SourceMarkEventCode
4241
import spp.jetbrains.marker.source.mark.api.event.SourceMarkEventListener
4342
import spp.jetbrains.marker.source.mark.inlay.InlayMark
43+
import spp.jetbrains.plugin.LiveStatusManager
4444
import spp.jetbrains.sourcemarker.SourceMarkerPlugin
4545
import spp.jetbrains.sourcemarker.mark.SourceMarkKeys
4646
import spp.jetbrains.sourcemarker.mark.SourceMarkKeys.INSTRUMENT_EVENT_LISTENERS

0 commit comments

Comments
 (0)