mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
project model: extract an application service from ModifiableModelCommitter to replace it in new project model
GitOrigin-RevId: fc05ab86d8b54020b1ebac60f9fdbb2e3629b8db
This commit is contained in:
committed by
intellij-monorepo-bot
parent
064d3dc068
commit
ee62e1573f
@@ -135,6 +135,9 @@
|
||||
<applicationService serviceInterface="com.intellij.openapi.roots.libraries.LibraryTypeService"
|
||||
serviceImplementation="com.intellij.openapi.roots.impl.libraries.LibraryTypeServiceImpl"/>
|
||||
|
||||
<applicationService serviceInterface="com.intellij.openapi.roots.impl.ModifiableModelCommitterService"
|
||||
serviceImplementation="com.intellij.openapi.roots.impl.ModifiableModelCommitterServiceImpl"/>
|
||||
|
||||
<applicationService serviceInterface="com.intellij.ui.IconDeferrer"
|
||||
serviceImplementation="com.intellij.ui.IconDeferrerImpl"/>
|
||||
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// Copyright 2000-2019 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.roots.impl;
|
||||
|
||||
import com.intellij.openapi.module.ModifiableModuleModel;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
public class ModifiableModelCommitter {
|
||||
public static void multiCommit(@NotNull ModifiableRootModel[] rootModels, @NotNull ModifiableModuleModel moduleModel) {
|
||||
multiCommit(Arrays.asList(rootModels), moduleModel);
|
||||
}
|
||||
|
||||
public static void multiCommit(@NotNull Collection<? extends ModifiableRootModel> rootModels,
|
||||
@NotNull ModifiableModuleModel moduleModel) {
|
||||
ModifiableModelCommitterService.getInstance().multiCommit(rootModels, moduleModel);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// Copyright 2000-2019 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.roots.impl;
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.module.ModifiableModuleModel;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public interface ModifiableModelCommitterService {
|
||||
void multiCommit(@NotNull Collection<? extends ModifiableRootModel> rootModels, @NotNull ModifiableModuleModel moduleModel);
|
||||
|
||||
static ModifiableModelCommitterService getInstance() {
|
||||
return ServiceManager.getService(ModifiableModelCommitterService.class);
|
||||
}
|
||||
}
|
||||
+5
-6
@@ -13,18 +13,17 @@ import com.intellij.util.graph.CachingSemiGraph;
|
||||
import com.intellij.util.graph.DFSTBuilder;
|
||||
import com.intellij.util.graph.GraphGenerator;
|
||||
import com.intellij.util.graph.InboundSemiGraph;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class ModifiableModelCommitter {
|
||||
@ApiStatus.Internal
|
||||
public class ModifiableModelCommitterServiceImpl implements ModifiableModelCommitterService {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.module.impl.ModifiableModelCommitter");
|
||||
|
||||
public static void multiCommit(@NotNull ModifiableRootModel[] rootModels, @NotNull ModifiableModuleModel moduleModel) {
|
||||
multiCommit(Arrays.asList(rootModels), moduleModel);
|
||||
}
|
||||
|
||||
public static void multiCommit(@NotNull Collection<? extends ModifiableRootModel> rootModels, @NotNull ModifiableModuleModel moduleModel) {
|
||||
@Override
|
||||
public void multiCommit(@NotNull Collection<? extends ModifiableRootModel> rootModels, @NotNull ModifiableModuleModel moduleModel) {
|
||||
ApplicationManager.getApplication().assertWriteAccessAllowed();
|
||||
|
||||
final List<RootModelImpl> modelsToCommit = getSortedChangedModels(rootModels, moduleModel);
|
||||
|
||||
Reference in New Issue
Block a user