/*
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* 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 org.wso2.carbon.event.receiver.core.internal.ds;
import org.wso2.carbon.event.input.adapter.core.InputEventAdapterService;
import org.wso2.carbon.event.input.adapter.core.MessageType;
import org.wso2.carbon.event.processor.manager.core.EventManagementService;
import org.wso2.carbon.event.receiver.core.InputMapperFactory;
import org.wso2.carbon.event.receiver.core.internal.CarbonEventReceiverManagementService;
import org.wso2.carbon.event.receiver.core.internal.CarbonEventReceiverService;
import org.wso2.carbon.event.receiver.core.internal.type.json.JSONInputMapperFactory;
import org.wso2.carbon.event.receiver.core.internal.type.map.MapInputMapperFactory;
import org.wso2.carbon.event.receiver.core.internal.type.text.TextInputMapperFactory;
import org.wso2.carbon.event.receiver.core.internal.type.wso2event.WSO2EventInputMapperFactory;
import org.wso2.carbon.event.receiver.core.internal.type.xml.XMLInputMapperFactory;
import org.wso2.carbon.event.stream.core.EventStreamService;
import org.wso2.carbon.registry.core.service.RegistryService;
import org.wso2.carbon.user.core.service.RealmService;
import org.wso2.carbon.utils.ConfigurationContextService;
import java.util.Collections;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class EventReceiverServiceValueHolder {
private static InputEventAdapterService inputEventAdapterService;
private static CarbonEventReceiverService carbonEventReceiverService;
private static EventManagementService eventManagementService;
private static RegistryService registryService;
private static EventStreamService eventStreamService;
private static ConcurrentHashMap<String, InputMapperFactory> mappingFactoryMap;
private static ConfigurationContextService configurationContextService;
private static CarbonEventReceiverManagementService carbonEventReceiverManagementService;
public static Set<String> inputEventAdapterTypes = Collections.newSetFromMap(new ConcurrentHashMap<String, Boolean>());
private static RealmService realmService;
private static boolean globalStatisticsEnabled = false;
static {
mappingFactoryMap = new ConcurrentHashMap<String, InputMapperFactory>();
mappingFactoryMap.put(MessageType.MAP, new MapInputMapperFactory());
mappingFactoryMap.put(MessageType.TEXT, new TextInputMapperFactory());
mappingFactoryMap.put(MessageType.WSO2EVENT, new WSO2EventInputMapperFactory());
mappingFactoryMap.put(MessageType.XML, new XMLInputMapperFactory());
mappingFactoryMap.put(MessageType.JSON, new JSONInputMapperFactory());
}
private EventReceiverServiceValueHolder() {
}
public static ConcurrentHashMap<String, InputMapperFactory> getMappingFactoryMap() {
return mappingFactoryMap;
}
public static CarbonEventReceiverService getCarbonEventReceiverService() {
return carbonEventReceiverService;
}
public static void registerEventReceiverService(CarbonEventReceiverService carbonEventReceiverService) {
EventReceiverServiceValueHolder.carbonEventReceiverService = (CarbonEventReceiverService) carbonEventReceiverService;
}
public static void registerInputEventAdapterService(
InputEventAdapterService inputEventAdapterService) {
EventReceiverServiceValueHolder.inputEventAdapterService = inputEventAdapterService;
}
public static InputEventAdapterService getInputEventAdapterService() {
return EventReceiverServiceValueHolder.inputEventAdapterService;
}
public static void registerRegistryService(RegistryService registryService) {
EventReceiverServiceValueHolder.registryService = registryService;
}
public static RegistryService getRegistryService() {
return registryService;
}
public static void registerEventStreamService(EventStreamService eventStreamService) {
EventReceiverServiceValueHolder.eventStreamService = eventStreamService;
}
public static EventStreamService getEventStreamService() {
return EventReceiverServiceValueHolder.eventStreamService;
}
public static ConfigurationContextService getConfigurationContextService() {
return configurationContextService;
}
public static void setConfigurationContextService(
ConfigurationContextService configurationContextService) {
EventReceiverServiceValueHolder.configurationContextService = configurationContextService;
}
public static CarbonEventReceiverManagementService getCarbonEventReceiverManagementService() {
return carbonEventReceiverManagementService;
}
public static void registerEventManagementService(EventManagementService eventManagementService) {
EventReceiverServiceValueHolder.eventManagementService = eventManagementService;
}
public static EventManagementService getEventManagementService() {
return eventManagementService;
}
public static void registerReceiverManagementService(CarbonEventReceiverManagementService eventReceiverManagementService) {
EventReceiverServiceValueHolder.carbonEventReceiverManagementService = eventReceiverManagementService;
}
public static Set<String> getInputEventAdapterTypes() {
return inputEventAdapterTypes;
}
public static void addInputEventAdapterType(String inputEventAdapterType) {
EventReceiverServiceValueHolder.inputEventAdapterTypes.add(inputEventAdapterType);
}
public static void removeInputEventAdapterType(String inputEventAdapterType) {
EventReceiverServiceValueHolder.inputEventAdapterTypes.remove(inputEventAdapterType);
}
public static RealmService getRealmService() {
return realmService;
}
public static void setRealmService(RealmService realmService) {
EventReceiverServiceValueHolder.realmService = realmService;
}
public static void setGlobalStatisticsEnabled(boolean globalStatisticsEnabled) {
EventReceiverServiceValueHolder.globalStatisticsEnabled = globalStatisticsEnabled;
}
public static boolean isGlobalStatisticsEnabled() {
return globalStatisticsEnabled;
}
}