com.atlassian.jira.bc.project.component
Interface ProjectComponentManager

All Known Implementing Classes:
DefaultProjectComponentManager, MockProjectComponentManager

@PublicApi
public interface ProjectComponentManager

Methods for accessing and persisting project components.


Method Summary
 boolean containsName(String name, Long projectId)
          Implement this method in order to check whether component with specified name is stored.
 org.ofbiz.core.entity.GenericValue convertToGenericValue(ProjectComponent projectComponent)
          Deprecated. don't use GenericValue use the ProjectComponent instead.
 Collection<org.ofbiz.core.entity.GenericValue> convertToGenericValues(Collection<ProjectComponent> projectComponents)
          Deprecated. don't use GenericValue use the ProjectComponent instead.
 ProjectComponent create(String name, String description, String lead, long assigneeType, Long projectId)
          Implement this method to create a new ProjectComponent object associated with the project with the ID specified and with the values given.
 void delete(Long componentId)
          Implement this method to delete the component.
 ProjectComponent find(Long id)
          Implement this method to find the component with the specified ID.
 Collection<ProjectComponent> findAll()
          Implement this method to find all components.
 Collection<ProjectComponent> findAllForProject(Long projectId)
          Implement this method to find all components associated with the project with the ID specified.
 ProjectComponent findByComponentName(Long projectId, String componentName)
          Finds the ProjectComponent with the given name in the project with the given id.
 Collection<ProjectComponent> findByComponentNameCaseInSensitive(String componentName)
          Finds all ProjectComponents with the given name with comparisons case insenstive.
 Collection<ProjectComponent> findComponentsByIssue(Issue issue)
           
 Collection<org.ofbiz.core.entity.GenericValue> findComponentsByIssueGV(Issue issue)
          Deprecated. use findComponentsByIssue that returns a Collection instead
 Collection<ProjectComponent> findComponentsByLead(String userName)
          Retrieve a collection of ProjectComponents - where the lead of each component is the specified user.
 Long findProjectIdForComponent(Long componentId)
          Implement this method to look up the project ID for the given component ID.
 List<ProjectComponent> getComponents(List<Long> ids)
          Creates a list of ProjectComponent objects from the given list of IDs.
 ProjectComponent update(MutableProjectComponent component)
          Implement this method to update the component specified with the values given.
 

Method Detail

create

ProjectComponent create(String name,
                        String description,
                        String lead,
                        long assigneeType,
                        Long projectId)
                        throws IllegalArgumentException
Implement this method to create a new ProjectComponent object associated with the project with the ID specified and with the values given. It should also validate the values - store and return the ProjectComponent if validation succeeds. Otherwise, throw ValidationErrorsException.

Parameters:
name - name of component
description - description of component
lead - user name associated with component
assigneeType - assignee type
projectId - ID of project that component is associated with
Returns:
new instance of ProjectComponent with the values specified
Throws:
IllegalArgumentException - if one or more arguments have invalid values

find

ProjectComponent find(Long id)
                      throws EntityNotFoundException
Implement this method to find the component with the specified ID.

Parameters:
id - component ID to search for
Returns:
ProjectComponent with the specified ID
Throws:
EntityNotFoundException - if the component is not found

findAllForProject

Collection<ProjectComponent> findAllForProject(Long projectId)
Implement this method to find all components associated with the project with the ID specified.

Parameters:
projectId - ID of project to search for
Returns:
collection of ProjectComponent objects associated with the project with the ID specified

findAll

Collection<ProjectComponent> findAll()
Implement this method to find all components.

Returns:
collection of all ProjectComponent objects

getComponents

List<ProjectComponent> getComponents(List<Long> ids)
                                     throws EntityNotFoundException
Creates a list of ProjectComponent objects from the given list of IDs.

Parameters:
ids - The List of ProjectComponent IDs.
Returns:
a list of ProjectComponent objects from the given list of IDs.
Throws:
EntityNotFoundException - if no ProjectComponent exists for any of the given IDs.

update

ProjectComponent update(MutableProjectComponent component)
                        throws EntityNotFoundException
Implement this method to update the component specified with the values given.

Parameters:
component - component to be updated
Returns:
ProjectComponent with updated values as specified
Throws:
EntityNotFoundException - if component is not found

delete

void delete(Long componentId)
            throws EntityNotFoundException
Implement this method to delete the component.

Parameters:
componentId - component id
Throws:
EntityNotFoundException - if the component is not found

containsName

boolean containsName(String name,
                     Long projectId)
Implement this method in order to check whether component with specified name is stored.

Parameters:
name - component name, null will cause IllegalArgumentException
projectId - project ID
Returns:
true if new name is stored

findProjectIdForComponent

Long findProjectIdForComponent(Long componentId)
                               throws EntityNotFoundException
Implement this method to look up the project ID for the given component ID. If project is not found, throws EntityNotFoundException.

Parameters:
componentId - component ID
Returns:
project ID
Throws:
EntityNotFoundException - if component with the specified id cannot be found

convertToGenericValue

org.ofbiz.core.entity.GenericValue convertToGenericValue(ProjectComponent projectComponent)
Deprecated. don't use GenericValue use the ProjectComponent instead.

Converts the ProjectComponent to GenericValue form, provided as a transitional measure until GenericValue is eradicated from the front end.

Parameters:
projectComponent - project component
Returns:
the ProjectComponent as a GenericValue.

convertToGenericValues

Collection<org.ofbiz.core.entity.GenericValue> convertToGenericValues(Collection<ProjectComponent> projectComponents)
Deprecated. don't use GenericValue use the ProjectComponent instead.

Temporary method to allow conversion of a collection of ProjectComponent objects to a collection of GenericValues representing a project component.

Parameters:
projectComponents - a collection of project components
Returns:
Collection of GenericValues representing the collection of ProjectComponent objects passed in

findByComponentName

ProjectComponent findByComponentName(Long projectId,
                                     String componentName)
Finds the ProjectComponent with the given name in the project with the given id.

Parameters:
projectId - id of the project.
componentName - name of the component.
Returns:
the ProjectComponent or null if there is no such ProjectComponent.

findByComponentNameCaseInSensitive

Collection<ProjectComponent> findByComponentNameCaseInSensitive(String componentName)
Finds all ProjectComponents with the given name with comparisons case insenstive.

Parameters:
componentName - name of the component.
Returns:
all ProjectComponents with the given name or an empty collection if there is no such ProjectComponent.

findComponentsByLead

Collection<ProjectComponent> findComponentsByLead(String userName)
Retrieve a collection of ProjectComponents - where the lead of each component is the specified user.

Parameters:
userName - the lead user name
Returns:
collection of components - where the lead of each component is the specified user

findComponentsByIssue

Collection<ProjectComponent> findComponentsByIssue(Issue issue)
Parameters:
issue - find components on this issue
Returns:
collection of project components associated with this issue
Since:
4.2

findComponentsByIssueGV

Collection<org.ofbiz.core.entity.GenericValue> findComponentsByIssueGV(Issue issue)
Deprecated. use findComponentsByIssue that returns a Collection instead

This code used to live directly in the IssueImpl but it has been refactored into the ProjectComponentManager to make things a little cleaner. That's why it is "new in 4.2" but immediately marked as deprecated

Parameters:
issue - find components for this issue
Returns:
collection of generic values representing the components assigned to the issue
Since:
4.2


Copyright © 2002-2012 Atlassian. All Rights Reserved.