org.squashtest.tm.service.internal.repository.hibernate
Class HibernateTestCaseDao

java.lang.Object
  extended by org.squashtest.tm.service.internal.repository.hibernate.HibernateDao<ENTITY_TYPE>
      extended by org.squashtest.tm.service.internal.repository.hibernate.HibernateEntityDao<org.squashtest.tm.domain.testcase.TestCase>
          extended by org.squashtest.tm.service.internal.repository.hibernate.HibernateTestCaseDao
All Implemented Interfaces:
CustomTestCaseDao, EntityDao<org.squashtest.tm.domain.testcase.TestCase>, GenericDao<org.squashtest.tm.domain.testcase.TestCase>

@Repository(value="CustomTestCaseDao")
public class HibernateTestCaseDao
extends HibernateEntityDao<org.squashtest.tm.domain.testcase.TestCase>
implements CustomTestCaseDao

DAO for org.squashtest.tm.domain.testcase.TestCase

Author:
bsiri

Field Summary
 
Fields inherited from class org.squashtest.tm.service.internal.repository.hibernate.HibernateDao
entityType
 
Constructor Summary
HibernateTestCaseDao()
           
 
Method Summary
 long countByVerifiedRequirementVersion(long verifiedId)
           
 List<org.squashtest.tm.domain.testcase.TestCaseLibraryNode> findAllByNameContaining(String tokenInName, boolean groupByProject)
          Finds all TestCaseLibraryNode which name contains the given token.
 List<org.squashtest.tm.domain.testcase.TestCase> findAllByRequirement(org.squashtest.tm.domain.requirement.RequirementSearchCriteria criteria, boolean isProjectOrdered)
          Returns the test cases associated with at least a requirement that meets the criteria
 List<org.squashtest.tm.domain.testcase.TestCase> findAllByVerifiedRequirementVersion(long verifiedId, org.squashtest.tm.core.foundation.collection.PagingAndSorting sorting)
          Returns paged and sorted collection of test cases verifying the requirement version of given id.
 List<org.squashtest.tm.domain.testcase.TestCase> findAllCallingTestCases(long calleeId)
          return all test cases having at least one call test step referencing the given test case.
 List<org.squashtest.tm.domain.testcase.TestCase> findAllCallingTestCases(long testCaseId, org.squashtest.tm.core.foundation.collection.PagingAndSorting sorting)
          returns the test cases having at least one call test step referencing the given test case.
 List<org.squashtest.tm.domain.execution.Execution> findAllExecutionByTestCase(Long tcId)
          Returns all the execution associated to this test-case
 List<org.squashtest.tm.domain.testcase.TestCase> findAllLinkedToIteration(List<Long> nodeIds)
          Return all test-cases that are linked to an iteration-test-plan-item
 List<org.squashtest.tm.domain.testcase.TestStep> findAllStepsByIdFiltered(long testCaseId, org.squashtest.tm.core.foundation.collection.Paging filter)
           
 List<Long> findAllTestCaseIdsByNodeIds(Collection<Long> nodeIds)
           
 List<Long> findAllTestCasesIdsByLibrary(long libraryId)
          Return all test case ids contained by the library of the given id.
 List<Long> findAllTestCasesIdsCalledByTestCases(List<Long> testCasesIds)
          Finds all the ids of the test cases called by a given list of test cases.
 List<Long> findAllTestCasesIdsCallingTestCases(List<Long> testCasesIds)
           
 org.squashtest.tm.domain.testcase.TestCase findAndInit(Long testCaseId)
           
 List<org.squashtest.tm.domain.testcase.TestCaseLibraryNode> findBySearchCriteria(org.squashtest.tm.domain.testcase.TestCaseSearchCriteria criteria)
           
 List<Long> findCalledTestCaseOfCallSteps(List<Long> testStepsIds)
          Returns the test cases ids first called by the call steps found in the list of given test steps ids.
 org.squashtest.tm.domain.testcase.TestCase findTestCaseByTestStepId(long testStepId)
          This method returns the test step's associated TestCase
 List<Long> findTestCasesHavingCaller(Collection<Long> testCasesIds)
          Given a list of test case ids, returns a sublist of the test case ids.
 List<Object[]> findTestCasesHavingCallerDetails(Collection<Long> testCaseIds)
          Given a list of test case ids, returns a list of the following structure : - caller id (null if no match), - caller name (null if no match), - called id, - called name Note that only first-level callers will be included if found, additional invokations will be needed to fetch all the hierarchy.
 List<org.squashtest.tm.domain.testcase.ExportTestCaseData> findTestCaseToExportFromLibrary(List<Long> projectIds)
           
 List<org.squashtest.tm.domain.testcase.ExportTestCaseData> findTestCaseToExportFromNodes(List<Long> params)
           
 List<org.squashtest.tm.domain.testcase.TestCase> findUnsortedAllByVerifiedRequirementVersion(long requirementVersionId)
          Returns unsorted collection of test cases verifying the requirement version of given id.
 void persistTestCaseAndSteps(org.squashtest.tm.domain.testcase.TestCase testCase)
          That method exists because hibernate doesn't quite respect the cascade persist for a set of test case and steps
 void safePersist(org.squashtest.tm.domain.testcase.TestCase testCase)
          if the transient test case has steps, will invoke CustomTestCaseDao.persistTestCaseAndSteps(TestCase) else, will just save it.
 
Methods inherited from class org.squashtest.tm.service.internal.repository.hibernate.HibernateEntityDao
collectFromMapList, collectFromMapList, collectFromMapListToSet, collectFromMapListToSet, findAll, findAllByIds, findById, findDescendantIds, findSorted, findSorted, getIdPropertyName
 
Methods inherited from class org.squashtest.tm.service.internal.repository.hibernate.HibernateDao
clearFromCache, clearFromCache, currentSession, executeEntityNamedQuery, executeEntityNamedQuery, executeEntityNamedQuery, executeListNamedQuery, executeListNamedQuery, executeListNamedQuery, executeListNamedQuery, executeUpdateListQuery, flush, getEntity, persist, persist, persistEntity, remove, removeAll, removeEntity
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.squashtest.tm.service.internal.repository.EntityDao
findAll, findAllByIds, findById
 
Methods inherited from interface org.squashtest.tm.service.internal.repository.GenericDao
clearFromCache, clearFromCache, flush, persist, persist, remove, removeAll
 

Constructor Detail

HibernateTestCaseDao

public HibernateTestCaseDao()
Method Detail

safePersist

public void safePersist(org.squashtest.tm.domain.testcase.TestCase testCase)
Description copied from interface: CustomTestCaseDao
if the transient test case has steps, will invoke CustomTestCaseDao.persistTestCaseAndSteps(TestCase) else, will just save it.

Specified by:
safePersist in interface CustomTestCaseDao

persistTestCaseAndSteps

public void persistTestCaseAndSteps(org.squashtest.tm.domain.testcase.TestCase testCase)
Description copied from interface: CustomTestCaseDao
That method exists because hibernate doesn't quite respect the cascade persist for a set of test case and steps

Specified by:
persistTestCaseAndSteps in interface CustomTestCaseDao

findAndInit

public org.squashtest.tm.domain.testcase.TestCase findAndInit(Long testCaseId)
Specified by:
findAndInit in interface CustomTestCaseDao

findAllStepsByIdFiltered

public List<org.squashtest.tm.domain.testcase.TestStep> findAllStepsByIdFiltered(long testCaseId,
                                                                                 org.squashtest.tm.core.foundation.collection.Paging filter)
Specified by:
findAllStepsByIdFiltered in interface CustomTestCaseDao

findAllByNameContaining

public List<org.squashtest.tm.domain.testcase.TestCaseLibraryNode> findAllByNameContaining(String tokenInName,
                                                                                           boolean groupByProject)
Description copied from interface: CustomTestCaseDao
Finds all TestCaseLibraryNode which name contains the given token.

Specified by:
findAllByNameContaining in interface CustomTestCaseDao
Returns:

findTestCaseByTestStepId

public org.squashtest.tm.domain.testcase.TestCase findTestCaseByTestStepId(long testStepId)
Description copied from interface: CustomTestCaseDao
This method returns the test step's associated TestCase

Specified by:
findTestCaseByTestStepId in interface CustomTestCaseDao
Parameters:
testStepId - the test step id
Returns:
the associated test Case

findTestCasesHavingCaller

public List<Long> findTestCasesHavingCaller(Collection<Long> testCasesIds)
Description copied from interface: CustomTestCaseDao
Given a list of test case ids, returns a sublist of the test case ids. An id will be included in the output list if at least one test case calls the given test case.

Specified by:
findTestCasesHavingCaller in interface CustomTestCaseDao
Returns:
a sublist of the input list, with test cases never called filtered out.

findAllTestCasesIdsCalledByTestCases

public List<Long> findAllTestCasesIdsCalledByTestCases(List<Long> testCasesIds)
Description copied from interface: CustomTestCaseDao
Finds all the ids of the test cases called by a given list of test cases.

Specified by:
findAllTestCasesIdsCalledByTestCases in interface CustomTestCaseDao
Returns:

findAllTestCasesIdsCallingTestCases

public List<Long> findAllTestCasesIdsCallingTestCases(List<Long> testCasesIds)
Specified by:
findAllTestCasesIdsCallingTestCases in interface CustomTestCaseDao

findAllCallingTestCases

public List<org.squashtest.tm.domain.testcase.TestCase> findAllCallingTestCases(long testCaseId,
                                                                                org.squashtest.tm.core.foundation.collection.PagingAndSorting sorting)
Description copied from interface: CustomTestCaseDao
returns the test cases having at least one call test step referencing the given test case.

Specified by:
findAllCallingTestCases in interface CustomTestCaseDao
Parameters:
testCaseId - the id of the test case.
sorting - the sorting attributes and the like.
Returns:
the list of test cases having at least one call step calling the input test case.

findAllCallingTestCases

public List<org.squashtest.tm.domain.testcase.TestCase> findAllCallingTestCases(long calleeId)
Description copied from interface: CustomTestCaseDao
return all test cases having at least one call test step referencing the given test case.

Specified by:
findAllCallingTestCases in interface CustomTestCaseDao
Parameters:
calleeId - the id of the called test case
Returns:
the test cases calling the test case matching the given id param.

findTestCasesHavingCallerDetails

public List<Object[]> findTestCasesHavingCallerDetails(Collection<Long> testCaseIds)
Description copied from interface: CustomTestCaseDao
Given a list of test case ids, returns a list of the following structure : - caller id (null if no match), - caller name (null if no match), - called id, - called name Note that only first-level callers will be included if found, additional invokations will be needed to fetch all the hierarchy.

Specified by:
findTestCasesHavingCallerDetails in interface CustomTestCaseDao
Parameters:
testCaseIds - the list of test case ids under inquiry.
Returns:
a structure described just like above.

findAllByRequirement

public List<org.squashtest.tm.domain.testcase.TestCase> findAllByRequirement(org.squashtest.tm.domain.requirement.RequirementSearchCriteria criteria,
                                                                             boolean isProjectOrdered)
Description copied from interface: CustomTestCaseDao
Returns the test cases associated with at least a requirement that meets the criteria

Specified by:
findAllByRequirement in interface CustomTestCaseDao
Parameters:
criteria - the requirement search criteria
isProjectOrdered - if set to true, the list of test case is ordered by project
Returns:
the list of test case (order by project if specified)

findCalledTestCaseOfCallSteps

public List<Long> findCalledTestCaseOfCallSteps(List<Long> testStepsIds)
Description copied from interface: CustomTestCaseDao
Returns the test cases ids first called by the call steps found in the list of given test steps ids. Note: only first level called test case are returned. To get the whole test case tree you should use org.squashtest.tm.service.testcase.CallStepManagerService#getTestCaseCallTree(Long).

Specified by:
findCalledTestCaseOfCallSteps in interface CustomTestCaseDao
Returns:
the list of test case ids called by test steps

findAllByVerifiedRequirementVersion

public List<org.squashtest.tm.domain.testcase.TestCase> findAllByVerifiedRequirementVersion(long verifiedId,
                                                                                            org.squashtest.tm.core.foundation.collection.PagingAndSorting sorting)
Description copied from interface: CustomTestCaseDao
Returns paged and sorted collection of test cases verifying the requirement version of given id.

Specified by:
findAllByVerifiedRequirementVersion in interface CustomTestCaseDao
Returns:

countByVerifiedRequirementVersion

public long countByVerifiedRequirementVersion(long verifiedId)
Specified by:
countByVerifiedRequirementVersion in interface CustomTestCaseDao
Returns:
See Also:
CustomTestCaseDao.countByVerifiedRequirementVersion(long)

findUnsortedAllByVerifiedRequirementVersion

public List<org.squashtest.tm.domain.testcase.TestCase> findUnsortedAllByVerifiedRequirementVersion(long requirementVersionId)
Description copied from interface: CustomTestCaseDao
Returns unsorted collection of test cases verifying the requirement version of given id.

Specified by:
findUnsortedAllByVerifiedRequirementVersion in interface CustomTestCaseDao
Returns:

findBySearchCriteria

public List<org.squashtest.tm.domain.testcase.TestCaseLibraryNode> findBySearchCriteria(org.squashtest.tm.domain.testcase.TestCaseSearchCriteria criteria)
Specified by:
findBySearchCriteria in interface CustomTestCaseDao

findAllExecutionByTestCase

public List<org.squashtest.tm.domain.execution.Execution> findAllExecutionByTestCase(Long tcId)
Description copied from interface: CustomTestCaseDao
Returns all the execution associated to this test-case

Specified by:
findAllExecutionByTestCase in interface CustomTestCaseDao
Returns:

findTestCaseToExportFromLibrary

public List<org.squashtest.tm.domain.testcase.ExportTestCaseData> findTestCaseToExportFromLibrary(List<Long> projectIds)
Specified by:
findTestCaseToExportFromLibrary in interface CustomTestCaseDao

findTestCaseToExportFromNodes

public List<org.squashtest.tm.domain.testcase.ExportTestCaseData> findTestCaseToExportFromNodes(List<Long> params)
Specified by:
findTestCaseToExportFromNodes in interface CustomTestCaseDao

findAllTestCaseIdsByNodeIds

public List<Long> findAllTestCaseIdsByNodeIds(Collection<Long> nodeIds)
Specified by:
findAllTestCaseIdsByNodeIds in interface CustomTestCaseDao

findAllTestCasesIdsByLibrary

public List<Long> findAllTestCasesIdsByLibrary(long libraryId)
Description copied from interface: CustomTestCaseDao
Return all test case ids contained by the library of the given id. Not only root ones

Specified by:
findAllTestCasesIdsByLibrary in interface CustomTestCaseDao
Returns:

findAllLinkedToIteration

public List<org.squashtest.tm.domain.testcase.TestCase> findAllLinkedToIteration(List<Long> nodeIds)
Description copied from interface: CustomTestCaseDao
Return all test-cases that are linked to an iteration-test-plan-item

Specified by:
findAllLinkedToIteration in interface CustomTestCaseDao
Returns:


Copyright © 2010-2013 Henix, henix.fr. All Rights Reserved.