From ca13b82c4e7109fdcb42464e4b1de51dfafa8118 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 13 Nov 2013 12:00:35 +0100 Subject: [PATCH] platform: prematurely deprecated API returned --- .../vcs/impl/CheckinHandlersManager.java | 14 ++++++++++ .../vcs/impl/CheckinHandlersManagerImpl.java | 27 ++++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/impl/CheckinHandlersManager.java b/platform/vcs-api/src/com/intellij/openapi/vcs/impl/CheckinHandlersManager.java index abf11f2230a5..0430da5c9a6e 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/impl/CheckinHandlersManager.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/impl/CheckinHandlersManager.java @@ -18,6 +18,8 @@ package com.intellij.openapi.vcs.impl; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.checkin.BaseCheckinHandlerFactory; +import com.intellij.openapi.vcs.checkin.VcsCheckinHandlerFactory; +import org.jetbrains.annotations.NotNull; import java.util.List; @@ -33,4 +35,16 @@ public abstract class CheckinHandlersManager { * @return the list of registered factories */ public abstract List getRegisteredCheckinHandlerFactories(AbstractVcs[] allActiveVcss); + + @SuppressWarnings("UnusedDeclaration") + /** @deprecated use EP {@link #getRegisteredCheckinHandlerFactories(AbstractVcs[])} (to remove in IDEA 14) */ + public abstract List getMatchingVcsFactories(@NotNull final List keys); + + @SuppressWarnings("UnusedDeclaration") + /** @deprecated use EP {@link com.intellij.openapi.vcs.checkin.CheckinHandlerFactory#EP_NAME} (to remove in IDEA 14) */ + public abstract void registerCheckinHandlerFactory(BaseCheckinHandlerFactory factory); + + @SuppressWarnings("UnusedDeclaration") + /** @deprecated use EP {@link com.intellij.openapi.vcs.checkin.CheckinHandlerFactory#EP_NAME} (to remove in IDEA 14) */ + public abstract void unregisterCheckinHandlerFactory(BaseCheckinHandlerFactory factory); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/CheckinHandlersManagerImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/CheckinHandlersManagerImpl.java index b236ac8db571..b1de9b89386a 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/CheckinHandlersManagerImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/CheckinHandlersManagerImpl.java @@ -20,8 +20,10 @@ import com.intellij.openapi.vcs.VcsKey; import com.intellij.openapi.vcs.checkin.BaseCheckinHandlerFactory; import com.intellij.openapi.vcs.checkin.CheckinHandlerFactory; import com.intellij.openapi.vcs.checkin.VcsCheckinHandlerFactory; +import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.Collection; @@ -42,7 +44,8 @@ public class CheckinHandlersManagerImpl extends CheckinHandlersManager { @Override public List getRegisteredCheckinHandlerFactories(AbstractVcs[] allActiveVcss) { - final List list = new ArrayList(myRegisteredBeforeCheckinHandlers.size() + allActiveVcss.length); + final List list = + new ArrayList(myRegisteredBeforeCheckinHandlers.size() + allActiveVcss.length); list.addAll(myRegisteredBeforeCheckinHandlers); for (AbstractVcs vcs : allActiveVcss) { final Collection factories = myVcsMap.get(vcs.getKeyInstanceMethod()); @@ -52,4 +55,26 @@ public class CheckinHandlersManagerImpl extends CheckinHandlersManager { } return list; } + + @Override + public List getMatchingVcsFactories(@NotNull List vcsList) { + final List result = new SmartList(); + for (AbstractVcs vcs : vcsList) { + final Collection factories = myVcsMap.get(vcs.getKeyInstanceMethod()); + if (!factories.isEmpty()) { + result.addAll(factories); + } + } + return result; + } + + @Override + public void registerCheckinHandlerFactory(BaseCheckinHandlerFactory factory) { + myRegisteredBeforeCheckinHandlers.add(factory); + } + + @Override + public void unregisterCheckinHandlerFactory(BaseCheckinHandlerFactory handler) { + myRegisteredBeforeCheckinHandlers.remove(handler); + } }