com.atlassian.jira.ofbiz
Class DefaultOfBizDelegator

java.lang.Object
  extended by com.atlassian.jira.ofbiz.DefaultOfBizDelegator
All Implemented Interfaces:
OfBizDelegator

public class DefaultOfBizDelegator
extends Object
implements OfBizDelegator


Field Summary
 
Fields inherited from interface com.atlassian.jira.ofbiz.OfBizDelegator
ISSUE_LINK, ISSUE_LINK_TYPE, PROJECT_COMPONENT, VERSION
 
Constructor Summary
DefaultOfBizDelegator(org.ofbiz.core.entity.DelegatorInterface delegatorInterface)
           
 
Method Summary
 int bulkCopyColumnValuesByAnd(String entityName, Map updateColumns, Map criteria)
          This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.
 int bulkUpdateByAnd(String entityName, Map<String,?> updateValues, Map<String,?> criteria)
          This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.
 int bulkUpdateByPrimaryKey(String entityName, Map<String,?> updateValues, List<Long> keys)
          This can be used to perform an update on the entityName of all the rows identified by the keys with the values stored in the updateValues.
 org.ofbiz.core.entity.GenericValue createValue(String entityName, Map<String,Object> fields)
          Creates a new GenericValue, and persists it.
 List<org.ofbiz.core.entity.GenericValue> findAll(String s)
           
 List<org.ofbiz.core.entity.GenericValue> findAll(String s, List sortOrder)
           
 List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName, List<org.ofbiz.core.entity.EntityCondition> expressions)
           
 List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName, Map<String,?> fields)
          Finds GenericValue records by all of the specified fields (ie: combined using AND).
 List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName, Map<String,?> fields, List<String> orderBy)
           
 List<org.ofbiz.core.entity.GenericValue> findByCondition(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, Collection<String> fieldsToSelect)
          Finds GenericValues by the conditions specified in the EntityCondition object with no specified order.
 List<org.ofbiz.core.entity.GenericValue> findByCondition(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, Collection<String> fieldsToSelect, List<String> orderBy)
          Finds GenericValues by the conditions specified in the EntityCondition object.
 List<org.ofbiz.core.entity.GenericValue> findByField(String entityName, String fieldName, Object fieldValue)
          Finds GenericValue records by the specified field value.
 List<org.ofbiz.core.entity.GenericValue> findByField(String entityName, String fieldName, Object fieldValue, String orderBy)
          Finds GenericValue records by the specified field value.
 org.ofbiz.core.entity.GenericValue findById(String entityName, Long id)
          Find a Generic Entity by its numeric ID.
 List<org.ofbiz.core.entity.GenericValue> findByLike(String s, Map<String,?> map)
           
 List<org.ofbiz.core.entity.GenericValue> findByLike(String s, Map<String,?> map, List<String> orderBy)
           
 List<org.ofbiz.core.entity.GenericValue> findByOr(String entityName, List expressions, List orderBy)
           
 org.ofbiz.core.entity.GenericValue findByPrimaryKey(String entityName, Long id)
          Find a Generic Entity by its single numeric Primary Key.
 org.ofbiz.core.entity.GenericValue findByPrimaryKey(String entityName, Map fields)
          Find a Generic Entity by its Primary Key.
 OfBizListIterator findListIteratorByCondition(String entityType, org.ofbiz.core.entity.EntityCondition condition)
          Returns a new OfBizListIterator.
 OfBizListIterator findListIteratorByCondition(String entityName, org.ofbiz.core.entity.EntityCondition whereEntityCondition, org.ofbiz.core.entity.EntityCondition havingEntityCondition, Collection fieldsToSelect, List orderBy, org.ofbiz.core.entity.EntityFindOptions entityFindOptions)
          Always close the iterator returned from this method when finished.
 long getCount(String entityName)
          Ensure that there is a view-entity defined in entitymodel.xml (and entitygroup.xml) for the entity you are calling this method with, and that the view-entity is named correctly! The view-entity must be named the name of the normal entity with 'Count' appended.
 long getCountByAnd(String entityName, Map<String,?> fields)
          Runs a "COUNT *" query over the given entity with some WHERE conditions.
 org.ofbiz.core.entity.DelegatorInterface getDelegatorInterface()
          Returns the underlying raw Entity Engine DelegatorInterface.
 org.ofbiz.core.entity.model.ModelReader getModelReader()
          Returns a model reader that can be used to retrieve all the different entitynames configured in the entitymodel.
static int getQueryBatchSize()
           
 List<org.ofbiz.core.entity.GenericValue> getRelated(String relationName, org.ofbiz.core.entity.GenericValue gv)
           
 List<org.ofbiz.core.entity.GenericValue> getRelated(String relationName, org.ofbiz.core.entity.GenericValue gv, List<String> orderBy)
           
 org.ofbiz.core.entity.GenericValue makeValue(String entityName)
          Creates an Entity in the form of a GenericValue without persisting it.
 org.ofbiz.core.entity.GenericValue makeValue(String entityName, Map<String,Object> fields)
          Creates an Entity in the form of a GenericValue without persisting it.
 void refreshSequencer()
          Refreshes the sequencer that is used to retrieve unique IDs in the database.
 void removeAll(List<org.ofbiz.core.entity.GenericValue> genericValues)
           
 int removeByAnd(String entityName, Map map)
           
 int removeByCondition(String entityName, org.ofbiz.core.entity.EntityCondition condition)
           
 int removeById(String entityName, Long id)
          Remove the given entity from the DB.
 int removeByOr(String entityName, String entityId, List<Long> ids)
          This can be used to remove rows for a given entity based on entityName and where entityId
 boolean removeRelated(String relationName, org.ofbiz.core.entity.GenericValue schemeGv)
          Remove all the entities related to the passed generic value via the passed relationship name.
 int removeValue(org.ofbiz.core.entity.GenericValue value)
           
 void store(org.ofbiz.core.entity.GenericValue gv)
           
 void storeAll(List genericValues)
           
 List<org.ofbiz.core.entity.GenericValue> transform(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, List<String> orderBy, String lockField, org.ofbiz.core.entity.Transformation transformation)
          Applies the given transformation to any entities matching the given condition.
 org.ofbiz.core.entity.GenericValue transformOne(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, String lockField, org.ofbiz.core.entity.Transformation transformation)
          Applies the given transformation to the entity matching the given condition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultOfBizDelegator

public DefaultOfBizDelegator(org.ofbiz.core.entity.DelegatorInterface delegatorInterface)
Method Detail

getQueryBatchSize

public static int getQueryBatchSize()

findByField

public List<org.ofbiz.core.entity.GenericValue> findByField(String entityName,
                                                            String fieldName,
                                                            Object fieldValue)
Description copied from interface: OfBizDelegator
Finds GenericValue records by the specified field value.

Specified by:
findByField in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity XML file
fieldName - The field to do filtering by.
fieldValue - The desired value for the filtering field.
Returns:
List of GenericValue instances that match the query

findByField

public List<org.ofbiz.core.entity.GenericValue> findByField(String entityName,
                                                            String fieldName,
                                                            Object fieldValue,
                                                            String orderBy)
Description copied from interface: OfBizDelegator
Finds GenericValue records by the specified field value.

Specified by:
findByField in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity XML file
fieldName - The field to do filtering by.
fieldValue - The desired value for the filtering field.
orderBy - Single field to order by.
Returns:
List of GenericValue instances that match the query

findByAnd

public List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName,
                                                          Map<String,?> fields)
                                                   throws DataAccessException
Description copied from interface: OfBizDelegator
Finds GenericValue records by all of the specified fields (ie: combined using AND).

Specified by:
findByAnd in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity XML file
fields - The fields of the named entity to query by with their corresponding values
Returns:
List of GenericValue instances that match the query
Throws:
DataAccessException - If an error occurs in the persistence layer.

findByAnd

public List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName,
                                                          Map<String,?> fields,
                                                          List<String> orderBy)
                                                   throws DataAccessException
Specified by:
findByAnd in interface OfBizDelegator
Throws:
DataAccessException

findByAnd

public List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName,
                                                          List<org.ofbiz.core.entity.EntityCondition> expressions)
                                                   throws DataAccessException
Specified by:
findByAnd in interface OfBizDelegator
Throws:
DataAccessException

findByOr

public List<org.ofbiz.core.entity.GenericValue> findByOr(String entityName,
                                                         List expressions,
                                                         List orderBy)
                                                  throws DataAccessException
Specified by:
findByOr in interface OfBizDelegator
Throws:
DataAccessException

findByLike

public List<org.ofbiz.core.entity.GenericValue> findByLike(String s,
                                                           Map<String,?> map)
                                                    throws DataAccessException
Specified by:
findByLike in interface OfBizDelegator
Throws:
DataAccessException

findByLike

public List<org.ofbiz.core.entity.GenericValue> findByLike(String s,
                                                           Map<String,?> map,
                                                           List<String> orderBy)
                                                    throws DataAccessException
Specified by:
findByLike in interface OfBizDelegator
Throws:
DataAccessException

removeAll

public void removeAll(List<org.ofbiz.core.entity.GenericValue> genericValues)
               throws DataAccessException
Specified by:
removeAll in interface OfBizDelegator
Throws:
DataAccessException

removeByCondition

public int removeByCondition(String entityName,
                             org.ofbiz.core.entity.EntityCondition condition)
                      throws DataAccessException
Specified by:
removeByCondition in interface OfBizDelegator
Throws:
DataAccessException

findByCondition

public List<org.ofbiz.core.entity.GenericValue> findByCondition(String entityName,
                                                                org.ofbiz.core.entity.EntityCondition entityCondition,
                                                                Collection<String> fieldsToSelect)
Description copied from interface: OfBizDelegator
Finds GenericValues by the conditions specified in the EntityCondition object with no specified order.

Convenience method for calling OfBizDelegator.findByCondition(String, EntityCondition, Collection, List) with an empty orderBy list.

Specified by:
findByCondition in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity model XML file
entityCondition - The EntityCondition object that specifies how to constrain this query
fieldsToSelect - The fields of the named entity to get from the database; if empty or null all fields will be retreived
Returns:
List of GenericValue objects representing the search results

findByCondition

public List<org.ofbiz.core.entity.GenericValue> findByCondition(String entityName,
                                                                org.ofbiz.core.entity.EntityCondition entityCondition,
                                                                Collection<String> fieldsToSelect,
                                                                List<String> orderBy)
Description copied from interface: OfBizDelegator
Finds GenericValues by the conditions specified in the EntityCondition object.

Specified by:
findByCondition in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity model XML file
entityCondition - The EntityCondition object that specifies how to constrain this query
fieldsToSelect - The fields of the named entity to get from the database; if empty or null all fields will be retreived
orderBy - The fields of the named entity to order the query by; optionally add a " ASC" for ascending or " DESC" for descending
Returns:
List of GenericValue objects representing the search results

removeByOr

public int removeByOr(String entityName,
                      String entityId,
                      List<Long> ids)
               throws DataAccessException,
                      org.ofbiz.core.entity.GenericModelException
Description copied from interface: OfBizDelegator
This can be used to remove rows for a given entity based on entityName and where entityId
Specified by:
removeByOr in interface OfBizDelegator
Parameters:
entityName - identifies the table to perform the remove on.
entityId - the Ofbiz fieldName to be used for the identifier, eg WHERE fieldName IN (...). Must be the same case as that found in entitymodel.xml.
ids - a list of entity IDs of the rows to be removed
Returns:
number of rows removed
Throws:
DataAccessException - if there are problems executing/accessing the data store
org.ofbiz.core.entity.GenericModelException - if the given entityId is not valid for the given entity

removeByAnd

public int removeByAnd(String entityName,
                       Map map)
                throws DataAccessException
Specified by:
removeByAnd in interface OfBizDelegator
Throws:
DataAccessException

removeById

public int removeById(String entityName,
                      Long id)
Description copied from interface: OfBizDelegator
Remove the given entity from the DB.

Specified by:
removeById in interface OfBizDelegator
Parameters:
entityName - the entity type (ie TABLE)
id - the id of the row to delete.
Returns:
number of rows effected by this operation

removeValue

public int removeValue(org.ofbiz.core.entity.GenericValue value)
                throws DataAccessException
Specified by:
removeValue in interface OfBizDelegator
Throws:
DataAccessException

storeAll

public void storeAll(List genericValues)
              throws DataAccessException
Specified by:
storeAll in interface OfBizDelegator
Throws:
DataAccessException

findAll

public List<org.ofbiz.core.entity.GenericValue> findAll(String s)
Specified by:
findAll in interface OfBizDelegator

findAll

public List<org.ofbiz.core.entity.GenericValue> findAll(String s,
                                                        List sortOrder)
                                                 throws DataAccessException
Specified by:
findAll in interface OfBizDelegator
Throws:
DataAccessException

store

public void store(org.ofbiz.core.entity.GenericValue gv)
           throws DataAccessException
Specified by:
store in interface OfBizDelegator
Throws:
DataAccessException

createValue

public org.ofbiz.core.entity.GenericValue createValue(String entityName,
                                                      Map<String,Object> fields)
Description copied from interface: OfBizDelegator
Creates a new GenericValue, and persists it. If there is no "id" in the field values, one is created using the entity sequence.

Specified by:
createValue in interface OfBizDelegator
Parameters:
entityName - the entity name.
fields - field values
Returns:
The new GenericValue.
See Also:
OfBizDelegator.makeValue(String)

makeValue

public org.ofbiz.core.entity.GenericValue makeValue(String entityName)
Description copied from interface: OfBizDelegator
Creates an Entity in the form of a GenericValue without persisting it.

Specified by:
makeValue in interface OfBizDelegator
Parameters:
entityName - the entity name.
Returns:
The new GenericValue.
See Also:
OfBizDelegator.makeValue(String, java.util.Map), OfBizDelegator.createValue(String, java.util.Map)

makeValue

public org.ofbiz.core.entity.GenericValue makeValue(String entityName,
                                                    Map<String,Object> fields)
Description copied from interface: OfBizDelegator
Creates an Entity in the form of a GenericValue without persisting it.

Specified by:
makeValue in interface OfBizDelegator
Parameters:
entityName - the entity name.
fields - initial field values
Returns:
The new GenericValue.
See Also:
OfBizDelegator.makeValue(String), OfBizDelegator.createValue(String, java.util.Map)

findById

public org.ofbiz.core.entity.GenericValue findById(String entityName,
                                                   Long id)
                                            throws DataAccessException
Description copied from interface: OfBizDelegator
Find a Generic Entity by its numeric ID.

This method is a synonym for OfBizDelegator.findByPrimaryKey(String, Long)

Specified by:
findById in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity XML file
id - The numeric "id" field value that is the primary key of this entity.
Returns:
The GenericValue corresponding to the ID
Throws:
DataAccessException - DataAccessException

findByPrimaryKey

public org.ofbiz.core.entity.GenericValue findByPrimaryKey(String entityName,
                                                           Long id)
Description copied from interface: OfBizDelegator
Find a Generic Entity by its single numeric Primary Key.

This method is a convenience for entities with a numeric primary key on single field called "id". This is the case for most JIRA entities.

Specified by:
findByPrimaryKey in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity XML file
id - The numeric "id" field value that is the primary key of this entity.
Returns:
The GenericValue corresponding to the primary key
See Also:
OfBizDelegator.findByPrimaryKey(String, java.util.Map)

findByPrimaryKey

public org.ofbiz.core.entity.GenericValue findByPrimaryKey(String entityName,
                                                           Map fields)
Description copied from interface: OfBizDelegator
Find a Generic Entity by its Primary Key.

Specified by:
findByPrimaryKey in interface OfBizDelegator
Parameters:
entityName - The Name of the Entity as defined in the entity XML file
fields - The field/value pairs of the primary key (in JIRA, mostly just a single field "id")
Returns:
The GenericValue corresponding to the primary key
See Also:
OfBizDelegator.findByPrimaryKey(String, Long)

getRelated

public List<org.ofbiz.core.entity.GenericValue> getRelated(String relationName,
                                                           org.ofbiz.core.entity.GenericValue gv)
Specified by:
getRelated in interface OfBizDelegator

getRelated

public List<org.ofbiz.core.entity.GenericValue> getRelated(String relationName,
                                                           org.ofbiz.core.entity.GenericValue gv,
                                                           List<String> orderBy)
                                                    throws DataAccessException
Specified by:
getRelated in interface OfBizDelegator
Throws:
DataAccessException

getCount

public long getCount(String entityName)
Description copied from interface: OfBizDelegator
Ensure that there is a view-entity defined in entitymodel.xml (and entitygroup.xml) for the entity you are calling this method with, and that the view-entity is named correctly! The view-entity must be named the name of the normal entity with 'Count' appended. For example for the 'Issue' entity the view-entity must be called 'IssueCount'. Otherwise an exception will be thrown.

Specified by:
getCount in interface OfBizDelegator
Parameters:
entityName - entity name
Returns:
count

getCountByAnd

public long getCountByAnd(String entityName,
                          Map<String,?> fields)
Description copied from interface: OfBizDelegator
Runs a "COUNT *" query over the given entity with some WHERE conditions.

Ensure that there is a view-entity defined in entitymodel.xml (and entitygroup.xml) for the entity you are calling this method with, and that the view-entity is named correctly! The view-entity must be named the name of the normal entity with 'Count' appended. For example for the 'Issue' entity the view-entity must be called 'IssueCount'. Otherwise an exception will be thrown. In addition, the view-entity will need to define any columns that you wish to use in the where clause.

Specified by:
getCountByAnd in interface OfBizDelegator
Parameters:
entityName - entity name
fields - The fields of the named entity to query by with their corresponding values
Returns:
count

findListIteratorByCondition

public OfBizListIterator findListIteratorByCondition(String entityType,
                                                     org.ofbiz.core.entity.EntityCondition condition)
Description copied from interface: OfBizDelegator
Returns a new OfBizListIterator.

IMPORTANT: the returned iterator needs to be propery closed in a finally block to avoid connection leaks.

Specified by:
findListIteratorByCondition in interface OfBizDelegator

findListIteratorByCondition

public OfBizListIterator findListIteratorByCondition(String entityName,
                                                     org.ofbiz.core.entity.EntityCondition whereEntityCondition,
                                                     org.ofbiz.core.entity.EntityCondition havingEntityCondition,
                                                     Collection fieldsToSelect,
                                                     List orderBy,
                                                     org.ofbiz.core.entity.EntityFindOptions entityFindOptions)
Always close the iterator returned from this method when finished.

Specified by:
findListIteratorByCondition in interface OfBizDelegator
Returns:
OfBizListIterator

bulkUpdateByPrimaryKey

public int bulkUpdateByPrimaryKey(String entityName,
                                  Map<String,?> updateValues,
                                  List<Long> keys)
Description copied from interface: OfBizDelegator
This can be used to perform an update on the entityName of all the rows identified by the keys with the values stored in the updateValues.

Specified by:
bulkUpdateByPrimaryKey in interface OfBizDelegator
Parameters:
entityName - identifies the table to perform the update on.
updateValues - is a map where the key is the fieldName and the value is the value to update the column to.
keys - is a list of Long values that represent the primary keys of the the where clause.
Returns:
the number of rows updated

bulkUpdateByAnd

public int bulkUpdateByAnd(String entityName,
                           Map<String,?> updateValues,
                           Map<String,?> criteria)
Description copied from interface: OfBizDelegator
This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.

Specified by:
bulkUpdateByAnd in interface OfBizDelegator
Parameters:
entityName - identifies the table to perform the update on.
updateValues - is a map where the key is the fieldName and the value is the value to update the column to.
criteria - map of field to value mapping that will be used to generate the where clause of the update SQL statement. Multiple entries in the map are joined using the AND operator.
Returns:
the number of rows updated

bulkCopyColumnValuesByAnd

public int bulkCopyColumnValuesByAnd(String entityName,
                                     Map updateColumns,
                                     Map criteria)
Description copied from interface: OfBizDelegator
This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.

Specified by:
bulkCopyColumnValuesByAnd in interface OfBizDelegator
Parameters:
entityName - table na,e
updateColumns - map of update to - update from columns
criteria - map of column names and their values that will create WHERE clause
Returns:
the number of rows updated

getModelReader

public org.ofbiz.core.entity.model.ModelReader getModelReader()
Description copied from interface: OfBizDelegator
Returns a model reader that can be used to retrieve all the different entitynames configured in the entitymodel.

Specified by:
getModelReader in interface OfBizDelegator
Returns:
a ModelReader

refreshSequencer

public void refreshSequencer()
Description copied from interface: OfBizDelegator
Refreshes the sequencer that is used to retrieve unique IDs in the database.

Specified by:
refreshSequencer in interface OfBizDelegator

removeRelated

public boolean removeRelated(String relationName,
                             org.ofbiz.core.entity.GenericValue schemeGv)
Description copied from interface: OfBizDelegator
Remove all the entities related to the passed generic value via the passed relationship name.

Specified by:
removeRelated in interface OfBizDelegator
Parameters:
relationName - the name of the relationship.
schemeGv - the gv at the start of the relationship.
Returns:
true the database was changed, false otherwise.

getDelegatorInterface

public org.ofbiz.core.entity.DelegatorInterface getDelegatorInterface()
Description copied from interface: OfBizDelegator
Returns the underlying raw Entity Engine DelegatorInterface.

Specified by:
getDelegatorInterface in interface OfBizDelegator
Returns:
the underlying raw Entity Engine DelegatorInterface.

transform

public List<org.ofbiz.core.entity.GenericValue> transform(String entityName,
                                                          org.ofbiz.core.entity.EntityCondition entityCondition,
                                                          List<String> orderBy,
                                                          String lockField,
                                                          org.ofbiz.core.entity.Transformation transformation)
Description copied from interface: OfBizDelegator
Applies the given transformation to any entities matching the given condition.

Specified by:
transform in interface OfBizDelegator
Parameters:
entityName - the type of entity to transform (required)
entityCondition - the condition that selects the entities to transform (null means transform all)
orderBy - the order in which the entities should be selected for updating (null means no ordering)
lockField - the entity field to use for optimistic locking; the value of this field will be read between the SELECT and the UPDATE to determine whether another process has updated one of the target records in the meantime; if so, the transformation will be reapplied and another UPDATE attempted
transformation - the transformation to apply (required)
Returns:
the transformed entities in the order they were selected (never null)

transformOne

public org.ofbiz.core.entity.GenericValue transformOne(String entityName,
                                                       org.ofbiz.core.entity.EntityCondition entityCondition,
                                                       String lockField,
                                                       org.ofbiz.core.entity.Transformation transformation)
Description copied from interface: OfBizDelegator
Applies the given transformation to the entity matching the given condition.

Specified by:
transformOne in interface OfBizDelegator
Parameters:
entityName - the type of entity to transform (required)
entityCondition - the condition that selects the entity to transform (must select one entity)
lockField - the entity field to use for optimistic locking; the value of this field will be read between the SELECT and the UPDATE to determine whether another process has updated one of the target records in the meantime; if so, the transformation will be reapplied and another UPDATE attempted
transformation - the transformation to apply (required)
Returns:
the transformed entity (never null)


Copyright © 2002-2014 Atlassian. All Rights Reserved.