org.squashtest.tm.service.internal.requirement
Class RequirementLibraryNavigationServiceImpl

java.lang.Object
  extended by org.squashtest.tm.service.internal.library.AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>
      extended by org.squashtest.tm.service.internal.requirement.RequirementLibraryNavigationServiceImpl
All Implemented Interfaces:
LibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>, RequirementLibraryFinderService, RequirementLibraryNavigationService

@Service(value="squashtest.tm.service.RequirementLibraryNavigationService")
@Transactional
public class RequirementLibraryNavigationServiceImpl
extends AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>
implements RequirementLibraryNavigationService, RequirementLibraryFinderService


Field Summary
 
Fields inherited from class org.squashtest.tm.service.internal.library.AbstractLibraryNavigationService
COPY_TOKEN, permissionService
 
Constructor Summary
RequirementLibraryNavigationServiceImpl()
           
 
Method Summary
 org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirement(long requirementId, org.squashtest.tm.domain.requirement.NewRequirementVersionDto newRequirement)
           
 org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirement(long requirementId, org.squashtest.tm.domain.requirement.Requirement newRequirement)
           
 org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementFolder(long folderId, org.squashtest.tm.domain.requirement.NewRequirementVersionDto firstVersion)
           
 org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementFolder(long folderId, org.squashtest.tm.domain.requirement.Requirement requirement)
           
 org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementLibrary(long libraryId, org.squashtest.tm.domain.requirement.NewRequirementVersionDto newVersion)
           
 org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementLibrary(long libraryId, org.squashtest.tm.domain.requirement.Requirement requirement)
           
 List<org.squashtest.tm.domain.requirement.RequirementLibraryNode> copyNodesToFolder(long destinationId, Long[] sourceNodesIds)
          will create a deep copy of the given LibraryNodes, paste them in the destination folder, and return the copies.
 List<org.squashtest.tm.domain.requirement.RequirementLibraryNode> copyNodesToLibrary(long destinationId, Long[] targetId)
          same, when the destination is a Library.
 List<org.squashtest.tm.domain.requirement.Requirement> copyNodesToRequirement(long requirementId, Long[] sourceNodesIds)
           
 List<org.squashtest.tm.domain.requirement.Requirement> findChildrenRequirements(long requirementId)
           
 List<org.squashtest.tm.domain.requirement.RequirementLibrary> findLinkableRequirementLibraries()
          Returns the collection of RequirementLibrary which Requirements can be linked by a TestCase
 org.squashtest.tm.domain.requirement.Requirement findRequirement(long reqId)
           
 List<org.squashtest.tm.domain.requirement.ExportRequirementData> findRequirementsToExportFromLibrary(List<Long> libraryIds)
          Will find all requirements found in the given projects and return their information as a list of ExportRequirementData
 List<org.squashtest.tm.domain.requirement.ExportRequirementData> findRequirementsToExportFromNodes(List<Long> nodesIds)
          Will find all requirements of the given ids and contained in folders of the given ids, and return their information as a list of ExportRequirementData
protected  NodeDeletionHandler<org.squashtest.tm.domain.requirement.RequirementLibraryNode,org.squashtest.tm.domain.requirement.RequirementFolder> getDeletionHandler()
           
protected  RequirementFolderDao getFolderDao()
           
protected  RequirementLibraryDao getLibraryDao()
           
protected  LibraryNodeDao<org.squashtest.tm.domain.requirement.RequirementLibraryNode> getLibraryNodeDao()
           
 List<String> getParentNodesAsStringList(Long nodeId)
           
protected  PasteStrategy<org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode> getPasteToFolderStrategy()
           
protected  PasteStrategy<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementLibraryNode> getPasteToLibraryStrategy()
           
protected  PasteStrategy<org.squashtest.tm.domain.requirement.Requirement,org.squashtest.tm.domain.requirement.Requirement> getPasteToRequirementStrategy()
           
 String getPathAsString(long entityId)
          Returns the path of a RequirementLibraryNode given its id.
 ImportSummary importExcel(InputStream stream, long libraryId)
          Accepts a stream to a .xls / .xlsx file info for requirement folders and requirements.
 ImportRequirementTestCaseLinksSummary importLinksExcel(InputStream stream)
          Accepts a stream to a .xls / .xlsx file info for requirement and test-case links.
 void moveNodesToRequirement(long requirementId, Long[] nodeIds)
           
 
Methods inherited from class org.squashtest.tm.service.internal.library.AbstractLibraryNavigationService
addFolderToFolder, addFolderToLibrary, checkPermission, createCustomFieldValues, createCustomFieldValues, deleteNodes, findCreatableLibrary, findFolder, findFolderContent, findLibrary, findLibraryOfRootNodeIfExist, findLibraryRootContent, findParentIfExists, generateUniqueCopyNumber, initCustomFieldValues, makeCopierStrategy, makeMoverStrategy, moveNodesToFolder, moveNodesToLibrary, renameFolder, setFullFolderPath, simulateDeletion
 
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.library.LibraryNavigationService
addFolderToFolder, addFolderToLibrary, deleteNodes, findCreatableLibrary, findFolder, findFolderContent, findLibrary, findLibraryOfRootNodeIfExist, findLibraryRootContent, findParentIfExists, moveNodesToFolder, moveNodesToLibrary, renameFolder, simulateDeletion
 

Constructor Detail

RequirementLibraryNavigationServiceImpl

public RequirementLibraryNavigationServiceImpl()
Method Detail

getDeletionHandler

protected NodeDeletionHandler<org.squashtest.tm.domain.requirement.RequirementLibraryNode,org.squashtest.tm.domain.requirement.RequirementFolder> getDeletionHandler()
Specified by:
getDeletionHandler in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>

findRequirement

@PostAuthorize(value="hasPermission(returnObject,\'READ\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement findRequirement(long reqId)
Specified by:
findRequirement in interface RequirementLibraryNavigationService

getLibraryDao

protected final RequirementLibraryDao getLibraryDao()
Specified by:
getLibraryDao in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>

getFolderDao

protected final RequirementFolderDao getFolderDao()
Specified by:
getFolderDao in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>

getLibraryNodeDao

protected final LibraryNodeDao<org.squashtest.tm.domain.requirement.RequirementLibraryNode> getLibraryNodeDao()
Specified by:
getLibraryNodeDao in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>

getPasteToFolderStrategy

protected PasteStrategy<org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode> getPasteToFolderStrategy()
Specified by:
getPasteToFolderStrategy in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>

getPasteToLibraryStrategy

protected PasteStrategy<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementLibraryNode> getPasteToLibraryStrategy()
Specified by:
getPasteToLibraryStrategy in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>

getPasteToRequirementStrategy

protected PasteStrategy<org.squashtest.tm.domain.requirement.Requirement,org.squashtest.tm.domain.requirement.Requirement> getPasteToRequirementStrategy()

getPathAsString

public String getPathAsString(long entityId)
Description copied from interface: RequirementLibraryFinderService
Returns the path of a RequirementLibraryNode given its id. The format is standard, beginning with /<project-name>

Specified by:
getPathAsString in interface RequirementLibraryFinderService
Parameters:
entityId - the id of the node.
Returns:
the path of that node.

addRequirementToRequirementLibrary

@PreAuthorize(value="hasPermission(#libraryId, \'org.squashtest.tm.domain.requirement.RequirementLibrary\' , \'CREATE\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementLibrary(long libraryId,
                                                                                                        @NotNull
                                                                                                        org.squashtest.tm.domain.requirement.NewRequirementVersionDto newVersion)
Specified by:
addRequirementToRequirementLibrary in interface RequirementLibraryNavigationService

addRequirementToRequirementLibrary

@PreAuthorize(value="hasPermission(#libraryId, \'org.squashtest.tm.domain.requirement.RequirementLibrary\' , \'CREATE\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementLibrary(long libraryId,
                                                                                                        @NotNull
                                                                                                        org.squashtest.tm.domain.requirement.Requirement requirement)
Specified by:
addRequirementToRequirementLibrary in interface RequirementLibraryNavigationService

addRequirementToRequirementFolder

@PreAuthorize(value="hasPermission(#folderId, \'org.squashtest.tm.domain.requirement.RequirementFolder\' , \'CREATE\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementFolder(long folderId,
                                                                                                       @NotNull
                                                                                                       org.squashtest.tm.domain.requirement.NewRequirementVersionDto firstVersion)
Specified by:
addRequirementToRequirementFolder in interface RequirementLibraryNavigationService

addRequirementToRequirementFolder

@PreAuthorize(value="hasPermission(#folderId, \'org.squashtest.tm.domain.requirement.RequirementFolder\' , \'CREATE\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirementFolder(long folderId,
                                                                                                       @NotNull
                                                                                                       org.squashtest.tm.domain.requirement.Requirement requirement)
Specified by:
addRequirementToRequirementFolder in interface RequirementLibraryNavigationService

addRequirementToRequirement

@PreAuthorize(value="hasPermission(#requirementId, \'org.squashtest.tm.domain.requirement.Requirement\' , \'CREATE\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirement(long requirementId,
                                                                                                 @NotNull
                                                                                                 org.squashtest.tm.domain.requirement.NewRequirementVersionDto newRequirement)
Specified by:
addRequirementToRequirement in interface RequirementLibraryNavigationService

addRequirementToRequirement

@PreAuthorize(value="hasPermission(#folderId, \'org.squashtest.tm.domain.requirement.Requirement\' , \'CREATE\') or hasRole(\'ROLE_ADMIN\')")
public org.squashtest.tm.domain.requirement.Requirement addRequirementToRequirement(long requirementId,
                                                                                                 @NotNull
                                                                                                 org.squashtest.tm.domain.requirement.Requirement newRequirement)
Specified by:
addRequirementToRequirement in interface RequirementLibraryNavigationService

copyNodesToRequirement

public List<org.squashtest.tm.domain.requirement.Requirement> copyNodesToRequirement(long requirementId,
                                                                                     Long[] sourceNodesIds)
Specified by:
copyNodesToRequirement in interface RequirementLibraryNavigationService

moveNodesToRequirement

public void moveNodesToRequirement(long requirementId,
                                   Long[] nodeIds)
Specified by:
moveNodesToRequirement in interface RequirementLibraryNavigationService

findRequirementsToExportFromLibrary

public List<org.squashtest.tm.domain.requirement.ExportRequirementData> findRequirementsToExportFromLibrary(List<Long> libraryIds)
Description copied from interface: RequirementLibraryNavigationService
Will find all requirements found in the given projects and return their information as a list of ExportRequirementData

Specified by:
findRequirementsToExportFromLibrary in interface RequirementLibraryNavigationService
Parameters:
libraryIds - ids of Project
Returns:
a list of ExportRequirementData

findRequirementsToExportFromNodes

public List<org.squashtest.tm.domain.requirement.ExportRequirementData> findRequirementsToExportFromNodes(List<Long> nodesIds)
Description copied from interface: RequirementLibraryNavigationService
Will find all requirements of the given ids and contained in folders of the given ids, and return their information as a list of ExportRequirementData

Specified by:
findRequirementsToExportFromNodes in interface RequirementLibraryNavigationService
Parameters:
nodesIds - ids of RequirementLibraryNode
Returns:
a list of ExportRequirementData

findChildrenRequirements

@PreAuthorize(value="hasPermission(#requirementId, \'org.squashtest.tm.domain.requirement.Requirement\' , \'READ\') or hasRole(\'ROLE_ADMIN\')")
public List<org.squashtest.tm.domain.requirement.Requirement> findChildrenRequirements(long requirementId)
Specified by:
findChildrenRequirements in interface RequirementLibraryNavigationService

findLinkableRequirementLibraries

@PostFilter(value="hasPermission(filterObject, \'LINK\') or hasRole(\'ROLE_ADMIN\')")
public List<org.squashtest.tm.domain.requirement.RequirementLibrary> findLinkableRequirementLibraries()
Description copied from interface: RequirementLibraryFinderService
Returns the collection of RequirementLibrary which Requirements can be linked by a TestCase

Specified by:
findLinkableRequirementLibraries in interface RequirementLibraryFinderService
Returns:

importExcel

public ImportSummary importExcel(InputStream stream,
                                 long libraryId)
Description copied from interface: RequirementLibraryNavigationService
Accepts a stream to a .xls / .xlsx file info for requirement folders and requirements. Will convert the requirements from excel to squash.

Specified by:
importExcel in interface RequirementLibraryNavigationService
Returns:
a summary of the operations.

importLinksExcel

public ImportRequirementTestCaseLinksSummary importLinksExcel(InputStream stream)
Description copied from interface: RequirementLibraryNavigationService
Accepts a stream to a .xls / .xlsx file info for requirement and test-case links. Will convert the links from excel to squash.

Specified by:
importLinksExcel in interface RequirementLibraryNavigationService
Returns:
a summary of the operations.

copyNodesToFolder

public List<org.squashtest.tm.domain.requirement.RequirementLibraryNode> copyNodesToFolder(long destinationId,
                                                                                           Long[] sourceNodesIds)
Description copied from interface: LibraryNavigationService
will create a deep copy of the given LibraryNodes, paste them in the destination folder, and return the copies.

Specified by:
copyNodesToFolder in interface LibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>
Overrides:
copyNodesToFolder in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>
Parameters:
destinationId - the id of the folder where you need to copy to.
sourceNodesIds - the list of the librarynodes we want copies of.
Returns:
the list of the copies themselves.

copyNodesToLibrary

public List<org.squashtest.tm.domain.requirement.RequirementLibraryNode> copyNodesToLibrary(long destinationId,
                                                                                            Long[] targetId)
Description copied from interface: LibraryNavigationService
same, when the destination is a Library.

Specified by:
copyNodesToLibrary in interface LibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>
Overrides:
copyNodesToLibrary in class AbstractLibraryNavigationService<org.squashtest.tm.domain.requirement.RequirementLibrary,org.squashtest.tm.domain.requirement.RequirementFolder,org.squashtest.tm.domain.requirement.RequirementLibraryNode>
Parameters:
destinationId - the id of the library where you need to copy to.
targetId - the list of the librarynodes we want copies of.
Returns:
the list of the copies themselves.

getParentNodesAsStringList

public List<String> getParentNodesAsStringList(Long nodeId)
Specified by:
getParentNodesAsStringList in interface RequirementLibraryNavigationService


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