/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.impl.monitoring.cim.indicationProcessor;
import java.util.Hashtable;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CIMEventProcessor extends BaseProcessor {
/**
* Logger to log the debug statements
*/
private static final Logger _logger = LoggerFactory.getLogger(CIMEventProcessor.class);
/**
* Type of all event processors will be holding this map
*/
private Map<String, BaseProcessor> _eventProcessors;
/**
* Default Constructor
*/
public CIMEventProcessor(Map<String, BaseProcessor> eventProcessors) {
_eventProcessors = eventProcessors;
}
/**
* {@inheritDoc}
*/
@Override
public void processIndication(Hashtable<String, String> notification) {
String eventType = getEventType(notification);
BaseProcessor processor = _eventProcessors.get(eventType);
if (processor != null) {
processor.processIndication(notification);
} else {
_logger.debug("No processor found to process this indication");
}
}
}