|
@@ -6,6 +6,7 @@ import java.util.List;
|
|
|
import org.apache.jena.query.QuerySolution;
|
|
|
import org.apache.jena.query.ResultSet;
|
|
|
import org.apache.jena.rdf.model.RDFNode;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
|
|
import ua.be.wee.model.nodes.Activity;
|
|
@@ -22,6 +23,9 @@ import ua.be.wee.model.util.DateTimeConverter;
|
|
|
|
|
|
@Repository
|
|
|
public class PTRepository {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PMRepository pmRepo;
|
|
|
|
|
|
public PT createTrace(PM pm) throws Exception {
|
|
|
int index = getNextIndex(pm);
|
|
@@ -425,6 +429,9 @@ public class PTRepository {
|
|
|
RDFNode rdfNode = next.get("?ts");
|
|
|
ev.setTimestamp(DateTimeConverter.convertSPARQLDateTimeToTimestamp(rdfNode.toString()));
|
|
|
}
|
|
|
+
|
|
|
+ ev.setPmEnacted(pmRepo.getPM(pmIRI));
|
|
|
+
|
|
|
return ev;
|
|
|
} else {
|
|
|
throw new Exception("Error inserting data.");
|
|
@@ -432,4 +439,30 @@ public class PTRepository {
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public List<PT> getStartTraceEvents() {
|
|
|
+ List<PT> list = new ArrayList<PT>();
|
|
|
+ String query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
|
|
|
+ + "PREFIX tr: <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#>\n"
|
|
|
+ + "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"
|
|
|
+ + "SELECT ?trace ?pm ?ts WHERE {\n"
|
|
|
+ + " ?trace rdf:type <http://ua.be/sdo2l/vocabulary/formalisms/processtraces#StartTraceEvent> ;\n"
|
|
|
+ + " tr:relatesTo ?pm ;\n"
|
|
|
+ + " tr:hasTimestamp ?ts ; \n"
|
|
|
+ + "}";
|
|
|
+ ResultSet rs = FusekiWrapper.getInstance().execQuery(query);
|
|
|
+ while (rs.hasNext()) {
|
|
|
+ QuerySolution next = rs.next();
|
|
|
+ RDFNode trace = next.get("?trace");
|
|
|
+ RDFNode pm = next.get("?pm");
|
|
|
+ RDFNode ts = next.get("?ts");
|
|
|
+ PT pt = new PT();
|
|
|
+ pt.setIri(trace.toString());
|
|
|
+ pt.setTimestamp(DateTimeConverter.convertSPARQLDateTimeToTimestamp(ts.toString()));
|
|
|
+ pt.setPmEnacted(pmRepo.getPM(pm.toString()));
|
|
|
+ list.add(pt);
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
}
|