package br.uff.ic.oceano.experiments.ostra; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ import br.uff.ic.oceano.core.exception.ObjetoNaoEncontradoException; import br.uff.ic.oceano.core.exception.ServiceException; import br.uff.ic.oceano.core.factory.ObjectFactory; import br.uff.ic.oceano.core.model.ConfigurationItem; import br.uff.ic.oceano.core.model.ProjectUser; import br.uff.ic.oceano.core.model.Repository; import br.uff.ic.oceano.core.model.SoftwareProject; import br.uff.ic.oceano.core.service.OceanoUserService; import br.uff.ic.oceano.core.service.ProjectUserService; import br.uff.ic.oceano.core.service.RepositoryService; import br.uff.ic.oceano.core.service.SoftwareProjectService; import br.uff.ic.oceano.ostra.service.traceability.TraceabilityService; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; /** * * @author Dancastellani */ public class TestTraceability { private SoftwareProject project; private ProjectUser pu; private Repository SVN; private static TraceabilityService traceabilityService; private static SoftwareProjectService softwareProjectService; private static ProjectUserService projectUserService; private static OceanoUserService oceanoUserService; private static RepositoryService repositoryService; public TestTraceability() { } @BeforeClass public static void setUpClass() throws Exception { traceabilityService = ObjectFactory.getObjectWithDataBaseDependencies(TraceabilityService.class); projectUserService = ObjectFactory.getObjectWithDataBaseDependencies(ProjectUserService.class); softwareProjectService = ObjectFactory.getObjectWithDataBaseDependencies(SoftwareProjectService.class); oceanoUserService = ObjectFactory.getObjectWithDataBaseDependencies(OceanoUserService.class); repositoryService = ObjectFactory.getObjectWithDataBaseDependencies(RepositoryService.class); } @AfterClass public static void tearDownClass() throws Exception { } @BeforeMethod public void setUp() throws ObjetoNaoEncontradoException, ServiceException { project = softwareProjectService.getById(16L); pu = projectUserService.getByProjectAndOceanoUser(project, oceanoUserService.getByLogin("xan")); // ///////////////Configurar manualmente // SVN = repositoryService.getByName("SVN"); // ConfigurationItem ci = new ConfigurationItem(); // ci.setRepository(SVN); // // project = new SoftwareProject(); // project.setConfigurationItem(ci); // pu = new ProjectUser(); // pu.setProject(project); // // ci.setName(""); // project.setRepositoryUrl(""); // pu.setLogin(""); // pu.setPassword(""); } @Test public void buildTraceabilityMatrix() throws ServiceException, IOException { System.out.println("-------------------------------------------------- begin building matrix"); String[][] buildTraceabilityMatrix = traceabilityService.buildTraceabilityMatrix(project, pu); final String SEPARATOR = ";"; System.out.println("--------------------------------------------------"); final StringBuilder matrix = new StringBuilder(); for (String[] linha : buildTraceabilityMatrix) { String lineToPrint = ""; for (String celula : linha) { if (celula != null) { lineToPrint += celula; } lineToPrint += SEPARATOR; } System.out.println(lineToPrint.substring(0, lineToPrint.length() - 1)); matrix.append(lineToPrint.substring(0, lineToPrint.length() - 1) + "\n"); } System.out.println("--------------------------------------------------"); final String fileName = "Traceability_" + project.getConfigurationItem().getName() + ".csv"; BufferedWriter bw = new BufferedWriter(new FileWriter(new File(fileName))); bw.append(matrix.toString()); bw.close(); System.out.println("Arquivo salvo: " + fileName); } }