package org.hadatac.entity.pojo; import org.apache.jena.query.Query; import org.apache.jena.query.QueryExecution; import org.apache.jena.query.QueryExecutionFactory; import org.apache.jena.query.QueryFactory; import org.apache.jena.query.QuerySolution; import org.apache.jena.query.ResultSet; import org.apache.jena.query.ResultSetFactory; import org.apache.jena.query.ResultSetRewindable; import org.apache.jena.rdf.model.Model; import org.hadatac.utils.Collections; import org.hadatac.utils.NameSpaces; public class HADataC { private String localName; private String host; private Dataset dataset; private DataAcquisition dataAcquisition; private Deployment deployment; public HADataC () { dataset = null; dataAcquisition = null; deployment = null; } public String getLocalName() { return localName; } public void setLocalName(String localName) { this.localName = localName; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public Dataset getDataset() { return dataset; } public void setDataset(Dataset dataset) { this.dataset = dataset; } public DataAcquisition getDataAcquisition() { return dataAcquisition; } public void setDataAcquisition(DataAcquisition dataAcquisition) { this.dataAcquisition = dataAcquisition; } public Deployment getDeployment() { return deployment; } public void setDeployment(Deployment deployment) { this.deployment = deployment; } public static HADataC find() { HADataC hadatac = new HADataC(); hadatac.setHost("http://localhost"); hadatac.setLocalName("kb"); return hadatac; } public static HADataC find(Model model) { String queryString = NameSpaces.getInstance().printSparqlNameSpaceList() + "SELECT ?kb ?host WHERE {\n" + " ?kb a hadatac:KnowledgeBase .\n" + " ?kb hadatac:hasHost ?host .\n" + "}"; Query query = QueryFactory.create(queryString); QueryExecution qexec = QueryExecutionFactory.create(query, model); ResultSet results = qexec.execSelect(); ResultSetRewindable resultsrw = ResultSetFactory.copyResults(results); if (resultsrw.size() >= 1) { QuerySolution soln = resultsrw.next(); HADataC hadatac = new HADataC(); hadatac.setLocalName(soln.getResource("kb").getLocalName()); hadatac.setHost(soln.getLiteral("host").getString()); return hadatac; } return null; } public String getUri() { return host + "/hadatac"; } public String getDatasetKbUri() { return dataset.getCcsvUri(); } public String getDataAcquisitionKbUri() { return dataAcquisition.getCcsvUri(); } public String getDeploymentUri() { return deployment.getUri(); } public String getMeasurementUri() { return host + "/hadatac/measurement/"; } public String getStaticMetadataSparqlURL() { return Collections.getCollectionsName(Collections.METADATA_SPARQL); } public String getDynamicMetadataURL() { return host + ":8983/solr/sdc"; } public String getDynamicMetadataSelectURL() { return host + ":8983/solr/sdc/select"; } public String getDynamicMetadataUpdateURL() { return host + ":8983/solr/sdc/update"; } public String getMeasurementUpdateURL() { return host + ":8983/solr/measurement/update"; } public String getMeasurementURL() { return host + ":8983/solr/measurement"; } }