diff --git a/platform/ide-core-impl/src/com/intellij/ide/impl/DataManagerImpl.java b/platform/ide-core-impl/src/com/intellij/ide/impl/DataManagerImpl.java index a27eff457524..c610e7955fc5 100644 --- a/platform/ide-core-impl/src/com/intellij/ide/impl/DataManagerImpl.java +++ b/platform/ide-core-impl/src/com/intellij/ide/impl/DataManagerImpl.java @@ -176,19 +176,9 @@ public class DataManagerImpl extends DataManager { @Override public @NotNull DataContext customizeDataContext(@NotNull DataContext context, @NotNull Object provider) { - class MyAdapter implements EdtNoGetDataProvider, DataValidators.SourceWrapper { - @Override - public @NotNull Object unwrapSource() { return provider; } - - @Override - public void dataSnapshot(@NotNull DataSink sink) { - if (provider instanceof UiDataProvider o) o.uiDataSnapshot(sink); - else if (provider instanceof DataSnapshotProvider o) o.dataSnapshot(sink); - } - } DataProvider p = provider instanceof DataProvider o ? o : - provider instanceof UiDataProvider ? new MyAdapter() : - provider instanceof DataSnapshotProvider ? new MyAdapter() : + provider instanceof UiDataProvider o ? (EdtNoGetDataProvider)sink -> sink.uiDataSnapshot(o) : + provider instanceof DataSnapshotProvider o ? (EdtNoGetDataProvider)sink -> sink.dataSnapshot(o) : null; if (p == null) throw new AssertionError("Unexpected provider: " + provider.getClass().getName()); return IdeUiService.getInstance().createCustomizedDataContext(context, p); diff --git a/platform/ide-core-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java b/platform/ide-core-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java index bacd1f48743d..beb357833dc0 100644 --- a/platform/ide-core-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java +++ b/platform/ide-core-impl/src/com/intellij/openapi/actionSystem/impl/SimpleDataContext.java @@ -7,6 +7,7 @@ import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.awt.*; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -17,8 +18,7 @@ public final class SimpleDataContext extends CustomizedDataContext { private SimpleDataContext(@NotNull Map map, @Nullable DataContext parent) { super(Objects.requireNonNullElseGet(parent, () -> IdeUiService.getInstance() - .createUiDataContext(PlatformCoreDataKeys.CONTEXT_COMPONENT - .getData((DataProvider)dataId -> getData(dataId, map)))), + .createUiDataContext((Component)map.get(PlatformCoreDataKeys.CONTEXT_COMPONENT.getName()))), (EdtNoGetDataProvider)sink -> { for (String dataId : map.keySet()) { sink.set(DataKey.create(dataId), @@ -27,11 +27,6 @@ public final class SimpleDataContext extends CustomizedDataContext { }, false); } - private static @Nullable Object getData(@NotNull String dataId, @NotNull Map map) { - return map.containsKey(dataId) ? - Objects.requireNonNullElse(map.get(dataId), EXPLICIT_NULL) : null; - } - /** @deprecated use {@link SimpleDataContext#getSimpleContext(DataKey, Object, DataContext)} instead. */ @Deprecated(forRemoval = true) public static @NotNull DataContext getSimpleContext(@NotNull String dataId, @NotNull Object data, DataContext parent) {