From 9f81d64ea8895b8e3bec7efcf8c8acc04a46eda9 Mon Sep 17 00:00:00 2001 From: Leonid Shalupov Date: Mon, 10 Sep 2018 13:41:42 +0300 Subject: [PATCH] make ExternalStorageConfigurationManager an interface IDEA-CR-37150 IDEA-199211 Refactor code dependent on project model implementation --- .../src/META-INF/ExternalSystemExtensions.xml | 3 ++- .../ExternalStorageConfigurationManager.java | 13 +++++++++++++ ...t => ExternalStorageConfigurationManagerImpl.kt} | 11 +++-------- 3 files changed, 18 insertions(+), 9 deletions(-) create mode 100644 platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.java rename platform/projectModel-api/src/com/intellij/openapi/project/{ExternalStorageConfigurationManager.kt => ExternalStorageConfigurationManagerImpl.kt} (73%) diff --git a/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml b/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml index c792fb3b018a..2f6eadde7a05 100644 --- a/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml +++ b/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml @@ -27,7 +27,8 @@ - + diff --git a/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.java b/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.java new file mode 100644 index 000000000000..866ccdb53bcb --- /dev/null +++ b/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.java @@ -0,0 +1,13 @@ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.openapi.project; + +import com.intellij.openapi.components.ServiceManager; + +public interface ExternalStorageConfigurationManager { + static ExternalStorageConfigurationManager getInstance(Project project) { + return ServiceManager.getService(project, ExternalStorageConfigurationManager.class); + } + + boolean isEnabled(); + void setEnabled(boolean value); +} diff --git a/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.kt b/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManagerImpl.kt similarity index 73% rename from platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.kt rename to platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManagerImpl.kt index e2e0e816b389..44fe9ea253d0 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManager.kt +++ b/platform/projectModel-api/src/com/intellij/openapi/project/ExternalStorageConfigurationManagerImpl.kt @@ -14,12 +14,7 @@ class ExternalStorageConfiguration : BaseState() { } @State(name = "ExternalStorageConfigurationManager") -class ExternalStorageConfigurationManager : PersistentStateComponent, ModificationTracker { - companion object { - @JvmStatic - fun getInstance(project: Project): ExternalStorageConfigurationManager = ServiceManager.getService(project, ExternalStorageConfigurationManager::class.java) - } - +class ExternalStorageConfigurationManagerImpl : PersistentStateComponent, ModificationTracker, ExternalStorageConfigurationManager { private var state = ExternalStorageConfiguration() override fun getModificationCount(): Long = state.modificationCount @@ -32,12 +27,12 @@ class ExternalStorageConfigurationManager : PersistentStateComponent