deprecate ApplicationComponent.Adapter

This commit is contained in:
Vladimir Krivosheev
2017-03-24 17:04:55 +01:00
parent 5de4b6af06
commit 2a7782d8d8
48 changed files with 204 additions and 329 deletions
@@ -355,18 +355,7 @@ public class CompilerConfigurationImpl extends CompilerConfiguration implements
throw new MalformedPatternException(ex);
}
}
@Override
public void disposeComponent() {
}
@Override
public void initComponent() { }
@Override
public void projectClosed() {
}
public JavacCompiler getJavacCompiler() {
createCompilers();
return JAVAC_EXTERNAL_BACKEND;
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
package com.intellij.packaging.impl.artifacts;
import com.intellij.compiler.server.BuildManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.*;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.ProjectComponent;
@@ -51,7 +52,8 @@ import java.util.*;
* @author nik
*/
@State(name = ArtifactManagerImpl.COMPONENT_NAME, storages = @Storage(value = "artifacts", stateSplitter = ArtifactManagerStateSplitter.class))
public class ArtifactManagerImpl extends ArtifactManager implements ProjectComponent, PersistentStateComponent<ArtifactManagerState> {
public class ArtifactManagerImpl extends ArtifactManager implements ProjectComponent, PersistentStateComponent<ArtifactManagerState>,
Disposable {
private static final Logger LOG = Logger.getInstance("#com.intellij.packaging.impl.artifacts.ArtifactManagerImpl");
@NonNls public static final String COMPONENT_NAME = "ArtifactManager";
@NonNls public static final String PACKAGING_ELEMENT_NAME = "element";
@@ -261,7 +263,7 @@ public class ArtifactManagerImpl extends ArtifactManager implements ProjectCompo
}
@Override
public void disposeComponent() {
public void dispose() {
LocalFileSystem.getInstance().removeWatchedRoots(myWatchedOutputs.values());
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,8 +26,7 @@ import com.intellij.util.EventDispatcher;
import org.jetbrains.annotations.NotNull;
@State(name = "MemoryViewSettings", storages = @Storage("memory.view.xml"))
public class MemoryViewManager extends ApplicationComponent.Adapter
implements PersistentStateComponent<MemoryViewManagerState> {
public class MemoryViewManager implements ApplicationComponent, PersistentStateComponent<MemoryViewManagerState> {
public static final String MEMORY_VIEW_CONTENT = "MemoryView";
private final EventDispatcher<MemoryViewManagerListener> myDispatcher =
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,8 +15,8 @@
*/
package com.intellij.execution.testDiscovery;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupManager;
@@ -40,11 +40,9 @@ import java.util.List;
/**
* @author Maxim.Mossienko on 7/9/2015.
*/
public class TestDiscoveryIndex implements ProjectComponent {
public class TestDiscoveryIndex implements Disposable {
static final Logger LOG = Logger.getInstance(TestDiscoveryIndex.class);
private final Project myProject;
//private volatile TestInfoHolder mySystemHolder;
private final TestDataController myLocalTestRunDataController;
private final TestDataController myRemoteTestRunDataController;
@@ -54,8 +52,6 @@ public class TestDiscoveryIndex implements ProjectComponent {
}
public TestDiscoveryIndex(final Project project, final String basePath) {
myProject = project;
myLocalTestRunDataController = new TestDataController(basePath, false);
myRemoteTestRunDataController = new TestDataController(null, true);
@@ -85,17 +81,14 @@ public class TestDiscoveryIndex implements ProjectComponent {
}
public void removeTestTrace(@NotNull String testName) throws IOException {
myLocalTestRunDataController.withTestDataHolder(new ThrowableConvertor<TestInfoHolder, Void, IOException>() {
@Override
public Void convert(TestInfoHolder localHolder) throws IOException {
final int testNameId = localHolder.myTestNameEnumerator.tryEnumerate(testName); // todo remove remote data isn't possible
if (testNameId != 0) {
localHolder.doUpdateFromDiff(testNameId, null,
localHolder.myTestNameToUsedClassesAndMethodMap.get(testNameId),
null);
}
return null;
myLocalTestRunDataController.withTestDataHolder((ThrowableConvertor<TestInfoHolder, Void, IOException>)localHolder -> {
final int testNameId = localHolder.myTestNameEnumerator.tryEnumerate(testName); // todo remove remote data isn't possible
if (testNameId != 0) {
localHolder.doUpdateFromDiff(testNameId, null,
localHolder.myTestNameToUsedClassesAndMethodMap.get(testNameId),
null);
}
return null;
});
}
@@ -271,29 +264,11 @@ public class TestDiscoveryIndex implements ProjectComponent {
}
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
public void dispose() {
myLocalTestRunDataController.dispose();
myRemoteTestRunDataController.dispose();
}
@NotNull
@Override
public String getComponentName() {
return getClass().getName();
}
@Override
public void projectOpened() {
}
@Override
public void projectClosed() {
}
public void updateFromTestTrace(@NotNull File file,
@Nullable final String moduleName,
@NotNull final String frameworkPrefix) throws IOException {
@@ -303,43 +278,40 @@ public class TestDiscoveryIndex implements ProjectComponent {
}
private void doUpdateFromTestTrace(File file, final String testName, @Nullable final String moduleName) throws IOException {
myLocalTestRunDataController.withTestDataHolder(new ThrowableConvertor<TestInfoHolder, Void, IOException>() {
@Override
public Void convert(TestInfoHolder localHolder) throws IOException {
final int testNameId = localHolder.myTestNameEnumerator.enumerate(testName);
TIntObjectHashMap<TIntArrayList> classData = loadClassAndMethodsMap(file, localHolder);
TIntObjectHashMap<TIntArrayList> previousClassData = localHolder.myTestNameToUsedClassesAndMethodMap.get(testNameId);
if (previousClassData == null) {
previousClassData = myRemoteTestRunDataController.withTestDataHolder(
remoteDataHolder -> {
TIntObjectHashMap<TIntArrayList> remoteClassData = remoteDataHolder.myTestNameToUsedClassesAndMethodMap.get(testNameId);
if (remoteClassData == null) return null;
TIntObjectHashMap<TIntArrayList> result = new TIntObjectHashMap<>(remoteClassData.size());
Ref<IOException> exceptionRef = new Ref<>();
boolean processingResult = remoteClassData.forEachEntry((remoteClassKey, remoteClassMethodIds) -> {
try {
int localClassKey =
localHolder.myClassEnumeratorCache.enumerate(remoteDataHolder.myClassEnumeratorCache.valueOf(remoteClassKey));
TIntArrayList localClassIds = new TIntArrayList(remoteClassMethodIds.size());
for (int methodId : remoteClassMethodIds.toNativeArray()) {
localClassIds
.add(localHolder.myMethodEnumeratorCache.enumerate(remoteDataHolder.myMethodEnumeratorCache.valueOf(methodId)));
}
result.put(localClassKey, localClassIds);
return true;
} catch (IOException ex) {
exceptionRef.set(ex);
return false;
myLocalTestRunDataController.withTestDataHolder((ThrowableConvertor<TestInfoHolder, Void, IOException>)localHolder -> {
final int testNameId = localHolder.myTestNameEnumerator.enumerate(testName);
TIntObjectHashMap<TIntArrayList> classData = loadClassAndMethodsMap(file, localHolder);
TIntObjectHashMap<TIntArrayList> previousClassData = localHolder.myTestNameToUsedClassesAndMethodMap.get(testNameId);
if (previousClassData == null) {
previousClassData = myRemoteTestRunDataController.withTestDataHolder(
remoteDataHolder -> {
TIntObjectHashMap<TIntArrayList> remoteClassData = remoteDataHolder.myTestNameToUsedClassesAndMethodMap.get(testNameId);
if (remoteClassData == null) return null;
TIntObjectHashMap<TIntArrayList> result = new TIntObjectHashMap<>(remoteClassData.size());
Ref<IOException> exceptionRef = new Ref<>();
boolean processingResult = remoteClassData.forEachEntry((remoteClassKey, remoteClassMethodIds) -> {
try {
int localClassKey =
localHolder.myClassEnumeratorCache.enumerate(remoteDataHolder.myClassEnumeratorCache.valueOf(remoteClassKey));
TIntArrayList localClassIds = new TIntArrayList(remoteClassMethodIds.size());
for (int methodId : remoteClassMethodIds.toNativeArray()) {
localClassIds
.add(localHolder.myMethodEnumeratorCache.enumerate(remoteDataHolder.myMethodEnumeratorCache.valueOf(methodId)));
}
});
if (!processingResult) throw exceptionRef.get();
return result;
result.put(localClassKey, localClassIds);
return true;
} catch (IOException ex) {
exceptionRef.set(ex);
return false;
}
});
}
localHolder.doUpdateFromDiff(testNameId, classData, previousClassData, moduleName != null ? localHolder.myModuleNameEnumerator.enumerate(moduleName) : null);
return null;
if (!processingResult) throw exceptionRef.get();
return result;
});
}
localHolder.doUpdateFromDiff(testNameId, classData, previousClassData, moduleName != null ? localHolder.myModuleNameEnumerator.enumerate(moduleName) : null);
return null;
});
}
@@ -7,7 +7,7 @@ import com.intellij.notification.NotificationType;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ApplicationNamesInfo;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.NotNullLazyValue;
@@ -32,7 +32,7 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
public class BuiltInServerManagerImpl extends BuiltInServerManager implements ApplicationComponentAdapter {
public class BuiltInServerManagerImpl extends BuiltInServerManager implements ApplicationComponent {
private static final Logger LOG = Logger.getInstance(BuiltInServerManager.class);
public static final NotNullLazyValue<NotificationGroup> NOTIFICATION_GROUP = new NotNullLazyValue<NotificationGroup>() {
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,8 +17,6 @@
package com.intellij.openapi.components;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
/**
* @author Dmitry Avdeev
@@ -29,31 +27,4 @@ public abstract class AbstractProjectComponent implements ProjectComponent {
protected AbstractProjectComponent(Project project) {
myProject = project;
}
@Override
@NonNls
@NotNull
public String getComponentName() {
return getClass().getName();
}
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
}
@Override
public void projectOpened() {
}
@Override
public void projectClosed() {
}
}
@@ -15,8 +15,6 @@
*/
package com.intellij.openapi.components;
import org.jetbrains.annotations.NotNull;
/**
* Application-level component's implementation class may implement the {@code ApplicationComponent} interface.<br>
* It may have constructor with parameters that are also application components.
@@ -27,17 +25,10 @@ import org.jetbrains.annotations.NotNull;
* actions explicitly.</strong>
*/
public interface ApplicationComponent extends BaseComponent {
/**
* @deprecated Use {@link ApplicationComponent} directly
*/
@Deprecated
class Adapter implements ApplicationComponent {
@NotNull
@Override
public String getComponentName() {
return getClass().getSimpleName();
}
@Override
public void disposeComponent() { }
@Override
public void initComponent() { }
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,10 +26,13 @@ public interface BaseComponent extends NamedComponent {
* Component should perform initialization and communication with other components in this method.
* This is called after {@link com.intellij.openapi.components.PersistentStateComponent#loadState(Object)}.
*/
void initComponent();
default void initComponent() {
}
/**
* Component should dispose system resources or perform other cleanup in this method.
* @deprecated Use {@link com.intellij.openapi.Disposable}
*/
void disposeComponent();
@Deprecated
default void disposeComponent() {
}
}
@@ -1,3 +1,18 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.openapi.components;
import org.jetbrains.annotations.NonNls;
@@ -12,5 +27,7 @@ public interface NamedComponent {
*/
@NonNls
@NotNull
String getComponentName();
default String getComponentName() {
return getClass().getName();
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,12 +33,14 @@ public interface ProjectComponent extends BaseComponent {
* Note that components may be created for even unopened projects and this method can be never
* invoked for a particular component instance (for example for default project).
*/
void projectOpened();
default void projectOpened() {
}
/**
* Invoked when the project corresponding to this component instance is closed.<p>
* Note that components may be created for even unopened projects and this method can be never
* invoked for a particular component instance (for example for default project).
*/
void projectClosed();
default void projectClosed() {
}
}
@@ -55,7 +55,7 @@ import java.util.concurrent.atomic.AtomicInteger;
/**
* @author yole
*/
public class PerformanceWatcher extends ApplicationComponent.Adapter implements Disposable {
public class PerformanceWatcher implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.diagnostic.PerformanceWatcher");
private static final int TOLERABLE_LATENCY = 100;
private static final String THREAD_DUMPS_PREFIX = "threadDumps-";
@@ -28,7 +28,7 @@ import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.*;
@@ -46,7 +46,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.*;
public class ExecutorRegistryImpl extends ExecutorRegistry implements Disposable, ApplicationComponentAdapter {
public class ExecutorRegistryImpl extends ExecutorRegistry implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance(ExecutorRegistryImpl.class);
@NonNls public static final String RUNNERS_GROUP = "RunnerActions";
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
class IdeStartupScripts extends ApplicationComponent.Adapter {
class IdeStartupScripts implements ApplicationComponent {
private static final Logger LOG = Logger.getInstance(IdeStartupScripts.class);
private static final String SCRIPT_DIR = "startup";
@@ -15,13 +15,13 @@
*/
package com.intellij.openapi.roots.impl.libraries;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.roots.libraries.LibraryType;
/**
* @author nik
*/
public class LibraryKindLoader implements ApplicationComponentAdapter {
public class LibraryKindLoader implements ApplicationComponent {
@Override
public void initComponent() {
//todo[nik] this is temporary workaround for IDEA-98118: we need to initialize all library types to ensure that their kinds are created and registered in LibraryKind.ourAllKinds
@@ -39,7 +39,10 @@ import com.intellij.util.Processors;
import com.intellij.util.SmartList;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.indexing.*;
import com.intellij.util.indexing.impl.*;
import com.intellij.util.indexing.impl.IndexStorage;
import com.intellij.util.indexing.impl.InputDataDiffBuilder;
import com.intellij.util.indexing.impl.MapInputDataDiffBuilder;
import com.intellij.util.indexing.impl.UpdateData;
import com.intellij.util.io.DataExternalizer;
import com.intellij.util.io.DataInputOutputUtil;
import com.intellij.util.io.KeyDescriptor;
@@ -49,14 +52,17 @@ import gnu.trove.TObjectIntHashMap;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.*;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.File;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
@State(name = "FileBasedIndex", storages = @Storage(value = "stubIndex.xml", roamingType = RoamingType.DISABLED))
public class StubIndexImpl extends StubIndex implements ApplicationComponentAdapter, PersistentStateComponent<StubIndexState> {
public class StubIndexImpl extends StubIndex implements PersistentStateComponent<StubIndexState>, ApplicationComponent {
private static final AtomicReference<Boolean> ourForcedClean = new AtomicReference<>(null);
private static final Logger LOG = Logger.getInstance("#com.intellij.psi.stubs.StubIndexImpl");
@@ -20,7 +20,7 @@ import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
@@ -74,7 +74,7 @@ import static com.intellij.openapi.util.Pair.pair;
@Storage(value = "other.xml", deprecated = true)
}
)
public class HttpConfigurable implements PersistentStateComponent<HttpConfigurable>, ApplicationComponentAdapter, Disposable {
public class HttpConfigurable implements PersistentStateComponent<HttpConfigurable>, Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.util.net.HttpConfigurable");
private static final File PROXY_CREDENTIALS_FILE = new File(PathManager.getOptionsPath(), "proxy.settings.pwd");
public static final int CONNECTION_TIMEOUT = SystemProperties.getIntProperty("idea.connection.timeout", 10000);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -164,14 +164,6 @@ public abstract class LightToolWindowManager implements ProjectComponent {
protected abstract ToolWindowAnchor getAnchor();
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
}
//////////////////////////////////////////////////////////////////////////////////////////
//
// LightToolWindow
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ import org.apache.log4j.LogManager
* Allows to apply & persist custom log debug categories which can be turned on by user via the [com.intellij.ide.actions.DebugLogConfigureAction].
* Applies these custom categories on startup.
*/
class DebugLogManager : ApplicationComponent.Adapter() {
class DebugLogManager : ApplicationComponent {
enum class DebugLogLevel { DEBUG, TRACE }
fun getSavedCategories(): List<Pair<String, DebugLogLevel>> {
@@ -19,7 +19,7 @@ import com.intellij.Patches;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.ClipboardUtil;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.SystemInfo;
@@ -59,7 +59,7 @@ import java.util.function.Supplier;
*
* @author nik
*/
public class ClipboardSynchronizer implements ApplicationComponentAdapter, Disposable {
public class ClipboardSynchronizer implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.ide.ClipboardSynchronizer");
private final ClipboardHandler myClipboardHandler;
@@ -24,7 +24,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.ex.AnActionListener;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.ui.popup.Balloon;
import com.intellij.openapi.ui.popup.BalloonBuilder;
import com.intellij.openapi.ui.popup.JBPopupFactory;
@@ -54,7 +54,7 @@ import java.awt.*;
import java.awt.event.AWTEventListener;
import java.awt.event.MouseEvent;
public class IdeTooltipManager implements ApplicationComponentAdapter, Disposable, AWTEventListener {
public class IdeTooltipManager implements Disposable, AWTEventListener, ApplicationComponent {
private static final Key<IdeTooltip> CUSTOM_TOOLTIP = Key.create("custom.tooltip");
private static final MouseEventAdapter<Void> DUMMY_LISTENER = new MouseEventAdapter<>(null);
public static final String IDE_TOOLTIP_PLACE = "IdeTooltip";
@@ -56,7 +56,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SystemHealthMonitor extends ApplicationComponent.Adapter {
public class SystemHealthMonitor implements ApplicationComponent {
private static final Logger LOG = Logger.getInstance(SystemHealthMonitor.class);
private static final NotificationGroup GROUP = new NotificationGroup("System Health", NotificationDisplayType.STICKY_BALLOON, false);
@@ -94,7 +94,7 @@ import java.util.List;
@Storage(value = "options.xml", deprecated = true)
}
)
public final class LafManagerImpl extends LafManager implements ApplicationComponentAdapter, PersistentStateComponent<Element>, Disposable {
public final class LafManagerImpl extends LafManager implements PersistentStateComponent<Element>, Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.ide.ui.LafManager");
@NonNls private static final String ELEMENT_LAF = "laf";
@@ -40,7 +40,9 @@ import java.util.concurrent.TimeUnit;
name = "StatisticsApplicationUsages",
storages = @Storage(value = "statistics.application.usages.xml", roamingType = RoamingType.DISABLED)
)
public class ApplicationStatisticsPersistenceComponent extends ApplicationStatisticsPersistence implements ApplicationComponentAdapter, PersistentStateComponent<Element> {
public class ApplicationStatisticsPersistenceComponent extends ApplicationStatisticsPersistence implements
PersistentStateComponent<Element>,
ApplicationComponent {
private boolean persistOnClosing = !ApplicationManager.getApplication().isUnitTestMode();
private static final String TOKENIZER = ",";
@@ -25,7 +25,7 @@ import com.intellij.notification.NotificationDisplayType;
import com.intellij.notification.NotificationsConfiguration;
import com.intellij.notification.impl.NotificationsConfigurationImpl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.wm.WindowManager;
import com.intellij.openapi.wm.ex.WindowManagerEx;
@@ -38,7 +38,7 @@ import java.awt.*;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
public class SendStatisticsComponent implements ApplicationComponentAdapter {
public class SendStatisticsComponent implements ApplicationComponent {
private static final Logger LOG = Logger.getInstance(SendStatisticsComponent.class);
@@ -19,7 +19,7 @@ import com.intellij.notification.NotificationDisplayType;
import com.intellij.notification.NotificationGroup;
import com.intellij.notification.NotificationsConfiguration;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
@@ -43,8 +43,8 @@ import java.util.Map;
name = "NotificationConfiguration",
storages = @Storage("notifications.xml")
)
public class NotificationsConfigurationImpl extends NotificationsConfiguration implements ApplicationComponentAdapter, PersistentStateComponent<Element>,
Disposable {
public class NotificationsConfigurationImpl extends NotificationsConfiguration implements PersistentStateComponent<Element>,
Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance(NotificationsConfiguration.class);
private static final String SHOW_BALLOONS_ATTRIBUTE = "showBalloons";
@@ -25,14 +25,14 @@ import com.intellij.openapi.actionSystem.DataContext
import com.intellij.openapi.actionSystem.DefaultActionGroup
import com.intellij.openapi.actionSystem.impl.BundledQuickListsProvider
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.components.ApplicationComponentAdapter
import com.intellij.openapi.components.ApplicationComponent
import com.intellij.openapi.options.SchemeManager
import com.intellij.openapi.options.SchemeManagerFactory
import com.intellij.openapi.project.Project
import gnu.trove.THashSet
import java.util.function.Function
class QuickListsManager(private val myActionManager: ActionManager, schemeManagerFactory: SchemeManagerFactory) : ApplicationComponentAdapter {
class QuickListsManager(private val myActionManager: ActionManager, schemeManagerFactory: SchemeManagerFactory) : ApplicationComponent {
private val mySchemeManager: SchemeManager<QuickList>
init {
@@ -16,7 +16,7 @@
package com.intellij.openapi.application;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -32,7 +32,7 @@ import java.util.concurrent.Executor;
/**
* @author peter
*/
public class Preloader implements ApplicationComponentAdapter, Disposable {
public class Preloader implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.application.Preloader");
private final Executor myExecutor = SequentialTaskExecutor.createSequentialApplicationPoolExecutor("com.intellij.openapi.application.Preloader pool");
private final ProgressIndicator myIndicator = new ProgressIndicatorBase();
@@ -18,7 +18,7 @@ package com.intellij.openapi.command.impl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.undo.DocumentReference;
import com.intellij.openapi.command.undo.DocumentReferenceManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.util.Key;
@@ -40,7 +40,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class DocumentReferenceManagerImpl extends DocumentReferenceManager implements ApplicationComponentAdapter {
public class DocumentReferenceManagerImpl extends DocumentReferenceManager implements ApplicationComponent {
private static final Key<List<VirtualFile>> DELETED_FILES = Key.create(DocumentReferenceManagerImpl.class.getName() + ".DELETED_FILES");
private final Map<Document, DocumentReference> myDocToRef = new WeakKeyWeakValueHashMap<>();
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,7 +19,6 @@ import com.intellij.ide.plugins.PluginManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.BaseComponent;
import com.intellij.openapi.components.ComponentManager;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.ServiceDescriptor;
@@ -35,7 +34,6 @@ import com.intellij.util.PlatformUtils;
import com.intellij.util.io.storage.HeavyProcessLatch;
import com.intellij.util.pico.AssignableToComponentAdapter;
import com.intellij.util.pico.CachingConstructorInjectionComponentAdapter;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.picocontainer.*;
import org.picocontainer.defaults.InstanceComponentAdapter;
@@ -44,7 +42,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
public class ServiceManagerImpl implements BaseComponent {
public class ServiceManagerImpl implements Disposable {
private static final Logger LOG = Logger.getInstance(ServiceManagerImpl.class);
private static final ExtensionPointName<ServiceDescriptor> APP_SERVICES = new ExtensionPointName<>("com.intellij.applicationService");
@@ -157,20 +155,9 @@ public class ServiceManagerImpl implements BaseComponent {
}
}
}
@Override
@NonNls
@NotNull
public String getComponentName() {
return getClass().getName();
}
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
public void dispose() {
final ExtensionPoint<ServiceDescriptor> extensionPoint = Extensions.getArea(null).getExtensionPoint(myExtensionPointName);
extensionPoint.removeExtensionPointListener(myExtensionPointListener);
}
@@ -22,7 +22,7 @@ import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityStateListener;
import com.intellij.openapi.application.impl.LaterInvocator;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
@@ -56,7 +56,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.List;
public class EditorFactoryImpl extends EditorFactory implements ApplicationComponentAdapter {
public class EditorFactoryImpl extends EditorFactory implements ApplicationComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.editor.impl.EditorFactoryImpl");
private final EditorEventMulticasterImpl myEditorEventMulticaster = new EditorEventMulticasterImpl();
private final EventDispatcher<EditorFactoryListener> myEditorFactoryEventDispatcher = EventDispatcher.create(EditorFactoryListener.class);
@@ -19,7 +19,7 @@ import com.intellij.injected.editor.EditorWindow;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.AnActionListener;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.EditorLastActionTracker;
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class EditorLastActionTrackerImpl extends EditorMouseAdapter
implements ApplicationComponentAdapter, AnActionListener, EditorMouseListener, Disposable, EditorLastActionTracker {
implements AnActionListener, EditorMouseListener, Disposable, EditorLastActionTracker, ApplicationComponent {
private final ActionManager myActionManager;
private final EditorEventMulticaster myEditorEventMulticaster;
@@ -23,7 +23,7 @@ import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
@@ -81,7 +81,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
@State(name = "FileTypeManager", storages = @Storage("filetypes.xml"), additionalExportFile = FileTypeManagerImpl.FILE_SPEC )
public class FileTypeManagerImpl extends FileTypeManagerEx implements PersistentStateComponent<Element>, ApplicationComponentAdapter, Disposable {
public class FileTypeManagerImpl extends FileTypeManagerEx implements PersistentStateComponent<Element>, Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance(FileTypeManagerImpl.class);
// You must update all existing default configurations accordingly
@@ -22,7 +22,7 @@ import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.actionSystem.ex.AnActionListener;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.keymap.KeymapManager;
import com.intellij.openapi.util.Clock;
@@ -49,7 +49,7 @@ import java.util.concurrent.atomic.AtomicLong;
* functionality (invoked on double Shift), so if you need to change them, please make sure
* SearchEverywhere behaviour remains intact.
*/
public class ModifierKeyDoubleClickHandler implements Disposable, ApplicationComponentAdapter {
public class ModifierKeyDoubleClickHandler implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance(ModifierKeyDoubleClickHandler.class);
private static final TIntIntHashMap KEY_CODE_TO_MODIFIER_MAP = new TIntIntHashMap();
static {
@@ -26,7 +26,7 @@ import com.intellij.openapi.application.ApplicationInfo;
import com.intellij.openapi.application.ConfigImportHelper;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -47,7 +47,7 @@ import static java.lang.Math.max;
/**
* @author yole
*/
public class UpdateCheckerComponent implements ApplicationComponentAdapter, Disposable {
public class UpdateCheckerComponent implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance(UpdateCheckerComponent.class);
private static final long CHECK_INTERVAL = DateFormatUtil.DAY;
@@ -15,13 +15,13 @@
*/
package com.intellij.openapi.util;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.ui.mac.foundation.Foundation;
/**
* User: spLeaner
*/
public class FoundationLoader implements ApplicationComponentAdapter {
public class FoundationLoader implements ApplicationComponent {
@Override
public void initComponent() {
if (SystemInfo.isMac) {
@@ -1,34 +0,0 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.openapi.components;
import org.jetbrains.annotations.NotNull;
public interface ApplicationComponentAdapter extends ApplicationComponent {
@NotNull
@Override
default String getComponentName() {
return getClass().getSimpleName();
}
/**
* @deprecated Please use {@link com.intellij.openapi.Disposable}
*/
@Override
@Deprecated
default void disposeComponent() {
}
}
@@ -16,7 +16,7 @@
package com.intellij.remoteServer.impl.configuration.deployment;
import com.intellij.execution.configurations.ConfigurationType;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.remoteServer.ServerType;
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.NotNull;
/**
* @author nik
*/
public class DeployToServerConfigurationTypesRegistrar implements ApplicationComponentAdapter {
public class DeployToServerConfigurationTypesRegistrar implements ApplicationComponent {
@Override
public void initComponent() {
//todo[nik] improve this: configuration types should be loaded lazily
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -134,20 +134,17 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
LOG.debug(message);
}
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
changeDetails();
}
});
SwingUtilities.invokeLater(() -> changeDetails());
}
};
}
@Override
public void projectOpened() {
final ChangeListManager changeListManager = ChangeListManager.getInstance(myProject);
changeListManager.addChangeListListener(myListener);
Disposer.register(myProject, new Disposable() {
@Override
public void dispose() {
changeListManager.removeChangeListListener(myListener);
}
@@ -158,26 +155,21 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
myContentManager.addContent(myContent);
scheduleRefresh();
myProject.getMessageBus().connect().subscribe(RemoteRevisionsCache.REMOTE_VERSION_CHANGED, new Runnable() {
public void run() {
ApplicationManager.getApplication().invokeLater(new Runnable() {
public void run() {
refreshView();
}
}, ModalityState.NON_MODAL, myProject.getDisposed());
}
});
myProject.getMessageBus().connect().subscribe(RemoteRevisionsCache.REMOTE_VERSION_CHANGED,
() -> ApplicationManager.getApplication().invokeLater(() -> refreshView(), ModalityState.NON_MODAL, myProject.getDisposed()));
myDetailsOn = VcsConfiguration.getInstance(myProject).LOCAL_CHANGES_DETAILS_PREVIEW_SHOWN;
changeDetails();
}
@Override
public void projectClosed() {
myView.removeTreeSelectionListener(myTsl);
myDisposed = true;
myRepaintAlarm.cancelAllRequests();
}
@Override
@NonNls @NotNull
public String getComponentName() {
return "ChangesViewManager";
@@ -275,40 +267,31 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
private void updateProgressComponent(@NotNull final Factory<JComponent> progress) {
//noinspection SSBasedInspection
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (myProgressLabel != null) {
myProgressLabel.removeAll();
myProgressLabel.add(progress.create());
myProgressLabel.setMinimumSize(JBUI.emptySize());
}
SwingUtilities.invokeLater(() -> {
if (myProgressLabel != null) {
myProgressLabel.removeAll();
myProgressLabel.add(progress.create());
myProgressLabel.setMinimumSize(JBUI.emptySize());
}
});
}
@Override
public void updateProgressText(String text, boolean isError) {
updateProgressComponent(createTextStatusFactory(text, isError));
}
@Override
public void setBusy(final boolean b) {
UIUtil.invokeLaterIfNeeded(new Runnable() {
@Override
public void run() {
myView.setPaintBusy(b);
}
});
UIUtil.invokeLaterIfNeeded(() -> myView.setPaintBusy(b));
}
@NotNull
public static Factory<JComponent> createTextStatusFactory(final String text, final boolean isError) {
return new Factory<JComponent>() {
@Override
public JComponent create() {
JLabel label = new JLabel(text);
label.setForeground(isError ? JBColor.RED : UIUtil.getLabelForeground());
return label;
}
return () -> {
JLabel label = new JLabel(text);
label.setForeground(isError ? JBColor.RED : UIUtil.getLabelForeground());
return label;
};
}
@@ -321,11 +304,7 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
LOG.debug("schedule refresh, was " + was);
}
if (!myRepaintAlarm.isDisposed()) {
myRepaintAlarm.addRequest(new Runnable() {
public void run() {
refreshView();
}
}, 100, ModalityState.NON_MODAL);
myRepaintAlarm.addRequest(() -> refreshView(), 100, ModalityState.NON_MODAL);
}
}
@@ -387,11 +366,7 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
@Override
public void refreshChangesViewNodeAsync(@NotNull final VirtualFile file) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
public void run() {
refreshChangesViewNode(file);
}
}, myProject.getDisposed());
ApplicationManager.getApplication().invokeLater(() -> refreshChangesViewNode(file), myProject.getDisposed());
}
private void refreshChangesViewNode(@NotNull VirtualFile file) {
@@ -419,26 +394,32 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
private class MyChangeListListener extends ChangeListAdapter {
@Override
public void changeListAdded(ChangeList list) {
scheduleRefresh();
}
@Override
public void changeListRemoved(ChangeList list) {
scheduleRefresh();
}
@Override
public void changeListRenamed(ChangeList list, String oldName) {
scheduleRefresh();
}
@Override
public void changesMoved(Collection<Change> changes, ChangeList fromList, ChangeList toList) {
scheduleRefresh();
}
@Override
public void defaultListChanged(final ChangeList oldDefaultList, ChangeList newDefaultList) {
scheduleRefresh();
}
@Override
public void changeListUpdateDone() {
scheduleRefresh();
ChangeListManagerImpl changeListManager = ChangeListManagerImpl.getInstanceImpl(myProject);
@@ -461,19 +442,23 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
}
private class Expander implements TreeExpander {
@Override
public void expandAll() {
TreeUtil.expandAll(myView);
}
@Override
public boolean canExpand() {
return true;
}
@Override
public void collapseAll() {
TreeUtil.collapseAll(myView, 2);
TreeUtil.expand(myView, 1);
}
@Override
public boolean canCollapse() {
return true;
}
@@ -486,10 +471,12 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
AllIcons.Actions.GroupByPackage);
}
@Override
public boolean isSelected(AnActionEvent e) {
return !myState.myShowFlatten;
}
@Override
public void setSelected(AnActionEvent e, boolean state) {
setShowFlattenMode(!state);
}
@@ -502,24 +489,18 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
AllIcons.Actions.ShowHiddens);
}
@Override
public boolean isSelected(AnActionEvent e) {
return myState.myShowIgnored;
}
@Override
public void setSelected(AnActionEvent e, boolean state) {
myState.myShowIgnored = state;
refreshView();
}
}
@Override
public void disposeComponent() {
}
@Override
public void initComponent() {
}
private class ToggleDetailsAction extends ToggleAction implements DumbAware {
private ToggleDetailsAction() {
super("Preview Diff", null, AllIcons.Actions.PreviewDetails);
@@ -24,7 +24,7 @@ package com.intellij.openapi.vcs.changes;
import com.intellij.AppTopics;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.FileDocumentManagerAdapter;
@@ -38,7 +38,7 @@ import com.intellij.util.containers.ContainerUtil;
import java.util.Map;
public class VetoSavingCommittingDocumentsAdapter implements ApplicationComponentAdapter {
public class VetoSavingCommittingDocumentsAdapter implements ApplicationComponent {
static final Object SAVE_DENIED = new Object();
private final FileDocumentManager myFileDocumentManager;
@@ -15,10 +15,10 @@
*/
package com.intellij.openapi.vcs.changes.actions.migrate;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diff.DiffManager;
public class MigrateDiffApplicationComponent implements ApplicationComponentAdapter {
public class MigrateDiffApplicationComponent implements ApplicationComponent {
@Override
public void initComponent() {
DiffManager.getInstance().registerDiffTool(MigrateDiffTool.INSTANCE);
@@ -19,14 +19,14 @@ import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationActivationListener;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ClipboardAnalyzeListener;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.diff.impl.patch.PatchReader;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vcs.VcsApplicationSettings;
import com.intellij.openapi.wm.IdeFrame;
import org.jetbrains.annotations.NotNull;
public class PatchClipboardTracker implements ApplicationComponentAdapter, Disposable {
public class PatchClipboardTracker implements Disposable, ApplicationComponent {
private static final PatchClipboardListener LISTENER = new PatchClipboardListener();
@Override
@@ -24,7 +24,7 @@ import java.util.Map;
name = "ShortcutPromoterManager",
storages = @Storage(value = "promoter.xml", roamingType = RoamingType.PER_OS)
)
public class ShortcutPromoterManager implements ApplicationComponentAdapter, Disposable, AnActionListener, PersistentStateComponent<Element> {
public class ShortcutPromoterManager implements Disposable, AnActionListener, PersistentStateComponent<Element>, ApplicationComponent {
private final Map<String, PromoterState> myState = new LinkedHashMap<>();
private final Map<String, ShortcutPromoterEP> myExtensions = new THashMap<>();
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2010 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@ package org.jetbrains.idea.devkit.testAssistant;
import com.intellij.codeHighlighting.TextEditorHighlightingPass;
import com.intellij.codeHighlighting.TextEditorHighlightingPassFactory;
import com.intellij.codeHighlighting.TextEditorHighlightingPassRegistrar;
import com.intellij.openapi.components.AbstractProjectComponent;
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.project.Project;
@@ -26,7 +26,6 @@ import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -36,7 +35,7 @@ import java.util.List;
/**
* @author Konstantin Bulenkov
*/
public class TestDataHighlightingPassFactory extends AbstractProjectComponent implements TextEditorHighlightingPassFactory {
public class TestDataHighlightingPassFactory implements ProjectComponent, TextEditorHighlightingPassFactory {
public static final List<String> SUPPORTED_FILE_TYPES = Arrays.asList(
StdFileTypes.JAVA.getDefaultExtension()
);
@@ -45,19 +44,15 @@ public class TestDataHighlightingPassFactory extends AbstractProjectComponent im
);
private static final int MAX_HOPES = 3;
private static final String TEST_DATA = "testdata";
private final Project myProject;
public TestDataHighlightingPassFactory(Project project, TextEditorHighlightingPassRegistrar highlightingPassRegistrar) {
super(project);
myProject = project;
highlightingPassRegistrar.registerTextEditorHighlightingPass(this, null, null, true, -1);
}
@NonNls
@NotNull
public String getComponentName() {
return getClass().getName();
}
@Override
@Nullable
public TextEditorHighlightingPass createHighlightingPass(@NotNull PsiFile file, @NotNull final Editor editor) {
final VirtualFile virtualFile = file.getVirtualFile();
@@ -25,7 +25,7 @@ import org.gradle.tooling.internal.consumer.DefaultGradleConnector;
* @author Vladislav.Soroka
* @since 2/8/2017
*/
public class GradleCleanupService extends ApplicationComponent.Adapter implements Disposable {
public class GradleCleanupService implements Disposable, ApplicationComponent {
private static final Logger LOG = Logger.getInstance(GradleCleanupService.class);
@Override
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@ import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.util.io.FileUtil;
import org.jetbrains.annotations.NotNull;
public class MavenEnvironmentRegistrar extends ApplicationComponent.Adapter {
public class MavenEnvironmentRegistrar implements ApplicationComponent {
private static final String MAVEN_REPOSITORY = "MAVEN_REPOSITORY";
@NotNull
@@ -20,7 +20,7 @@ import com.intellij.lang.Language;
import com.intellij.lang.LanguageFormatting;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
@@ -44,7 +44,7 @@ import java.awt.*;
storages = {
@Storage("other.xml")}
)
class XsltConfigImpl extends XsltConfig implements PersistentStateComponent<XsltConfigImpl>, ApplicationComponentAdapter {
class XsltConfigImpl extends XsltConfig implements PersistentStateComponent<XsltConfigImpl>, ApplicationComponent {
public boolean SHOW_LINKED_FILES = true;
@Nullable
@@ -21,7 +21,7 @@ import com.intellij.codeInsight.hint.HintUtil;
import com.intellij.codeInsight.template.impl.DefaultLiveTemplatesProvider;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
@@ -56,7 +56,7 @@ import java.util.List;
@Storage(value = "other.xml", deprecated = true)
}
)
public class XPathAppComponent implements ApplicationComponentAdapter, PersistentStateComponent<Config>, DefaultLiveTemplatesProvider {
public class XPathAppComponent implements PersistentStateComponent<Config>, DefaultLiveTemplatesProvider, ApplicationComponent {
private static final String ACTION_FIND_NEXT = "FindNext";
private static final String ACTION_FIND_PREVIOUS = "FindPrevious";
@@ -20,7 +20,7 @@ import com.intellij.javaee.ResourceRegistrar;
import com.intellij.javaee.StandardResourceProvider;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.components.ApplicationComponentAdapter;
import com.intellij.openapi.components.ApplicationComponent;
import com.intellij.psi.PsiElement;
import com.intellij.psi.filters.AndFilter;
import com.intellij.psi.filters.ClassFilter;
@@ -39,7 +39,7 @@ import org.intellij.plugins.relaxNG.validation.ValidateAction;
import org.intellij.plugins.relaxNG.xml.dom.RngDefine;
import org.intellij.plugins.relaxNG.xml.dom.impl.RngDefineMetaData;
public class ApplicationLoader implements ApplicationComponentAdapter {
public class ApplicationLoader implements ApplicationComponent {
private static final String RNG_EXT = "rng";
private static final String VALIDATE_XML = "ValidateXml";
public static final String RNG_NAMESPACE = "http://relaxng.org/ns/structure/1.0";