/*
* Copyright (c) 2012 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.api.service.impl.resource.utils;
import java.io.PrintWriter;
import javax.ws.rs.core.MediaType;
import org.joda.time.DateTime;
import com.emc.storageos.db.client.TimeSeriesMetadata.TimeBucket;
import com.emc.storageos.db.client.model.StatTimeSeries;
import com.emc.storageos.svcs.errorhandling.resources.APIException;
public class DbStatRetriever extends AbstractDbRetriever implements StatRetriever {
@Override
public void getBulkStats(final DateTime timeBucket, TimeBucket granularity,
final MediaType mediaType, final PrintWriter out)
throws MarshallingExcetion {
StatMarshaller marshaller = StatMarshallerFactory.getMarshaller(mediaType);
if (marshaller != null) {
marshaller.header(out);
} else {
throw APIException.badRequests.unableToCreateMarshallerForMediaType(mediaType.toString());
}
MeteringQueryResults result = new MeteringQueryResults(marshaller, out);
dbClient.queryTimeSeries(StatTimeSeries.class, timeBucket,
granularity, result, getThreadPool());
marshaller.tailer(out);
}
}