Changeset 1436 for trunk/src


Ignore:
Timestamp:
Jan 24, 2011, 3:48:46 PM (9 years ago)
Author:
robert@…
Message:

Improved querying, fixed some tests and added imports of the GDT plugin

Location:
trunk/src/groovy/dbnp/query
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/groovy/dbnp/query/Criterion.groovy

    r1430 r1436  
    9393                def classname = fieldValue.class.getName();
    9494                classname = classname[classname.lastIndexOf( '.' ) + 1..-1].toLowerCase();
    95 
     95               
     96                println "Match " + fieldValue + " of class " + classname + " with " + this
     97               
    9698                try {
    9799                        switch( classname ) {
     
    238240                                rt = new RelTime( value.toString() );
    239241                        }
    240 
     242                       
    241243                        return compareValues( fieldValue, this.operator, rt );
    242244                } catch( Exception e ) {
  • trunk/src/groovy/dbnp/query/SampleSearch.groovy

    r1432 r1436  
    7373                if( getEntityCriteria( 'Study' ).size() > 0 ) {
    7474                        def studies = Study.findAll();
     75                       
     76                        studies = filterOnStudyCriteria( studies );
     77                       
    7578                        if( studies.size() == 0 ) {
    7679                                results = [];
    7780                                return;
    7881                        }
    79                         studies = filterOnStudyCriteria( studies );
    8082                       
    8183                        def c = Sample.createCriteria()
     
    9294                samples = filterOnSamplingEventCriteria( samples );
    9395                samples = filterOnAssayCriteria( samples );
    94 
     96               
    9597                // Save matches
    9698                results = samples;
     
    142144         */
    143145        protected List filterOnEventCriteria( List samples ) {
     146                println "Event criteria: " + getEntityCriteria( 'Event' )
    144147                return filterEntityList( samples, getEntityCriteria( 'Event' ), { sample, criterion ->
    145                         if( !sample || !sample.parentEventGroup || !sample.parentEventGroup.events?.size() )
    146                                 return false
    147 
    148                         return criterion.matchAny( sample.parentEventGroup.events );
     148                        if( !sample || !sample.parentEventGroup || !sample.parentEventGroup.events || sample.parentEventGroup.events.size() == 0 )
     149                                return false
     150               
     151                        return criterion.matchAny( sample.parentEventGroup.events.toList() );
    149152                });
    150153        }
     
    174177                        return [];
    175178
     179                if( getEntityCriteria( 'Assay' ).size() == 0 )
     180                        return samples
     181                       
    176182                // There is no sample.assays property, so we have to look for assays another way: just find
    177183                // all assays that match the criteria
Note: See TracChangeset for help on using the changeset viewer.