/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.volumecontroller.impl.monitoring.cim.alert; import java.util.Hashtable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.emc.storageos.db.client.DbClient; import com.emc.storageos.db.client.model.DataObject; import com.emc.storageos.db.client.model.FileShare; import com.emc.storageos.db.client.model.Volume; import com.emc.storageos.volumecontroller.impl.monitoring.cim.MonitoringPropertiesLoader; import com.emc.storageos.volumecontroller.impl.monitoring.cim.enums.RecordType; import com.emc.storageos.volumecontroller.impl.monitoring.cim.utility.CIMConstants; public class CIMOtherAlertRecordableDeviceEvent extends CIMAlertRecordableDeviceEvent { /** * Logger to log the debug statements */ private static final Logger _logger = LoggerFactory .getLogger(CIMOtherAlertRecordableDeviceEvent.class); /** * Overloaded constructor * * @param dbClient */ public CIMOtherAlertRecordableDeviceEvent(DbClient dbClient, MonitoringPropertiesLoader mLoader, Hashtable<String, String> notification) { super(dbClient); _monitoringPropertiesLoader = mLoader; _indication = notification; } /** * {@inheritDoc} */ @Override public String getNativeGuid() { return null; } /** * {@inheritDoc} */ @Override public Class<? extends DataObject> getResourceClass() { String alertType = _indication.get(CIMConstants.INDICATION_CLASS_TAG); if (alertType != null && alertType.trim().length() > 0) { if (alertType.contains(OSLS_ALERT_INDICATION)) { return Volume.class; } else if (alertType.contains(CIM_ALERT_INDICATION)) { return FileShare.class; } } return null; } /** * {@inheritDoc} */ @Override public String getExtensions() { return null; } /** * {@inheritDoc} */ @Override public String getRecordType() { return RecordType.Alert.name(); } }