]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TestRunDescriptorDaoJcr.java
Take over JCR implementation
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / dao / TestRunDescriptorDaoJcr.java
1 package org.argeo.slc.jcr.dao;
2
3 import javax.jcr.Node;
4 import javax.jcr.query.Query;
5
6 import org.argeo.jcr.JcrUtils;
7 import org.argeo.slc.SlcException;
8 import org.argeo.slc.dao.test.TestRunDescriptorDao;
9 import org.argeo.slc.test.TestRunDescriptor;
10
11 public class TestRunDescriptorDaoJcr extends AbstractSlcJcrDao implements
12 TestRunDescriptorDao {
13
14 public TestRunDescriptor getTestRunDescriptor(String id) {
15 try {
16 // TODO: optimize query
17 String queryString = "//testrun[@testRunUuid='" + id + "']";
18 Query query = queryManager.createQuery(queryString, Query.XPATH);
19 Node node = JcrUtils.querySingleNode(query);
20 if (node == null)
21 return null;
22 return (TestRunDescriptor) nodeMapper.load(node);
23 } catch (Exception e) {
24 throw new SlcException("Cannot load test run descriptor" + id, e);
25 }
26 }
27
28 public void saveOrUpdate(TestRunDescriptor testRunDescriptor) {
29 try {
30 nodeMapper.save(getSession(), basePath(testRunDescriptor),
31 testRunDescriptor);
32 getSession().save();
33 } catch (Exception e) {
34 throw new SlcException("Cannot import " + testRunDescriptor, e);
35 }
36 }
37
38 }