/** * Construit le fichier XML avec une pratique contenant une liste de transgressions de règles à * corriger * * @param root la racine du fichier XML * @param actionPlan la pratique à corriger */ private void fillWithTransgressions(Element root, ActionPlanDTO actionPlan) { for (Iterator it = actionPlan.getTransgressions().iterator(); it.hasNext(); ) { RuleCheckingItemDTO item = (RuleCheckingItemDTO) it.next(); Element transgression = getDocument().createElement("transgression"); // La sévérité de la règle transgression.setAttribute("severity", item.getRuleSeverity()); // Le nom de la règle String ruleName = item.getRuleCode(); String ruleNameKey = "metric." + ruleName; String dbMessage = WebMessages.getString(request, ruleNameKey); // l'intitulé de la règle est affiché à la place du nom lorsqu'il existe if (dbMessage != null) { ruleName = dbMessage; } transgression.setAttribute("description", ruleName); // On découpe le nom du fichier du composant dans lequel se trouve le composant concerné // pour modifier les attributs "resource" et "folder" String fileName = ""; String componentName = ""; if (null != item.getComponent()) { fileName = item.getComponent().getFileName(); componentName = item.getComponent().getFullName(); } if (null == fileName || fileName.length() == 0) { fileName = item.getComponentFile(); } cutFileName(componentName, fileName, transgression); // La ligne transgression.setAttribute("location", "" + item.getLine()); root.appendChild(transgression); } }
/** * @see * org.squale.welcom.outils.excel.ExcelData#fill(org.squale.welcom.outils.excel.ExcelGenerateur) * {@inheritDoc} */ public void fill(ExcelGenerateur xlGenerateur) throws ExcelGenerateurException { ExcelWrapper monWrapper = (ExcelWrapper) xlGenerateur; WritableWorkbook workbook = monWrapper.getWorkbook(); if (null != mBean.getComponentListForm()) { ExcelTable et = new ExcelTable(messages, locale); et.setTable(mBean.getComponentListForm()); /* les en-têtes du tableau */ // le nom du composant et.addHeader("component.name", "fullName"); // la note et.addHeader(mBean.getTre(), "metrics[0]"); try { et.writeTable(workbook); // On modifie l'en-tête et pied-de-page WritableSheet sheet = workbook.getSheet(0); SheetSettings settings = sheet.getSettings(); String title = (String) WebMessages.getString( locale, "export.pdf.top.title", new String[] {mBean.getProjectName()}); HeaderFooter head = new HeaderFooter(); head.getCentre().append(title.replaceAll("''", "'")); settings.setHeader(head); String footerLeft = (String) WebMessages.getString( locale, "description.name.audit", new String[] {mBean.getAuditDate()}); HeaderFooter footer = SqualeExportExcelUtils.getFooter( locale, mBean.getApplicationName(), mBean.getProjectName(), footerLeft, mMatricule); settings.setFooter(footer); } catch (WriteException e) { e.printStackTrace(); } } }
/** * Construit le fichier XML avec une pratique contenant une liste de composants à corriger * * @param root la racine du fichier XML * @param actionPlan la pratique à corriger */ private void fillWithPracticeResults(Element root, ActionPlanDTO actionPlan) { Set components = actionPlan.getResultsDTO().getResultMap().keySet(); components.remove(null); for (Iterator it = components.iterator(); it.hasNext(); ) { ComponentDTO component = (ComponentDTO) it.next(); Element transgression = getDocument().createElement("transgression"); // Le nom de la règle String ruleName = WebMessages.getString(request, actionPlan.getQualityResultDTO().getRule().getName()); transgression.setAttribute("description", ruleName); // On découpe le nom du fichier du composant dans lequel se trouve le composant concerné // pour modifier les attributs "resource" et "folder" cutFileName(component.getFullName(), component.getFileName(), transgression); // La ligne transgression.setAttribute("location", component.getStartLine()); root.appendChild(transgression); } }
/** * {@inheritDoc} * * @param xmlGenerator * @see org.squale.squaleweb.util.xml.XMLData#fill(org.squale.squaleweb.util.xml.XMLGenerator) */ public void fill() { // On crée la racine du document avec l'en-tête Element root = getDocument().createElement(ROOT_NAME); root.appendChild( getDocument().createComment(WebMessages.getString(getRequest(), "export.ide.comment"))); root.setAttribute("applicationName", applicationName); root.setAttribute("workspace", workspace); root.setAttribute("auditDate", auditDate); root.setAttribute("label", label); // On ajoute la racine au document getDocument().appendChild(root); // On crée les informations du plan d'action comme noeud de la racine ActionPlanDTO actionPlan; QualityRuleDTO currentRule; for (Iterator it = actions.iterator(); it.hasNext(); ) { actionPlan = (ActionPlanDTO) it.next(); if (null != actionPlan.getTransgressions()) { // il s'agit d'une règle de type rulechecking fillWithTransgressions(root, actionPlan); } else { fillWithPracticeResults(root, actionPlan); } } }