/*
* Copyright (c) 2008-2014 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.impl.plugins.metering.smis.processor;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.cim.CIMInstance;
import javax.cim.CIMProperty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.emc.storageos.plugins.BaseCollectionException;
import com.emc.storageos.plugins.common.Constants;
import com.emc.storageos.plugins.common.Processor;
import com.emc.storageos.plugins.common.domainmodel.Operation;
/**
* Used to collect the CIM CLOCK_TICK_INTERVAL returned by CIM_BlockStatisticsCapabilities.
*
* @author watson
*/
public class BlockStatisticsCapabilitiesProcessor extends Processor {
private Logger _logger = LoggerFactory.getLogger(BlockStatisticsCapabilitiesProcessor.class);
@Override
public void processResult(Operation operation, Object resultObj,
Map<String, Object> keyMap) throws BaseCollectionException {
try {
final Iterator<?> it = (Iterator<?>) resultObj;
// Only 1 entry per each Array always
while (it.hasNext()) {
final CIMInstance queryInstance = (CIMInstance) it.next();
CIMProperty prop = queryInstance.getProperty(Constants.CLOCK_TICK_INTERVAL);
keyMap.put(Constants.CLOCK_TICK_INTERVAL, prop.getValue().toString());
}
} catch (Exception e) {
_logger.error("Failed while processing QueryStatistics :", e);
}
resultObj = null;
}
@Override
protected void setPrerequisiteObjects(List<Object> inputArgs)
throws BaseCollectionException {
// TODO Auto-generated method stub
}
}