public Graph importJob(JobInstance job, final String baseUri) throws GoIntegrationException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Attempting to import job " + job); } JobXmlViewModel xmlModel = new JobXmlViewModel(job); Graph jobGraph = rdfizer.importURIUsingGRDDL(xmlModel, baseUri); URIReference jobURI = jobGraph.getURIReference(xmlModel.httpUrl(baseUri)); importArtifactsForJob(jobURI, jobGraph); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Done building jobs graph with " + jobGraph.size() + " triples"); } return jobGraph; }
private String jobArtifactsPath(URIReference jobResource, Graph jobsGraph) { String selectArtifactRoot = GoOntology.URI_PREFIX + "prefix xsd: <http://www.w3.org/2001/XMLSchema#> " + "SELECT DISTINCT ?pathFromArtifactRoot WHERE { " + "<" + jobResource.getURIText() + "> cruise:hasArtifacts ?artifacts . " + " ?artifacts a cruise:Artifacts . " + " ?artifacts cruise:pathFromArtifactRoot ?pathFromArtifactRoot ." + "}"; BoundVariables bv = jobsGraph.selectFirst(selectArtifactRoot); return (bv == null) ? null : bv.getString("pathFromArtifactRoot"); }
private List<String> unitTestArtifactPathsForJob(Graph graph, URIReference jobURI) { String selectArtifactPaths = GoOntology.URI_PREFIX + "prefix xsd: <http://www.w3.org/2001/XMLSchema#> " + "SELECT DISTINCT ?artifactPath WHERE { " + "<" + jobURI.getURIText() + "> cruise:hasArtifacts ?artifacts . " + "?artifacts a cruise:Artifacts . " + "?artifacts cruise:hasArtifact ?artifact . " + "?artifact cruise:artifactPath ?artifactPath . " + "?artifact cruise:artifactType 'unit'^^xsd:string " + "}"; List<BoundVariables> bvs = graph.select(selectArtifactPaths); List<String> result = new ArrayList<>(bvs.size()); for (BoundVariables bv : bvs) { result.add(bv.getString("artifactPath")); } return result; }