override fun run()

in intellij/src/main/kotlin/motif/intellij/MotifService.kt [105:130]


              override fun run(indicator: ProgressIndicator) {
                ApplicationManager.getApplication().runReadAction {
                  try {
                    val updatedGraph: ResolvedGraph = graphFactory.compute()
                    onGraphUpdated(updatedGraph)

                    val eventName: String =
                        if (updatedGraph.errors.isNotEmpty()) {
                          MotifAnalyticsActions.GRAPH_UPDATE_ERROR
                        } else {
                          MotifAnalyticsActions.GRAPH_UPDATE_SUCCESS
                        }
                    project.getService(AnalyticsService::class.java).logEvent(eventName)
                  } catch (t: Throwable) {
                    val emptyGraph: ResolvedGraph = ResolvedGraph.create(emptyList())
                    onGraphUpdated(emptyGraph)

                    project
                        .getService(AnalyticsService::class.java)
                        .logEvent(MotifAnalyticsActions.GRAPH_COMPUTATION_ERROR)
                    PluginManager.getLogger().error(LABEL_GRAPH_COMPUTATION_ERROR, t)
                  } finally {
                    isRefreshing = false
                  }
                }
              }