public Pacote stringToPacote(String string) { Pacote pacote = new Pacote(); int indexInicio, indexFim; /* Adiciona Nome */ indexInicio = string.indexOf("#") + 1; indexFim = string.indexOf(">"); String nome = string.substring(indexInicio, indexFim); pacote.setNome(nome); /* Adiciona Descrição */ indexInicio = string.indexOf("\"", string.indexOf("?descricao")); indexFim = string.indexOf("^^", indexInicio); String descricao = string.substring(indexInicio + 1, indexFim - 1); pacote.setDescricao(descricao); return pacote; }
public void recuperarDados(String enderecoBase, String repositorio, String projetoNome) { modelo = recuperaModeloSemantico(repositorio, enderecoBase); projeto = new Projeto(); projeto.setNome(projetoNome); projeto.setDescricao("Projeto importado da PGDS"); projetoDao.salvar(projeto); pacoteDefault = new Pacote(); pacoteDefault.setNome("Default"); pacoteDefault.setProjeto(projeto); pacoteDao.salvar(pacoteDefault); StringBuilder sparl = new StringBuilder(); /* Importa Classes */ sparl.append(" PREFIX onto: <http://localhost/ontologies/SE/onto.owl#> "); sparl.append(" PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "); sparl.append("select distinct ?individuo"); sparl.append(" WHERE { "); sparl.append(" ?individuo rdf:type onto:Classe"); sparl.append(" . "); sparl.append("} order by ?individuo"); List<String> classes = converteRetornoSparql(ExecuteQueryByModel(sparl.toString(), modelo)); for (String string : classes) { classeDao.salvar(stringToClasse(string)); } /* Importa Módulos */ sparl = new StringBuilder(); sparl.append(" PREFIX onto: <http://localhost/ontologies/SE/onto.owl#> "); sparl.append(" PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "); sparl.append("select distinct ?individuo ?descricao ?pacote"); sparl.append(" WHERE { "); sparl.append(" ?individuo rdf:type onto:Modulo"); sparl.append(" . "); sparl.append("?individuo onto:descricao ?descricao"); sparl.append(" . "); sparl.append("} order by ?individuo"); List<String> pacotes = converteRetornoSparql(ExecuteQueryByModel(sparl.toString(), modelo)); for (String string : pacotes) { pacoteDao.salvar(stringToPacote(string)); } /* Importa Casos de Uso */ sparl = new StringBuilder(); sparl.append(" PREFIX onto: <http://localhost/ontologies/SE/onto.owl#> "); sparl.append(" PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "); sparl.append("select distinct ?individuo ?descricao ?pacote"); sparl.append(" WHERE { "); sparl.append(" ?individuo rdf:type onto:CasoUso"); sparl.append(" . "); sparl.append("?individuo onto:descricao ?descricao"); sparl.append(" . "); sparl.append("?individuo onto:prioridade ?pacote"); sparl.append(" . "); sparl.append("} order by ?individuo"); List<String> casosUso = converteRetornoSparql(ExecuteQueryByModel(sparl.toString(), modelo)); for (String string : casosUso) { casoUsoDao.salvar(stringToCasoUso(string)); } /* Importa Requisitos */ sparl = new StringBuilder(); sparl.append(" PREFIX onto: <http://localhost/ontologies/SE/onto.owl#> "); sparl.append(" PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "); sparl.append("select distinct ?individuo ?descricao ?prioridade"); sparl.append(" WHERE { "); sparl.append(" ?individuo rdf:type onto:Requisito"); sparl.append(" . "); sparl.append("?individuo onto:descricao ?descricao"); sparl.append(" . "); sparl.append("?individuo onto:prioridade ?prioridade"); sparl.append(" . "); sparl.append("} order by ?individuo"); List<String> requisitos = converteRetornoSparql(ExecuteQueryByModel(sparl.toString(), modelo)); for (String string : requisitos) { requisitoDao.salvar(stringToRequisito(string)); } // adicionaDependenciasEntreRequisitos(); }