com.atlassian.jira.association
Class NodeAssociationStoreImpl

java.lang.Object
  extended by com.atlassian.jira.association.NodeAssociationStoreImpl
All Implemented Interfaces:
NodeAssociationStore

public class NodeAssociationStoreImpl
extends Object
implements NodeAssociationStore


Constructor Summary
NodeAssociationStoreImpl(OfBizDelegator ofBizDelegator)
           
 
Method Summary
 org.ofbiz.core.entity.GenericValue createAssociation(org.ofbiz.core.entity.GenericValue source, org.ofbiz.core.entity.GenericValue sink, String associationType)
          Create an association between two entities, given a particular association type.
 void createAssociation(NodeAssocationType type, Long sourceNodeId, Long sinkNodeId)
          Create an association between two entities, given a particular association type.
 org.ofbiz.core.entity.GenericValue createAssociation(String sourceNodeEntity, Long sourceNodeId, String sinkNodeEntity, Long sinkNodeId, String associationType)
          Create an association between two entities, given a particular association type.
 org.ofbiz.core.entity.GenericValue getAssociation(org.ofbiz.core.entity.GenericValue source, org.ofbiz.core.entity.GenericValue sink, String associationType)
           
 List<Long> getSinkIdsFromSource(org.ofbiz.core.entity.GenericValue source, String sinkEntityName, String associationType)
           
 List<org.ofbiz.core.entity.GenericValue> getSinksFromSource(org.ofbiz.core.entity.GenericValue source, String sinkEntityName, String associationType)
          Operates on NodeAssociations - gets MANY sinks from ONE source
 List<org.ofbiz.core.entity.GenericValue> getSinksFromSource(String sourceEntityName, Long sourceNodeId, String sinkEntityName, String associationType)
           
 List<Long> getSourceIdsFromSink(org.ofbiz.core.entity.GenericValue sink, String sourceEntity, String associationType)
           
 List<org.ofbiz.core.entity.GenericValue> getSourcesFromSink(org.ofbiz.core.entity.GenericValue sink, String sourceName, String associationType)
          Operates on NodeAssociations - gets MANY sources from ONE sink
 void removeAssociation(org.ofbiz.core.entity.GenericValue source, org.ofbiz.core.entity.GenericValue sink, String associationType)
           
 void removeAssociation(NodeAssocationType type, Long sourceNodeId, Long sinkNodeId)
          Removes the given association if it exists.
 void removeAssociationsFromSink(org.ofbiz.core.entity.GenericValue sink)
          Remove all entity<->entity associations, given the sink.
 void removeAssociationsFromSource(org.ofbiz.core.entity.GenericValue source)
          Remove all entity<->entity associations, given the source.
 void swapAssociation(List<org.ofbiz.core.entity.GenericValue> entities, String associationType, org.ofbiz.core.entity.GenericValue fromSink, org.ofbiz.core.entity.GenericValue toSink)
          Swaps all associations for a given list of entities (say move a list of unresolved issue entities to a new fix for version)
 void swapAssociation(String sourceEntityName, String associationType, org.ofbiz.core.entity.GenericValue fromSink, org.ofbiz.core.entity.GenericValue toSink)
          Swap all associations of a particular type from one sink to another.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeAssociationStoreImpl

public NodeAssociationStoreImpl(OfBizDelegator ofBizDelegator)
Method Detail

getSinksFromSource

public List<org.ofbiz.core.entity.GenericValue> getSinksFromSource(org.ofbiz.core.entity.GenericValue source,
                                                                   String sinkEntityName,
                                                                   String associationType)
                                                            throws DataAccessException
Description copied from interface: NodeAssociationStore
Operates on NodeAssociations - gets MANY sinks from ONE source

Specified by:
getSinksFromSource in interface NodeAssociationStore
Parameters:
source - The source node to find all associated sink nodes for.
sinkEntityName - The sink Entity type.
Returns:
List of Sinks for the given Source
Throws:
DataAccessException - If there is a DB Exception.

getSinksFromSource

public List<org.ofbiz.core.entity.GenericValue> getSinksFromSource(String sourceEntityName,
                                                                   Long sourceNodeId,
                                                                   String sinkEntityName,
                                                                   String associationType)
Specified by:
getSinksFromSource in interface NodeAssociationStore

getSourcesFromSink

public List<org.ofbiz.core.entity.GenericValue> getSourcesFromSink(org.ofbiz.core.entity.GenericValue sink,
                                                                   String sourceName,
                                                                   String associationType)
                                                            throws DataAccessException
Operates on NodeAssociations - gets MANY sources from ONE sink

Specified by:
getSourcesFromSink in interface NodeAssociationStore
Throws:
DataAccessException - If there is a DB Exception.

createAssociation

public org.ofbiz.core.entity.GenericValue createAssociation(org.ofbiz.core.entity.GenericValue source,
                                                            org.ofbiz.core.entity.GenericValue sink,
                                                            String associationType)
                                                     throws DataAccessException
Create an association between two entities, given a particular association type.

If the association already exists - it will not be created.

Specified by:
createAssociation in interface NodeAssociationStore
Parameters:
source - the source
sink - the sink
associationType - the Association Type
Returns:
The new association, or the existing association if it already existed.
Throws:
DataAccessException - If there is a DB Exception.

createAssociation

public void createAssociation(NodeAssocationType type,
                              Long sourceNodeId,
                              Long sinkNodeId)
Description copied from interface: NodeAssociationStore
Create an association between two entities, given a particular association type.

If the association already exists - it will not be created.

Specified by:
createAssociation in interface NodeAssociationStore

createAssociation

public org.ofbiz.core.entity.GenericValue createAssociation(String sourceNodeEntity,
                                                            Long sourceNodeId,
                                                            String sinkNodeEntity,
                                                            Long sinkNodeId,
                                                            String associationType)
                                                     throws DataAccessException
Description copied from interface: NodeAssociationStore
Create an association between two entities, given a particular association type.

If the association already exists - it will not be created.

NOTE: this is a convenience method that should only be used when you are certain of the related entity id's. This method does not verify the integrity of the links it creates.

Specified by:
createAssociation in interface NodeAssociationStore
Returns:
The new association, or the existing association if it already existed.
Throws:
DataAccessException - If there is a DB Exception.

removeAssociation

public void removeAssociation(NodeAssocationType type,
                              Long sourceNodeId,
                              Long sinkNodeId)
Description copied from interface: NodeAssociationStore
Removes the given association if it exists.

Specified by:
removeAssociation in interface NodeAssociationStore
Parameters:
type - NodeAssocation Type
sourceNodeId - The Source Node
sinkNodeId - The Sink Node (destination node).

removeAssociation

public void removeAssociation(org.ofbiz.core.entity.GenericValue source,
                              org.ofbiz.core.entity.GenericValue sink,
                              String associationType)
                       throws DataAccessException
Specified by:
removeAssociation in interface NodeAssociationStore
Throws:
DataAccessException

removeAssociationsFromSource

public void removeAssociationsFromSource(org.ofbiz.core.entity.GenericValue source)
                                  throws DataAccessException
Description copied from interface: NodeAssociationStore
Remove all entity<->entity associations, given the source.

Specified by:
removeAssociationsFromSource in interface NodeAssociationStore
Parameters:
source - the Source
Throws:
DataAccessException - If there is a DB Exception.

removeAssociationsFromSink

public void removeAssociationsFromSink(org.ofbiz.core.entity.GenericValue sink)
                                throws DataAccessException
Description copied from interface: NodeAssociationStore
Remove all entity<->entity associations, given the sink.

Specified by:
removeAssociationsFromSink in interface NodeAssociationStore
Parameters:
sink - the sink
Throws:
DataAccessException - If there is a DB Exception.

swapAssociation

public void swapAssociation(String sourceEntityName,
                            String associationType,
                            org.ofbiz.core.entity.GenericValue fromSink,
                            org.ofbiz.core.entity.GenericValue toSink)
                     throws DataAccessException
Description copied from interface: NodeAssociationStore
Swap all associations of a particular type from one sink to another.

Used in ComponentDelete and VersionDelete.

Specified by:
swapAssociation in interface NodeAssociationStore
Parameters:
sourceEntityName - the Source Entity Type
associationType - the Association Type
fromSink - the From sink
toSink - the To sink
Throws:
DataAccessException - If there is a DB Exception.

swapAssociation

public void swapAssociation(List<org.ofbiz.core.entity.GenericValue> entities,
                            String associationType,
                            org.ofbiz.core.entity.GenericValue fromSink,
                            org.ofbiz.core.entity.GenericValue toSink)
                     throws DataAccessException
Description copied from interface: NodeAssociationStore
Swaps all associations for a given list of entities (say move a list of unresolved issue entities to a new fix for version)

Specified by:
swapAssociation in interface NodeAssociationStore
Parameters:
entities - the entities
associationType - the Association Type
fromSink - the From sink
toSink - the To sink
Throws:
DataAccessException - If there is a DB Exception.

getAssociation

public org.ofbiz.core.entity.GenericValue getAssociation(org.ofbiz.core.entity.GenericValue source,
                                                         org.ofbiz.core.entity.GenericValue sink,
                                                         String associationType)
                                                  throws DataAccessException
Specified by:
getAssociation in interface NodeAssociationStore
Throws:
DataAccessException

getSinkIdsFromSource

public List<Long> getSinkIdsFromSource(org.ofbiz.core.entity.GenericValue source,
                                       String sinkEntityName,
                                       String associationType)
                                throws DataAccessException
Specified by:
getSinkIdsFromSource in interface NodeAssociationStore
Throws:
DataAccessException

getSourceIdsFromSink

public List<Long> getSourceIdsFromSink(org.ofbiz.core.entity.GenericValue sink,
                                       String sourceEntity,
                                       String associationType)
                                throws DataAccessException
Specified by:
getSourceIdsFromSink in interface NodeAssociationStore
Throws:
DataAccessException


Copyright © 2002-2012 Atlassian. All Rights Reserved.