/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package br.uff.ic.oceano.peixeespada.controller.command; import br.uff.ic.oceano.controller.servlet.command.Command; import br.uff.ic.oceano.core.factory.ObjectFactory; import br.uff.ic.oceano.core.model.Metric; import br.uff.ic.oceano.core.model.MetricQualityAttribute; import br.uff.ic.oceano.core.model.QualityAttribute; import br.uff.ic.oceano.core.service.QualityAttributeService; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.codehaus.jettison.json.JSONWriter; /** * * @author Heliomar * * Revision by DHeraclio * removed metricManagerClass reference */ public class CommandGetFullQualitiAtributte implements Command{ private QualityAttributeService qualityAttributeService = ObjectFactory.getObjectWithDataBaseDependencies(QualityAttributeService.class); /** * //TODO check if is necessary to insert metric extractor classes * @param request * @param response * @throws Exception */ @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws Exception { QualityAttribute attribute = qualityAttributeService.getByIdWithMetrics(Long.parseLong(request.getParameter("idQualityAttribute"))); JSONWriter jSONWriter = new JSONWriter(response.getWriter()); jSONWriter.array(); for (MetricQualityAttribute metricQualityAttribute : attribute.getMetricQualityAttributes()) { Metric metric = metricQualityAttribute.getMetric(); jSONWriter.object() .key("acronym") .value(metric.getAcronym()) .key("description") .value(metric.getDescription()) .key("extractsFromFont") .value(metric.isExtractsFromFont()) .key("preRelease") .value(metric.isPreRelease()) .key("extratcsFrom") .value(metric.getExtratcsFrom()) .key("metricName") .value(metric.getName()) .key("type") .value(metric.getType()) .key("factor") .value(metricQualityAttribute.getFactor()) .endObject(); } jSONWriter.endArray(); response.flushBuffer(); } }