+/*\r
+ * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
package org.argeo.slc.jcr.dao;\r
\r
import java.util.ArrayList;\r
import javax.jcr.Node;\r
import javax.jcr.NodeIterator;\r
import javax.jcr.RepositoryException;\r
-import javax.jcr.query.InvalidQueryException;\r
import javax.jcr.query.Query;\r
-import javax.jcr.query.QueryManager;\r
\r
import org.apache.commons.logging.Log;\r
import org.apache.commons.logging.LogFactory;\r
curNode.setProperty(ttrColProp, colId);\r
}\r
getSession().save();\r
- } catch (Exception e) {\r
+ } catch (RepositoryException e) {\r
throw new SlcException("Cannot create TreeTestResultCollection "\r
+ ttrCollection, e);\r
}\r
}\r
// We remove those who are not part of the collection anymore\r
String queryString = "//*[@" + ttrColProp + "='" + colId + "']";\r
- Query query = queryManager.createQuery(queryString, Query.XPATH);\r
+ Query query = createQuery(queryString, Query.XPATH);\r
log.debug("Query :" + queryString);\r
NodeIterator ni = query.execute().getNodes();\r
int i = 0;\r
}\r
}\r
getSession().save();\r
- } catch (Exception e) {\r
+ } catch (RepositoryException e) {\r
throw new SlcException("Cannot update TreeTestResultCollection "\r
+ ttrCollection, e);\r
}\r
Node curNode;\r
queryString = "//testresult[@uuid='" + resultUuid + "' and "\r
+ ttrColProp + "='" + ttrc.getId() + "']";\r
- Query query = queryManager.createQuery(queryString, Query.XPATH);\r
+ Query query = createQuery(queryString, Query.XPATH);\r
curNode = JcrUtils.querySingleNode(query);\r
if (curNode == null) {\r
throw new SlcException("Cannot find test result #" + resultUuid);\r
curNode.getProperty(ttrColProp).remove();\r
}\r
getSession().save();\r
- } catch (Exception e) {\r
+ } catch (RepositoryException e) {\r
throw new SlcException("Cannot remove TreeTestResult of Id "\r
+ resultUuid + " from collection " + ttrc, e);\r
}\r
try {\r
if (log.isDebugEnabled())\r
log.debug("Retrieve nodes from query: " + query);\r
- Query q = queryManager.createQuery(query, Query.XPATH);\r
+ Query q = createQuery(query, Query.XPATH);\r
return q.execute().getNodes();\r
- } catch (Exception e) {\r
+ } catch (RepositoryException e) {\r
throw new SlcException("Cannot load nodes from query: " + query);\r
}\r
}\r
private String property(Node node, String key) {\r
try {\r
return node.getProperty(key).getString();\r
- } catch (Exception e) {\r
+ } catch (RepositoryException e) {\r
log.warn("Cannot retrieve property " + key + " of node " + node, e);\r
return null;\r
}\r
}\r
\r
private Node singleNode(String query, String queryType) {\r
- try {\r
- Query q = queryManager.createQuery(query, queryType);\r
+ Query q = createQuery(query, queryType);\r
return JcrUtils.querySingleNode(q);\r
- } catch (RepositoryException e) {\r
- throw new SlcException("Cannot retrieve single node with query "\r
- + query, e);\r
- }\r
}\r
\r
}\r