package org.hyperic.hq.api.transfer.mapping; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import org.hyperic.hq.api.ApiNumberConstants; import org.hyperic.hq.api.model.MetricTemplate; import org.hyperic.hq.authz.server.session.Resource; import org.hyperic.hq.measurement.server.session.MeasurementTemplate; import org.springframework.stereotype.Component; @Component public class MetricTemplateMapper { public MetricTemplateMapper() { } public List<MetricTemplate> toMetricTemplates(Resource resource, Collection<MeasurementTemplate> measurementTemplates) { if (null == measurementTemplates) return Collections.emptyList(); List<MetricTemplate> metricTemplates = new ArrayList<MetricTemplate>(measurementTemplates.size()); for(MeasurementTemplate measurementTemplate:measurementTemplates) { metricTemplates.add(toMetricTemplate(measurementTemplate)); } return metricTemplates; } private MetricTemplate toMetricTemplate(MeasurementTemplate measurementTemplate) { MetricTemplate metricTemplate = new MetricTemplate(); metricTemplate.setId(measurementTemplate.getId()); metricTemplate.setName(measurementTemplate.getName()); metricTemplate.setAlias(measurementTemplate.getAlias()); metricTemplate.setCategory(measurementTemplate.getCategory().getName()); metricTemplate.setInterval(measurementTemplate.getDefaultInterval()/ApiNumberConstants.MINUTES); metricTemplate.setEnabled(measurementTemplate.isDefaultOn()); metricTemplate.setUnits(measurementTemplate.getUnits()); return metricTemplate; } }