[workspace model] provide implementation of FacetManager which stores data in workspa...
authornik <Nikolay.Chashnikov@jetbrains.com>
Mon, 30 Dec 2019 15:42:58 +0000 (18:42 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Mon, 30 Dec 2019 16:05:39 +0000 (16:05 +0000)
commit4088fd3d330a50ab3bcf49f10a0959e67713fea5
tree8ccd77acfd3283691675f585da315b4f5c3406b2
parenta57a38aaca482d64a045acabc65cbc57490352c8
[workspace model] provide implementation of FacetManager which stores data in workspace model

Configuration of each Facet is stored in FacetEntity, changes made via FacetManager are propagated to WorkspaceModel and vice versa. Shared code in FacetManager's implementation is extracted for FacetManagerBase. In order to properly reflect changes in configurations of individual facets, a new method FacetManager::facetConfigurationChanged is introduced which must be called after changing configuration of a facet.

GitOrigin-RevId: 0e866dcc7f5769a810bde17cbdd20e4200dfbd09
21 files changed:
java/idea-ui/src/com/intellij/facet/impl/ProjectFacetsConfigurator.java
java/idea-ui/testSrc/com/intellij/facet/FacetManagerTest.java
java/idea-ui/testSrc/com/intellij/facet/FacetTestCase.java
java/idea-ui/testSrc/com/intellij/facet/ImportedFacetsSerializationTest.kt
java/idea-ui/testSrc/com/intellij/facet/mock/MockFacet.java
platform/lang-api/src/com/intellij/facet/FacetManager.java
platform/lang-impl/src/com/intellij/facet/FacetManagerBase.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/facet/FacetManagerImpl.java
platform/lang-impl/src/com/intellij/facet/impl/FacetUtil.java
platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java
platform/workspaceModel-core/src/ImlModelEntities.kt
platform/workspaceModel-ide/src/com/intellij/workspace/ide/jpsEntitySources.kt
platform/workspaceModel-ide/src/com/intellij/workspace/jps/JpsProjectEntitiesLoader.kt
platform/workspaceModel-ide/src/com/intellij/workspace/jps/JpsProjectModelSynchronizer.kt
platform/workspaceModel-ide/src/com/intellij/workspace/jps/ModuleImlFileEntitiesSerializer.kt
platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/facet/FacetEntityChangeListener.kt [new file with mode: 0644]
platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/facet/FacetManagerViaWorkspaceModel.kt [new file with mode: 0644]
platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/facet/ModifiableFacetModelViaWorkspaceModel.kt [new file with mode: 0644]
platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/intellij/LegacyBridgeModuleImpl.kt
platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/intellij/LegacyBridgeModuleManagerComponent.kt
platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/libraries/libraries/LegacyBridgeProjectModifiableLibraryTableImpl.kt