001
014
015 package com.liferay.portal.kernel.messaging.config;
016
017 import java.util.ArrayList;
018 import java.util.List;
019 import java.util.Map;
020 import java.util.concurrent.ConcurrentHashMap;
021
022
025 public class MessagingConfiguratorRegistry {
026
027 public static List<MessagingConfigurator> getMessagingConfigurators(
028 String servletContextName) {
029
030 return _messagingConfigurators.get(servletContextName);
031 }
032
033 public static void registerMessagingConfigurator(
034 String servletContextName,
035 MessagingConfigurator messagingConfigurator) {
036
037 List<MessagingConfigurator> messagingConfigurators =
038 _messagingConfigurators.get(servletContextName);
039
040 if (messagingConfigurators == null) {
041 messagingConfigurators = new ArrayList<MessagingConfigurator>();
042
043 _messagingConfigurators.put(
044 servletContextName, messagingConfigurators);
045 }
046
047 messagingConfigurators.add(messagingConfigurator);
048 }
049
050 public static void unregisterMessagingConfigurator(
051 String servletContextName,
052 MessagingConfigurator messagingConfigurator) {
053
054 List<MessagingConfigurator> messagingConfigurators =
055 _messagingConfigurators.get(servletContextName);
056
057 if (messagingConfigurators != null) {
058 messagingConfigurators.remove(messagingConfigurator);
059
060 if (messagingConfigurators.isEmpty()) {
061 _messagingConfigurators.remove(servletContextName);
062 }
063 }
064 }
065
066 private static final Map<String, List<MessagingConfigurator>>
067 _messagingConfigurators =
068 new ConcurrentHashMap<String, List<MessagingConfigurator>>();
069
070 }