package org.argeo.slc.ws.test.tree;
-import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.argeo.slc.core.SlcException;
-import org.argeo.slc.core.test.TestRunDescriptor;
import org.argeo.slc.core.test.tree.PartSubList;
import org.argeo.slc.core.test.tree.TreeTestResult;
-import org.argeo.slc.dao.test.TestRunDescriptorDao;
import org.argeo.slc.dao.test.tree.TreeTestResultDao;
import org.argeo.slc.msg.test.tree.ResultPartRequest;
+import org.argeo.slc.services.test.TestManagerService;
+import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint {
private Log log = LogFactory.getLog(getClass());
private final TreeTestResultDao treeTestResultDao;
- private final TestRunDescriptorDao testRunDescriptorDao;
+ private final TestManagerService testManagerService;
public ResultPartRequestEp(TreeTestResultDao treeTestResultDao,
- TestRunDescriptorDao testRunDescriptorDao) {
+ TestManagerService testManagerService) {
this.treeTestResultDao = treeTestResultDao;
- this.testRunDescriptorDao = testRunDescriptorDao;
+ this.testManagerService = testManagerService;
}
@Override
protected Object invokeInternal(Object requestObject) throws Exception {
ResultPartRequest msg = (ResultPartRequest) requestObject;
- TestRunDescriptor testRunDescriptor = msg.getTestRunDescriptor();
- if (testRunDescriptor != null) {
- testRunDescriptorDao.saveOrUpdate(testRunDescriptor);
- if (log.isDebugEnabled())
- log.debug("Updated test run descriptor with id "
- + testRunDescriptor.getTestRunUuid());
- }
+ testManagerService
+ .registerTestRunDescriptor(msg.getTestRunDescriptor());
+ // if (testRunDescriptor != null) {
+ // if (log.isDebugEnabled())
+ // log.debug("Updating test run descriptor with id "
+ // + testRunDescriptor.getTestRunUuid());
+ //
+ // testRunDescriptorDao.saveOrUpdate(testRunDescriptor);
+ //
+ // // Update tree test result collection
+ // // TODO: put it in dedicated service and optimize
+ // SlcExecution slcExecution = slcExecutionDao
+ // .getSlcExecution(testRunDescriptor.getSlcExecutionUuid());
+ // if (slcExecution != null) {
+ // TreeTestResultCollection ttrc = treeTestResultCollectionDao
+ // .getTestResultCollection(slcExecution.getUser());
+ // if (ttrc == null) {
+ // ttrc = new TreeTestResultCollection(slcExecution.getUser());
+ // treeTestResultCollectionDao.create(ttrc);
+ // }
+ // TreeTestResult ttr = treeTestResultDao
+ // .getTestResult(testRunDescriptor.getTestResultUuid());
+ // ttrc.getResults().add(ttr);
+ // treeTestResultCollectionDao.update(ttrc);
+ // }
+ // }
TreeTestResult treeTestResult = treeTestResultDao.getTestResult(msg
.getResultUuid());
lst.getParts().add(msg.getResultPart());
treeTestResult.getElements().putAll(msg.getRelatedElements());
+ if (log.isDebugEnabled())
+ log.debug("Updating result with id " + treeTestResult.getUuid());
+
treeTestResultDao.update(treeTestResult);
- if (log.isDebugEnabled())
- log.debug("Update result with id " + treeTestResult.getUuid());
return null;
}