Loading src/main/java/fr/emse/gitlab/saref/checkers/Clause_9_3_Checker.java +8 −11 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,8 @@ import java.nio.file.Path; import java.util.Optional; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Collectors; import org.apache.commons.io.FileUtils; import fr.emse.gitlab.saref.SAREF; import fr.emse.gitlab.saref.SAREF; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; Loading Loading @@ -119,20 +121,15 @@ public class Clause_9_3_Checker extends AbstractClauseChecker { }); }); } } private void requirementsRDFaGenerator() throws SAREFPipelineException{ private void requirementsRDFaGenerator() throws SAREFPipelineException, IOException{ String categoryChanger = ""; String categoryChanger = ""; String repoName = project.getName(); String repoName = project.getName(); String href = project.getNamespace(); String href = project.getNamespace(); File reqCSV = new File(repository.getDirectory(), "/requirements/requirements.csv"); File reqCSV = new File(repository.getDirectory(), "/requirements/requirements.csv"); File versionSite = new File(siteManager.siteDir, version.getVersionPath()); File reqHTML = new File(repository.getDirectory(), "/target/site/requirements.html"); FileUtils.forceMkdir(versionSite); File reqHTML = new File(versionSite, "requirements.html"); GenerateRDFaManager manager = new GenerateRDFaManager(); GenerateRDFaManager.GenerateRDFa(categoryChanger, repoName, href, reqCSV, reqHTML, "requirements"); manager.GenerateRDFaManager(categoryChanger, repoName, href, reqCSV, reqHTML, "requirements"); } } } } src/main/java/fr/emse/gitlab/saref/checkers/Clause_9_4_5_Checker.java +32 −47 Original line number Original line Diff line number Diff line Loading @@ -32,8 +32,6 @@ import java.util.List; import java.util.Set; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Collectors; import fr.emse.gitlab.saref.SAREFPipeline; import fr.emse.gitlab.saref.managers.OopsManager; import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Model; import org.semanticweb.owl.explanation.api.Explanation; import org.semanticweb.owl.explanation.api.Explanation; import org.semanticweb.owl.explanation.api.ExplanationGenerator; import org.semanticweb.owl.explanation.api.ExplanationGenerator; Loading @@ -44,9 +42,13 @@ import org.semanticweb.owlapi.profiles.OWLProfileReport; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.managers.OntologyManager; import fr.emse.gitlab.saref.managers.OntologyManager; import fr.emse.gitlab.saref.managers.OopsManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import okhttp3.MediaType; import okhttp3.*; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; /** /** * Checks TS 103 673 Clause 9.4.5: OWL Profile, Consistency, and Satisfiability * Checks TS 103 673 Clause 9.4.5: OWL Profile, Consistency, and Satisfiability Loading Loading @@ -111,20 +113,11 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { Model model = version.getModel(); Model model = version.getModel(); model.write(out, "RDF/XML"); // write in string and then replace model.write(out, "RDF/XML"); // write in string and then replace onto = out.toString().replace("]]","] ]"); onto = out.toString().replaceAll("]]", "] ]"); String xmlRequest = "<?xml version='1.0' encoding='UTF-8'?>" + "<OOPSRequest>" + "<OntologyURI></OntologyURI>" + "<OntologyContent><![CDATA[" + onto + "]]></OntologyContent>" + "<Pitfalls>10</Pitfalls>" + "<OutputFormat>RDF/XML</OutputFormat>" + "</OOPSRequest>"; String xmlRequest = "<?xml version='1.0' encoding='UTF-8'?>" + "<OOPSRequest>" + "<OntologyURI></OntologyURI>" OopsManager manager = new OopsManager(); + "<OntologyContent><![CDATA[" + onto + "]]></OntologyContent>" + "<Pitfalls>10</Pitfalls>" + "<OutputFormat>RDF/XML</OutputFormat>" + "</OOPSRequest>"; ArrayList<ArrayList<String>> res = new ArrayList<ArrayList<String>>(); Object[] arrayData = new Object[0]; Object[] arrayData = new Object[0]; Loading @@ -136,21 +129,16 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { RequestBody body = RequestBody.create(xmlRequest, mediaType); RequestBody body = RequestBody.create(xmlRequest, mediaType); Request request = new Request.Builder() Request request = new Request.Builder().url("http://oops.linkeddata.es/rest").method("POST", body) .url("http://oops.linkeddata.es/rest") .addHeader("Content-Type", "application/xml").build(); .method("POST", body) .addHeader("Content-Type", "application/xml") .build(); Response response = httpClient.newCall(request).execute(); Response response = httpClient.newCall(request).execute(); String result = response.body().string(); String result = response.body().string(); String[] results = result.split("\\n"); String[] results = result.split("\\n"); List<String> pureData = new ArrayList<String>(); List<String> pureData = new ArrayList<String>(); for(int i=0; i<results.length-1;i++){ for (int i = 0; i < results.length; i++) { if (results[i].startsWith("<")) { if (results[i].startsWith("<")) { for (int j = i; j < results.length; j++) { for (int j = i; j < results.length; j++) { pureData.add(results[j]); pureData.add(results[j]); Loading @@ -158,18 +146,15 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { } } } } arrayData = pureData.toArray(); // response into array arrayData = pureData.toArray(); // response into array } } catch (IOException e) { catch (IOException e) { logWarning(getMessage(MESSAGE.oopsError)); log(getMessage(MESSAGE.oopsError), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); } } int count = OopsManager.counter(arrayData); int count = manager.counter(arrayData); ArrayList<ArrayList<String>> result = OopsManager.getData(arrayData); ArrayList<ArrayList<String>> result = manager.getData(arrayData); int s = 0; int s = 0; Loading @@ -181,11 +166,11 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { s++; s++; } } String printData = results.stream().map(e -> e.toString()).collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); String printData = results.stream().map(e -> e.toString()) .collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); if (count != 0) { if (count != 0) { log(getMessage(MESSAGE.oops, printData), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); logWarning(getMessage(MESSAGE.oops, printData)); } } } } } } src/main/java/fr/emse/gitlab/saref/checkers/Clause_9_5_Checker.java +66 −85 Original line number Original line Diff line number Diff line Loading @@ -25,21 +25,17 @@ */ */ package fr.emse.gitlab.saref.checkers; package fr.emse.gitlab.saref.checkers; import java.io.*; import java.io.ByteArrayOutputStream; import java.nio.file.*; import java.io.File; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.PathMatcher; import java.util.ArrayList; import java.util.ArrayList; import java.util.Optional; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Collectors; import fr.emse.gitlab.saref.SAREFPipeline; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.entities.SAREFRepository; import fr.emse.gitlab.saref.entities.SAREFVersion; import fr.emse.gitlab.saref.managers.DatasetManager; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import fr.emse.gitlab.saref.managers.ThemisManager; import okhttp3.*; import org.apache.any23.Any23; import org.apache.any23.Any23; import org.apache.any23.extractor.ExtractionException; import org.apache.any23.extractor.ExtractionException; import org.apache.any23.source.DocumentSource; import org.apache.any23.source.DocumentSource; Loading @@ -47,11 +43,25 @@ import org.apache.any23.source.FileDocumentSource; import org.apache.any23.writer.RDFXMLWriter; import org.apache.any23.writer.RDFXMLWriter; import org.apache.any23.writer.TripleHandler; import org.apache.any23.writer.TripleHandler; import org.apache.any23.writer.TripleHandlerException; import org.apache.any23.writer.TripleHandlerException; import org.apache.commons.io.FileUtils; import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Model; import org.w3c.dom.Document; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.w3c.dom.NodeList; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.entities.SAREFRepository; import fr.emse.gitlab.saref.entities.SAREFVersion; import fr.emse.gitlab.saref.managers.DatasetManager; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import fr.emse.gitlab.saref.managers.ThemisManager; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; /** /** * Checks TS 103 673 Clause 9.5: Ontology tests * Checks TS 103 673 Clause 9.5: Ontology tests * * Loading Loading @@ -140,25 +150,16 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { }); }); } } public void checkThemis() throws SAREFPipelineException { public void checkThemis() throws SAREFPipelineException { try { File versionSite = new File(siteManager.siteDir, version.getVersionPath()); File tHTML = new File(versionSite, "tests.html"); File tHTML = new File(repository.getDirectory(),"target/site/tests.html"); Any23 runner = new Any23(); ByteArrayOutputStream out = new ByteArrayOutputStream(); DocumentSource source = new FileDocumentSource(tHTML); DocumentSource source = new FileDocumentSource(tHTML); TripleHandler handler = new RDFXMLWriter(out); Any23 runner = new Any23(); try(ByteArrayOutputStream out = new ByteArrayOutputStream(); TripleHandler handler = new RDFXMLWriter(out);) { runner.extract(source, handler); runner.extract(source, handler); handler.close(); String xmlData = out.toString(); String xmlData = out.toString(); ArrayList<String[]> res = makeCall(xmlData, repository, datasetManager, version); ArrayList<String[]> res = makeCall(xmlData, repository, datasetManager, version); ArrayList<String> result = new ArrayList<String>(); ArrayList<String> result = new ArrayList<String>(); Loading @@ -168,29 +169,21 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { result.add(response); result.add(response); } } String data = result.stream().map(e -> e.toString()).collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); if (!res.isEmpty()) { if (!res.isEmpty()) { log(getMessage(MESSAGE.themis, data), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); String data = result.stream().map(e -> e.toString()).collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); logWarning(getMessage(MESSAGE.themis, data)); } } } catch (FileNotFoundException e) { } catch (ExtractionException | IOException | TripleHandlerException e) { e.printStackTrace(); logWarning(getMessage(MESSAGE.themisError)); } catch (ExtractionException | UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { log(getMessage(MESSAGE.themisError), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); } catch (TripleHandlerException e) { e.printStackTrace(); } } } } public ArrayList<String[]> makeCall(String xmlData, SAREFRepository repository, DatasetManager datasetManager, public ArrayList<String []> makeCall(String xmlData, SAREFRepository repository, DatasetManager datasetManager, SAREFVersion version) throws SAREFPipelineException { SAREFVersion version) throws SAREFPipelineException { ArrayList<String[]> res = new ArrayList<String[]>(); ArrayList<String[]> res = new ArrayList<String[]>(); try{ try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { ByteArrayOutputStream out = new ByteArrayOutputStream(); String onto = ""; String onto = ""; Model model = version.getModel(); Model model = version.getModel(); Loading @@ -201,30 +194,22 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { MediaType mediaType = MediaType.parse("application/json"); MediaType mediaType = MediaType.parse("application/json"); String jsonRequest = "{\"ontologiesCode\":[\"" + String jsonRequest = "{\"ontologiesCode\":[\"" onto.replace("\\\"", "\\\\\"").replace("\"", "\\\"").replace("\t"," ") + + onto.replaceAll("\\\"", "\\\\\"").replaceAll("\"", "\\\"").replaceAll("\t", " ") + "\"]," "\"]," + "\"testfile\":[\"" + + "\"testfile\":[\"" + xmlData.replaceAll("\\\"", "\\\\\"").replaceAll("\"", "\\\"").replaceAll("\t", " ") xmlData.replace("\\\"", "\\\\\"").replace("\"", "\\\"").replace("\t"," ") + + "\"]," + "\"format\":\"junit\"}"; "\"]," + "\"format\":\"junit\"}"; RequestBody body = RequestBody.create(jsonRequest, mediaType); RequestBody body = RequestBody.create(jsonRequest, mediaType); Request request = new Request.Builder() Request request = new Request.Builder().url("http://themis.linkeddata.es/rest/api/results") .url("http://themis.linkeddata.es/rest/api/results") .method("POST", body).addHeader("accept", "application/json") .method("POST", body) .addHeader("Content-Type", "application/json").build(); .addHeader("accept", "application/json") .addHeader("Content-Type", "application/json") .build(); Response response = httpClient.newCall(request).execute(); Response response = httpClient.newCall(request).execute(); String result = response.body().string(); String result = response.body().string(); ThemisManager manager = new ThemisManager(); Document doc = ThemisManager.convertStringToXMLDocument(result); Document doc = manager.convertStringToXMLDocument(result); NodeList nodeList = doc.getElementsByTagName("testcase"); NodeList nodeList = doc.getElementsByTagName("testcase"); for (int temp = 0; temp < nodeList.getLength(); temp++) { for (int temp = 0; temp < nodeList.getLength(); temp++) { Loading @@ -234,34 +219,30 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { Element element = (Element) node; Element element = (Element) node; part[0] = "" + element.getAttributeNode("id"); part[0] = "" + element.getAttributeNode("id"); part[1] = "" + element.getAttributeNode("name"); part[1] = "" + element.getAttributeNode("name"); part[2] = ""+((Element) node).getElementsByTagName("error").item(0).getAttributes().getNamedItem("message"); part[2] = "" + ((Element) node).getElementsByTagName("error").item(0).getAttributes() .getNamedItem("message"); res.add(part); res.add(part); } } } } } catch (IOException e) { } catch (IOException e) { log(getMessage(MESSAGE.themisError), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); logWarning(getMessage(MESSAGE.themisError)); } } return res; return res; } } private void testsRDFaGenerator() throws SAREFPipelineException{ private void testsRDFaGenerator() throws SAREFPipelineException, IOException { if(pipeline.ignoreSite) { return; } String categoryChanger = ""; String categoryChanger = ""; String repoName = project.getName(); String repoName = project.getName(); String href = project.getNamespace(); String href = project.getNamespace(); File testCSV = new File(repository.getDirectory(), "/tests/tests.csv"); File testCSV = new File(repository.getDirectory(), "/tests/tests.csv"); File versionSite = new File(siteManager.siteDir, version.getVersionPath()); File testHTML = new File(repository.getDirectory(), "/target/site/tests.html"); FileUtils.forceMkdir(versionSite); File testHTML = new File(versionSite, "tests.html"); GenerateRDFaManager manager = new GenerateRDFaManager(); GenerateRDFaManager.GenerateRDFa(categoryChanger, repoName, href, testCSV, testHTML, "tests"); manager.GenerateRDFaManager(categoryChanger, repoName, href, testCSV, testHTML, "tests"); } } } } src/main/java/fr/emse/gitlab/saref/entities/SAREFNamedGraph.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,7 @@ public class SAREFNamedGraph { return false; return false; if (getClass() != obj.getClass()) if (getClass() != obj.getClass()) return false; return false; SAREFTerm other = (SAREFTerm) obj; SAREFNamedGraph other = (SAREFNamedGraph) obj; if (iri == null) { if (iri == null) { if (other.iri != null) if (other.iri != null) return false; return false; Loading src/main/java/fr/emse/gitlab/saref/managers/GenerateRDFaManager.java +178 −203 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
src/main/java/fr/emse/gitlab/saref/checkers/Clause_9_3_Checker.java +8 −11 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,8 @@ import java.nio.file.Path; import java.util.Optional; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Collectors; import org.apache.commons.io.FileUtils; import fr.emse.gitlab.saref.SAREF; import fr.emse.gitlab.saref.SAREF; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; Loading Loading @@ -119,20 +121,15 @@ public class Clause_9_3_Checker extends AbstractClauseChecker { }); }); } } private void requirementsRDFaGenerator() throws SAREFPipelineException{ private void requirementsRDFaGenerator() throws SAREFPipelineException, IOException{ String categoryChanger = ""; String categoryChanger = ""; String repoName = project.getName(); String repoName = project.getName(); String href = project.getNamespace(); String href = project.getNamespace(); File reqCSV = new File(repository.getDirectory(), "/requirements/requirements.csv"); File reqCSV = new File(repository.getDirectory(), "/requirements/requirements.csv"); File versionSite = new File(siteManager.siteDir, version.getVersionPath()); File reqHTML = new File(repository.getDirectory(), "/target/site/requirements.html"); FileUtils.forceMkdir(versionSite); File reqHTML = new File(versionSite, "requirements.html"); GenerateRDFaManager manager = new GenerateRDFaManager(); GenerateRDFaManager.GenerateRDFa(categoryChanger, repoName, href, reqCSV, reqHTML, "requirements"); manager.GenerateRDFaManager(categoryChanger, repoName, href, reqCSV, reqHTML, "requirements"); } } } }
src/main/java/fr/emse/gitlab/saref/checkers/Clause_9_4_5_Checker.java +32 −47 Original line number Original line Diff line number Diff line Loading @@ -32,8 +32,6 @@ import java.util.List; import java.util.Set; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Collectors; import fr.emse.gitlab.saref.SAREFPipeline; import fr.emse.gitlab.saref.managers.OopsManager; import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Model; import org.semanticweb.owl.explanation.api.Explanation; import org.semanticweb.owl.explanation.api.Explanation; import org.semanticweb.owl.explanation.api.ExplanationGenerator; import org.semanticweb.owl.explanation.api.ExplanationGenerator; Loading @@ -44,9 +42,13 @@ import org.semanticweb.owlapi.profiles.OWLProfileReport; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.managers.OntologyManager; import fr.emse.gitlab.saref.managers.OntologyManager; import fr.emse.gitlab.saref.managers.OopsManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import okhttp3.MediaType; import okhttp3.*; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; /** /** * Checks TS 103 673 Clause 9.4.5: OWL Profile, Consistency, and Satisfiability * Checks TS 103 673 Clause 9.4.5: OWL Profile, Consistency, and Satisfiability Loading Loading @@ -111,20 +113,11 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { Model model = version.getModel(); Model model = version.getModel(); model.write(out, "RDF/XML"); // write in string and then replace model.write(out, "RDF/XML"); // write in string and then replace onto = out.toString().replace("]]","] ]"); onto = out.toString().replaceAll("]]", "] ]"); String xmlRequest = "<?xml version='1.0' encoding='UTF-8'?>" + "<OOPSRequest>" + "<OntologyURI></OntologyURI>" + "<OntologyContent><![CDATA[" + onto + "]]></OntologyContent>" + "<Pitfalls>10</Pitfalls>" + "<OutputFormat>RDF/XML</OutputFormat>" + "</OOPSRequest>"; String xmlRequest = "<?xml version='1.0' encoding='UTF-8'?>" + "<OOPSRequest>" + "<OntologyURI></OntologyURI>" OopsManager manager = new OopsManager(); + "<OntologyContent><![CDATA[" + onto + "]]></OntologyContent>" + "<Pitfalls>10</Pitfalls>" + "<OutputFormat>RDF/XML</OutputFormat>" + "</OOPSRequest>"; ArrayList<ArrayList<String>> res = new ArrayList<ArrayList<String>>(); Object[] arrayData = new Object[0]; Object[] arrayData = new Object[0]; Loading @@ -136,21 +129,16 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { RequestBody body = RequestBody.create(xmlRequest, mediaType); RequestBody body = RequestBody.create(xmlRequest, mediaType); Request request = new Request.Builder() Request request = new Request.Builder().url("http://oops.linkeddata.es/rest").method("POST", body) .url("http://oops.linkeddata.es/rest") .addHeader("Content-Type", "application/xml").build(); .method("POST", body) .addHeader("Content-Type", "application/xml") .build(); Response response = httpClient.newCall(request).execute(); Response response = httpClient.newCall(request).execute(); String result = response.body().string(); String result = response.body().string(); String[] results = result.split("\\n"); String[] results = result.split("\\n"); List<String> pureData = new ArrayList<String>(); List<String> pureData = new ArrayList<String>(); for(int i=0; i<results.length-1;i++){ for (int i = 0; i < results.length; i++) { if (results[i].startsWith("<")) { if (results[i].startsWith("<")) { for (int j = i; j < results.length; j++) { for (int j = i; j < results.length; j++) { pureData.add(results[j]); pureData.add(results[j]); Loading @@ -158,18 +146,15 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { } } } } arrayData = pureData.toArray(); // response into array arrayData = pureData.toArray(); // response into array } } catch (IOException e) { catch (IOException e) { logWarning(getMessage(MESSAGE.oopsError)); log(getMessage(MESSAGE.oopsError), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); } } int count = OopsManager.counter(arrayData); int count = manager.counter(arrayData); ArrayList<ArrayList<String>> result = OopsManager.getData(arrayData); ArrayList<ArrayList<String>> result = manager.getData(arrayData); int s = 0; int s = 0; Loading @@ -181,11 +166,11 @@ public class Clause_9_4_5_Checker extends AbstractClauseChecker { s++; s++; } } String printData = results.stream().map(e -> e.toString()).collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); String printData = results.stream().map(e -> e.toString()) .collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); if (count != 0) { if (count != 0) { log(getMessage(MESSAGE.oops, printData), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); logWarning(getMessage(MESSAGE.oops, printData)); } } } } } }
src/main/java/fr/emse/gitlab/saref/checkers/Clause_9_5_Checker.java +66 −85 Original line number Original line Diff line number Diff line Loading @@ -25,21 +25,17 @@ */ */ package fr.emse.gitlab.saref.checkers; package fr.emse.gitlab.saref.checkers; import java.io.*; import java.io.ByteArrayOutputStream; import java.nio.file.*; import java.io.File; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.PathMatcher; import java.util.ArrayList; import java.util.ArrayList; import java.util.Optional; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Collectors; import fr.emse.gitlab.saref.SAREFPipeline; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.entities.SAREFRepository; import fr.emse.gitlab.saref.entities.SAREFVersion; import fr.emse.gitlab.saref.managers.DatasetManager; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import fr.emse.gitlab.saref.managers.ThemisManager; import okhttp3.*; import org.apache.any23.Any23; import org.apache.any23.Any23; import org.apache.any23.extractor.ExtractionException; import org.apache.any23.extractor.ExtractionException; import org.apache.any23.source.DocumentSource; import org.apache.any23.source.DocumentSource; Loading @@ -47,11 +43,25 @@ import org.apache.any23.source.FileDocumentSource; import org.apache.any23.writer.RDFXMLWriter; import org.apache.any23.writer.RDFXMLWriter; import org.apache.any23.writer.TripleHandler; import org.apache.any23.writer.TripleHandler; import org.apache.any23.writer.TripleHandlerException; import org.apache.any23.writer.TripleHandlerException; import org.apache.commons.io.FileUtils; import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Model; import org.w3c.dom.Document; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.w3c.dom.NodeList; import fr.emse.gitlab.saref.SAREFPipelineException; import fr.emse.gitlab.saref.entities.SAREFRepository; import fr.emse.gitlab.saref.entities.SAREFVersion; import fr.emse.gitlab.saref.managers.DatasetManager; import fr.emse.gitlab.saref.managers.GenerateRDFaManager; import fr.emse.gitlab.saref.managers.RepositoryManager; import fr.emse.gitlab.saref.managers.ThemisManager; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; /** /** * Checks TS 103 673 Clause 9.5: Ontology tests * Checks TS 103 673 Clause 9.5: Ontology tests * * Loading Loading @@ -140,25 +150,16 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { }); }); } } public void checkThemis() throws SAREFPipelineException { public void checkThemis() throws SAREFPipelineException { try { File versionSite = new File(siteManager.siteDir, version.getVersionPath()); File tHTML = new File(versionSite, "tests.html"); File tHTML = new File(repository.getDirectory(),"target/site/tests.html"); Any23 runner = new Any23(); ByteArrayOutputStream out = new ByteArrayOutputStream(); DocumentSource source = new FileDocumentSource(tHTML); DocumentSource source = new FileDocumentSource(tHTML); TripleHandler handler = new RDFXMLWriter(out); Any23 runner = new Any23(); try(ByteArrayOutputStream out = new ByteArrayOutputStream(); TripleHandler handler = new RDFXMLWriter(out);) { runner.extract(source, handler); runner.extract(source, handler); handler.close(); String xmlData = out.toString(); String xmlData = out.toString(); ArrayList<String[]> res = makeCall(xmlData, repository, datasetManager, version); ArrayList<String[]> res = makeCall(xmlData, repository, datasetManager, version); ArrayList<String> result = new ArrayList<String>(); ArrayList<String> result = new ArrayList<String>(); Loading @@ -168,29 +169,21 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { result.add(response); result.add(response); } } String data = result.stream().map(e -> e.toString()).collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); if (!res.isEmpty()) { if (!res.isEmpty()) { log(getMessage(MESSAGE.themis, data), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); String data = result.stream().map(e -> e.toString()).collect(Collectors.joining("\n- ", "\n\n- ", "\n\n")); logWarning(getMessage(MESSAGE.themis, data)); } } } catch (FileNotFoundException e) { } catch (ExtractionException | IOException | TripleHandlerException e) { e.printStackTrace(); logWarning(getMessage(MESSAGE.themisError)); } catch (ExtractionException | UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { log(getMessage(MESSAGE.themisError), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); } catch (TripleHandlerException e) { e.printStackTrace(); } } } } public ArrayList<String[]> makeCall(String xmlData, SAREFRepository repository, DatasetManager datasetManager, public ArrayList<String []> makeCall(String xmlData, SAREFRepository repository, DatasetManager datasetManager, SAREFVersion version) throws SAREFPipelineException { SAREFVersion version) throws SAREFPipelineException { ArrayList<String[]> res = new ArrayList<String[]>(); ArrayList<String[]> res = new ArrayList<String[]>(); try{ try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { ByteArrayOutputStream out = new ByteArrayOutputStream(); String onto = ""; String onto = ""; Model model = version.getModel(); Model model = version.getModel(); Loading @@ -201,30 +194,22 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { MediaType mediaType = MediaType.parse("application/json"); MediaType mediaType = MediaType.parse("application/json"); String jsonRequest = "{\"ontologiesCode\":[\"" + String jsonRequest = "{\"ontologiesCode\":[\"" onto.replace("\\\"", "\\\\\"").replace("\"", "\\\"").replace("\t"," ") + + onto.replaceAll("\\\"", "\\\\\"").replaceAll("\"", "\\\"").replaceAll("\t", " ") + "\"]," "\"]," + "\"testfile\":[\"" + + "\"testfile\":[\"" + xmlData.replaceAll("\\\"", "\\\\\"").replaceAll("\"", "\\\"").replaceAll("\t", " ") xmlData.replace("\\\"", "\\\\\"").replace("\"", "\\\"").replace("\t"," ") + + "\"]," + "\"format\":\"junit\"}"; "\"]," + "\"format\":\"junit\"}"; RequestBody body = RequestBody.create(jsonRequest, mediaType); RequestBody body = RequestBody.create(jsonRequest, mediaType); Request request = new Request.Builder() Request request = new Request.Builder().url("http://themis.linkeddata.es/rest/api/results") .url("http://themis.linkeddata.es/rest/api/results") .method("POST", body).addHeader("accept", "application/json") .method("POST", body) .addHeader("Content-Type", "application/json").build(); .addHeader("accept", "application/json") .addHeader("Content-Type", "application/json") .build(); Response response = httpClient.newCall(request).execute(); Response response = httpClient.newCall(request).execute(); String result = response.body().string(); String result = response.body().string(); ThemisManager manager = new ThemisManager(); Document doc = ThemisManager.convertStringToXMLDocument(result); Document doc = manager.convertStringToXMLDocument(result); NodeList nodeList = doc.getElementsByTagName("testcase"); NodeList nodeList = doc.getElementsByTagName("testcase"); for (int temp = 0; temp < nodeList.getLength(); temp++) { for (int temp = 0; temp < nodeList.getLength(); temp++) { Loading @@ -234,34 +219,30 @@ public class Clause_9_5_Checker extends AbstractClauseChecker { Element element = (Element) node; Element element = (Element) node; part[0] = "" + element.getAttributeNode("id"); part[0] = "" + element.getAttributeNode("id"); part[1] = "" + element.getAttributeNode("name"); part[1] = "" + element.getAttributeNode("name"); part[2] = ""+((Element) node).getElementsByTagName("error").item(0).getAttributes().getNamedItem("message"); part[2] = "" + ((Element) node).getElementsByTagName("error").item(0).getAttributes() .getNamedItem("message"); res.add(part); res.add(part); } } } } } catch (IOException e) { } catch (IOException e) { log(getMessage(MESSAGE.themisError), SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.RELEASE, SAREFPipeline.Mode.PORTAL); logWarning(getMessage(MESSAGE.themisError)); } } return res; return res; } } private void testsRDFaGenerator() throws SAREFPipelineException{ private void testsRDFaGenerator() throws SAREFPipelineException, IOException { if(pipeline.ignoreSite) { return; } String categoryChanger = ""; String categoryChanger = ""; String repoName = project.getName(); String repoName = project.getName(); String href = project.getNamespace(); String href = project.getNamespace(); File testCSV = new File(repository.getDirectory(), "/tests/tests.csv"); File testCSV = new File(repository.getDirectory(), "/tests/tests.csv"); File versionSite = new File(siteManager.siteDir, version.getVersionPath()); File testHTML = new File(repository.getDirectory(), "/target/site/tests.html"); FileUtils.forceMkdir(versionSite); File testHTML = new File(versionSite, "tests.html"); GenerateRDFaManager manager = new GenerateRDFaManager(); GenerateRDFaManager.GenerateRDFa(categoryChanger, repoName, href, testCSV, testHTML, "tests"); manager.GenerateRDFaManager(categoryChanger, repoName, href, testCSV, testHTML, "tests"); } } } }
src/main/java/fr/emse/gitlab/saref/entities/SAREFNamedGraph.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,7 @@ public class SAREFNamedGraph { return false; return false; if (getClass() != obj.getClass()) if (getClass() != obj.getClass()) return false; return false; SAREFTerm other = (SAREFTerm) obj; SAREFNamedGraph other = (SAREFNamedGraph) obj; if (iri == null) { if (iri == null) { if (other.iri != null) if (other.iri != null) return false; return false; Loading
src/main/java/fr/emse/gitlab/saref/managers/GenerateRDFaManager.java +178 −203 File changed.Preview size limit exceeded, changes collapsed. Show changes