2.17.2: 2011-06-17

net.sf.basedb.util
Class BioAssaySetUtil

java.lang.Object
  extended by net.sf.basedb.util.BioAssaySetUtil

public class BioAssaySetUtil
extends Object

This is a utility class for BioAssaySet.

Version:
2.0
Author:
Johan
Last modified
$Date: 2010-08-13 12:48:17 +0200 (Fri, 13 Aug 2010) $

Constructor Summary
BioAssaySetUtil()
           
 
Method Summary
static Expression createJepExpression(DbControl dc, BioAssaySet bioAssaySet, String formula, boolean allowRawIfMultipleMappings)
          Deprecated. In 2.15, use createJepExpression(DbControl, String, DynamicQuery) instead. The 'allowRawIfMultipleMappings' parameter is replaced with an option on the spot query: DynamicSpotQuery.setDisableRawJoinOnMergedData(boolean) (it has no meaning on other queries)
static Expression createJepExpression(DbControl dc, String formula, DynamicQuery query)
          Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query.
static Restriction createJepRestriction(DbControl dc, BioAssaySet bioAssaySet, String formula, boolean allowRawIfMultipleMappings)
          Deprecated. In 2.15, use createJepRestriction(DbControl, String, DynamicQuery) instead. The 'allowRawIfMultipleMappings' parameter is replaced with an option on the spot query: DynamicSpotQuery.setDisableRawJoinOnMergedData(boolean) (it has no meaning on other queries)
static Restriction createJepRestriction(DbControl dc, String formula, DynamicQuery query)
          Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query.
static Set<?> getAnnotationValues(DbControl dc, BioAssay bioAssay, AnnotationType annotationType)
          Deprecated. In BASE 2.14 due to performance problems, use getAnnotationValues(DbControl, SnapshotManager, BioAssay, AnnotationType) instead
static Set<?> getAnnotationValues(DbControl dc, SnapshotManager snapshotManager, BioAssay bioAssay, AnnotationType annotationType)
          Find the annotation values for a given annotation type on a bioassay.
static Set<Object> getParentProperties(DbControl dc, BioAssay bioAssay, Metadata.PropertyPath<RawBioAssay,?> property)
          Find the values of parent properties for a given bioassay.
static Set<Object> getParentProperties(DbControl dc, BioAssay bioAssay, String property)
          Deprecated. In 2.15, use getParentProperties(DbControl, BioAssay, Metadata.PropertyPath) instead
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BioAssaySetUtil

public BioAssaySetUtil()
Method Detail

getAnnotationValues

public static Set<?> getAnnotationValues(DbControl dc,
                                         BioAssay bioAssay,
                                         AnnotationType annotationType)
Deprecated. In BASE 2.14 due to performance problems, use getAnnotationValues(DbControl, SnapshotManager, BioAssay, AnnotationType) instead

Find the annotation values for a given annotation type on a bioassay. This method will only check annotations, primary and inherited, on the raw bioassays that the bioassay is a child of.

Since a bioassay may have more than one parent raw bioassay and each annotation may have multiple values it is possible that the set contains multiple values. Each value is only present once regardless of how many times it appears in the annotations.

Parameters:
dc - The DbControl for database access
bioAssay - The bioassay to get the annotations for
annotationType - The annotation type of the annotations
Returns:
A set containing all values

getAnnotationValues

public static Set<?> getAnnotationValues(DbControl dc,
                                         SnapshotManager snapshotManager,
                                         BioAssay bioAssay,
                                         AnnotationType annotationType)
Find the annotation values for a given annotation type on a bioassay. This method will only check annotations, primary and inherited, on the raw bioassays that the bioassay is a child of.

Since a bioassay may have more than one parent raw bioassay and each annotation may have multiple values it is possible that the set contains multiple values. Each value is only present once regardless of how many times it appears in the annotations.

Parameters:
dc - The DbControl for database access
snapshotManager - A snapshot manager that is used for loading the annotations from either the database or the file cache (if null, an internal, non-reusable snapshot manager is used)
bioAssay - The bioassay to get the annotations for
annotationType - The annotation type of the annotations
Returns:
A set containing all values
Since:
2.14

getParentProperties

@Deprecated
public static Set<Object> getParentProperties(DbControl dc,
                                                         BioAssay bioAssay,
                                                         String property)
Deprecated. In 2.15, use getParentProperties(DbControl, BioAssay, Metadata.PropertyPath) instead


getParentProperties

public static Set<Object> getParentProperties(DbControl dc,
                                              BioAssay bioAssay,
                                              Metadata.PropertyPath<RawBioAssay,?> property)
Find the values of parent properties for a given bioassay. This method starts by loading all raw bioassays that are parents to the bioassay. For each raw bioassay it uses the Metadata.PropertyPath object to find the value of the given property for that raw bioassay.

Since a bioassay may have more than one parent raw bioassay and it is possible that the set contains multiple values. Each value is only present once regardless of how many times it appears among the parents.

Examples of property paths:

Parameters:
dc - The DbControl for database access
bioAssay - The bioassay to get the annotations for
property - The property to get the value for
Returns:
A set containing all values

createJepRestriction

@Deprecated
public static Restriction createJepRestriction(DbControl dc,
                                                          BioAssaySet bioAssaySet,
                                                          String formula,
                                                          boolean allowRawIfMultipleMappings)
                                        throws InvalidDataException,
                                               BaseException
Deprecated. In 2.15, use createJepRestriction(DbControl, String, DynamicQuery) instead. The 'allowRawIfMultipleMappings' parameter is replaced with an option on the spot query: DynamicSpotQuery.setDisableRawJoinOnMergedData(boolean) (it has no meaning on other queries)

Throws:
InvalidDataException
BaseException

createJepRestriction

public static Restriction createJepRestriction(DbControl dc,
                                               String formula,
                                               DynamicQuery query)
Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query. In addition to the standard functions defined by JEP (see Jep.getFunctions()) this method can use additional functions. The extra functions are defined by the query. See DynamicQuery.getJepFunctions(DbControl, boolean) and it's subclasses for detailed information. Here are some useful functions:

Parameters:
dc - DbControl to use when accessing the database.
formula - The formula to parse. Must not be null.
query - The query where the restriction will be used, it is not recommended to use the expression in a different query since it may generate incorrect SQL
Returns:
A restriction to be used on a query.
Throws:
InvalidDataException - If any of required parameters are null.
BaseException - If creating the restriction fails.
See Also:
Jep

createJepExpression

@Deprecated
public static Expression createJepExpression(DbControl dc,
                                                        BioAssaySet bioAssaySet,
                                                        String formula,
                                                        boolean allowRawIfMultipleMappings)
                                      throws InvalidDataException,
                                             BaseException
Deprecated. In 2.15, use createJepExpression(DbControl, String, DynamicQuery) instead. The 'allowRawIfMultipleMappings' parameter is replaced with an option on the spot query: DynamicSpotQuery.setDisableRawJoinOnMergedData(boolean) (it has no meaning on other queries)

Throws:
InvalidDataException
BaseException

createJepExpression

public static Expression createJepExpression(DbControl dc,
                                             String formula,
                                             DynamicQuery query)
Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query. In addition to the standard functions defined by JEP (see Jep.getFunctions()) this method can use additional functions. The extra functions are defined by the query. See DynamicQuery.getJepFunctions(DbControl, boolean) and it's subclasses for detailed information. Here are some useful functions:

Parameters:
dc - The DbControl to use when accessing the database.
formula - The formula that should be parsed. Must not be null.
query - The query where the expression will be used, it is not recommended to use the expression in a different query since it may generate incorrect SQL
Returns:
An expression to be used with a query.
Throws:
InvalidDataException - If any of required parameters are null.
BaseException - If creating the expression fails.
Since:
2.15
See Also:
Jep

2.17.2: 2011-06-17