2 * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org
.argeo
.slc
.jcr
.dao
;
19 import javax
.jcr
.Node
;
20 import javax
.jcr
.RepositoryException
;
21 import javax
.jcr
.query
.Query
;
23 import org
.argeo
.jcr
.JcrUtils
;
24 import org
.argeo
.slc
.SlcException
;
25 import org
.argeo
.slc
.dao
.test
.TestRunDescriptorDao
;
26 import org
.argeo
.slc
.test
.TestRunDescriptor
;
28 public class TestRunDescriptorDaoJcr
extends AbstractSlcJcrDao
implements
29 TestRunDescriptorDao
{
31 public TestRunDescriptor
getTestRunDescriptor(String id
) {
32 // TODO: optimize query
33 String queryString
= "//testrun[@testRunUuid='" + id
+ "']";
34 Query query
= createQuery(queryString
, Query
.XPATH
);
35 Node node
= JcrUtils
.querySingleNode(query
);
38 return (TestRunDescriptor
) nodeMapper
.load(node
);
41 public void saveOrUpdate(TestRunDescriptor testRunDescriptor
) {
43 nodeMapper
.save(getSession(), basePath(testRunDescriptor
),
46 } catch (RepositoryException e
) {
47 throw new SlcException("Cannot import " + testRunDescriptor
, e
);