+/*\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.Calendar;\r
import java.util.Date;\r
import java.util.GregorianCalendar;\r
\r
+import javax.jcr.NamespaceRegistry;\r
import javax.jcr.RepositoryException;\r
import javax.jcr.Session;\r
-import javax.jcr.Workspace;\r
-import javax.jcr.query.QueryManager;\r
+import javax.jcr.query.Query;\r
\r
+import org.argeo.ArgeoException;\r
import org.argeo.jcr.JcrUtils;\r
import org.argeo.jcr.NodeMapper;\r
import org.argeo.jcr.NodeMapperProvider;\r
-import org.argeo.slc.SlcException;\r
import org.argeo.slc.runtime.SlcAgentDescriptor;\r
import org.argeo.slc.test.TestResult;\r
import org.argeo.slc.test.TestRunDescriptor;\r
\r
private Session session;\r
\r
- protected Workspace workspace;\r
- protected QueryManager queryManager;\r
+ // protected Workspace workspace;\r
+ // protected QueryManager queryManager;\r
protected NodeMapper nodeMapper;\r
\r
// We inject the nodeMapperProvider that define a default node mapper as an\r
private NodeMapperProvider nodeMapperProvider;\r
\r
public void init() {\r
- try {\r
- workspace = getSession().getWorkspace();\r
- queryManager = workspace.getQueryManager();\r
- nodeMapper = getNodeMapperProvider().findNodeMapper(null);\r
- } catch (RepositoryException e) {\r
- throw new SlcException("Cannot initialize DAO", e);\r
- }\r
+ nodeMapper = getNodeMapperProvider().findNodeMapper(null);\r
+ // JcrUtils.registerNamespaceSafely(session, "slc",\r
+ // "http://www.argeo.org/slc/0.12");\r
+\r
}\r
\r
public void setSession(Session session) {\r
protected String basePath(TestResult testResult) {\r
Calendar cal = new GregorianCalendar();\r
cal.setTime(new Date());\r
- // cal.setTime(slcExecution.getStartDate());\r
- return "/slc/testresult/" + JcrUtils.dateAsPath(cal) + "testresult";\r
+ return "/slc/testresults/" + JcrUtils.dateAsPath(cal) + "testresult";\r
}\r
\r
protected String basePath(SlcAgentDescriptor slcAgentDescriptor) {\r
- Calendar cal = new GregorianCalendar();\r
- cal.setTime(new Date());\r
- // cal.setTime(slcExecution.getStartDate());\r
return "/slc/agents/"\r
- + JcrUtils.hostAsPath(slcAgentDescriptor.getHost() + "/agent");\r
+ + JcrUtils.hostAsPath(slcAgentDescriptor.getHost()) + "/agent";\r
}\r
\r
protected String basePath(TestRunDescriptor testRunDescriptor) {\r
- Calendar cal = new GregorianCalendar();\r
- cal.setTime(new Date());\r
- // cal.setTime(slcExecution.getStartDate());\r
- return "/slc/testruns/" + testRunDescriptor.getTestRunUuid()\r
+ return "/slc/testruns/" + testRunDescriptor.getSlcExecutionUuid()\r
+ "/testrun";\r
}\r
\r
return this.nodeMapperProvider;\r
}\r
\r
+ protected Query createQuery(String query, String type) {\r
+ try {\r
+ return getSession().getWorkspace().getQueryManager().createQuery(\r
+ query, type);\r
+ } catch (RepositoryException e) {\r
+ throw new ArgeoException("Cannot create query " + query, e);\r
+ }\r
+ }\r
}\r