Changeset 9 for trunk/grails-app/services/nl
- Timestamp:
- Jan 28, 2011, 12:30:39 PM (12 years ago)
- Location:
- trunk/grails-app/services/nl/tno/metagenomics
- Files:
-
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/services/nl/tno/metagenomics/SampleExcelService.groovy
r7 r9 10 10 def sampleNameName = "Sample name" 11 11 def runName = "Run" 12 def tagNameName = "Tag name" 12 13 def tagSequenceName = "Tag sequence" 13 14 def oligoNumberName = "Oligo number" 14 def possibleFields = [sampleNameName, runName, tag SequenceName, oligoNumberName]15 def possibleFields = [sampleNameName, runName, tagNameName, tagSequenceName, oligoNumberName] 15 16 16 17 def downloadSampleExcel( def assaySamples, boolean includeRun = true ) { … … 39 40 rowData << assaySample.run?.name 40 41 42 rowData << assaySample.tagName 41 43 rowData << assaySample.tagSequence 42 44 rowData << assaySample.oligoNumber … … 156 158 if( it.value > -1 ) { 157 159 switch( it.key ) { 160 case tagNameName: assaySample.tagName = rowData[ it.value ]; break 158 161 case tagSequenceName: assaySample.tagSequence = rowData[ it.value ]; break 159 162 case oligoNumberName: assaySample.oligoNumber = rowData[ it.value ]; break -
trunk/grails-app/services/nl/tno/metagenomics/integration/GscfService.groovy
r6 r9 61 61 } 62 62 63 /** 64 * Retrieves the currently logged in user from GSCF 65 * 66 * @param sessionToken String 67 * 68 * @return Map 69 */ 70 public Map getUser(String sessionToken) { 71 def user = [:] 72 this.callGSCF(sessionToken, "getUser").each { 73 user[ it.key ] = it.value; 74 } 75 return user 76 } 77 63 78 /** 64 79 * Retrieve a list of Studies from the GSCF -
trunk/grails-app/services/nl/tno/metagenomics/integration/SynchronizationService.groovy
r7 r9 79 79 */ 80 80 public void fullSynchronization() { 81 if( !timeForFullSynchronization() )82 return83 84 81 def previousEager = this.eager 85 82 this.eager = true … … 630 627 631 628 // Update the sample object if necessary 632 if( sampleFound.name != gscfSample.name ) {633 sampleFound.name = gscfSample.name634 sampleFound.save();635 }629 sampleFound.name = gscfSample.name 630 sampleFound.subject = gscfSample.subject 631 sampleFound.event = gscfSample.event + ( gscfSample.startTime ? " (" + gscfSample.startTime + ")" : "" ) 632 sampleFound.save(); 636 633 } else { 637 634 log.trace( "AssaySample not found in assay" ) … … 644 641 645 642 // Update the sample object if necessary 646 if( sampleFound.name != gscfSample.name ) {647 sampleFound.name = gscfSample.name648 sampleFound.save();649 }643 sampleFound.name = gscfSample.name 644 sampleFound.subject = gscfSample.subject 645 sampleFound.event = gscfSample.event + ( gscfSample.startTime ? " (" + gscfSample.startTime + ")" : "" ) 646 sampleFound.save(); 650 647 } else { 651 648 log.trace( "Sample " + gscfSample.sampleToken + " not found in database. Creating a new object." ) … … 653 650 // If it doesn't exist, create a new object 654 651 sampleFound = new Sample( sampleToken: gscfSample.sampleToken, name: gscfSample.name, study: assay.study ); 652 sampleFound.subject = gscfSample.subject 653 sampleFound.event = gscfSample.event + ( gscfSample.startTime ? " (" + gscfSample.startTime + ")" : "" ) 655 654 assay.study.addToSamples( sampleFound ); 656 655 sampleFound.save(); -
trunk/grails-app/services/nl/tno/metagenomics/integration/TrashService.groovy
r7 r9 19 19 20 20 def l = [] 21 l += study.auth 22 23 l.each { auth -> 24 auth.user.removeFromAuth( auth ); 25 study.removeFromAuth( auth ); 21 if( study.auth ) { 22 l += study.auth 23 24 l.each { auth -> 25 auth.user?.removeFromAuth( auth ); 26 study.removeFromAuth( auth ); 27 } 26 28 } 27 29 … … 50 52 51 53 l = [] 52 l += assay.assaySamples 53 54 l.each { 55 it.sample.removeFromAssaySamples( it ); 56 assay.removeFromAssaySamples( it ); 54 if( assay.assaySamples ) { 55 l += assay.assaySamples 56 57 l.each { 58 it.sample.removeFromAssaySamples( it ); 59 assay.removeFromAssaySamples( it ); 60 } 57 61 } 58 62 … … 61 65 study.removeFromAssays( assay ); 62 66 } 63 64 /*65 def assaySamples = assay.assaySamples.toList();66 assaySamples.each {67 it.assay = null68 69 assay.removeFromAssaySamples( it );70 it.sample.removeFromAssaySamples( it );71 it.sample = null;72 it.delete( flush: true );73 }74 75 assay.study.removeFromAssays( assay );76 assay.study.save();77 //assay.study = null78 //assay.delete(flush:true);79 */80 67 } 81 68 … … 89 76 // Remove associations 90 77 def l = [] 91 l += sample.assaySamples 92 93 l.each { 94 it.assay.removeFromAssaySamples( it ); 95 sample.removeFromAssaySamples( it ); 78 if( sample.assaySamples ) { 79 l += sample.assaySamples 80 81 l.each { 82 it.assay.removeFromAssaySamples( it ); 83 sample.removeFromAssaySamples( it ); 84 } 96 85 } 97 86 … … 122 111 123 112 def l = [] 124 l += assaySample.sequenceData 125 126 l.each { 127 if( it ) { 128 assaySample.removeFromSequenceData( it ); 113 if( assaySample.sequenceData ) { 114 l += assaySample.sequenceData 115 116 l.each { 117 if( it ) { 118 assaySample.removeFromSequenceData( it ); 119 } 129 120 } 130 121 } … … 181 172 // Create dummy sample 182 173 String newSampleToken = 'TrashSample ' + new Date().format( 'yyyyMMddHHmmssSSS') + ( Math.random() * 10000 ); 183 Sample dummySample = new Sample( sampleToken: newSampleToken, name: sample.name, study:trashcan );174 Sample dummySample = Sample.cloneSample( sample, newSampleToken, trashcan ); 184 175 trashcan.addToSamples( dummySample ); 185 176 dummySample.save() … … 218 209 // Create dummy sample 219 210 String newSampleToken = 'TrashSample ' + new Date().format( 'yyyyMMddHHmmssSSS') + ( Math.random() * 10000 ); 220 Sample dummySample = new Sample( sampleToken: newSampleToken, name: sample.name, study:trashcan );211 Sample dummySample = Sample.cloneSample( sample, newSampleToken, trashcan ); 221 212 trashcan.addToSamples( dummySample ); 222 213 dummySample.save() … … 264 255 // Create dummy sample 265 256 String newSampleToken = 'TrashSample ' + new Date().format( 'yyyyMMddHHmmssSSS') + ( Math.random() * 10000 ); 266 Sample dummySample = new Sample( sampleToken: newSampleToken, name: assaySample.sample.name, study:trashcan );257 Sample dummySample = Sample.cloneSample( assaySample.sample, newSampleToken, trashcan ); 267 258 trashcan.addToSamples( dummySample ); 268 259 dummySample.save() … … 336 327 for( def j = numSamples - 1; j >= 0; j-- ) { 337 328 def s = sampleList[ j ]; 338 if( !s. tagSequence && !s.oligoNumber && s.numSequences() == 0) {329 if( !s.containsData() ) { 339 330 assayList[ i ].removeFromAssaySamples( s ); 340 331 s.sample?.delete();
Note: See TracChangeset
for help on using the changeset viewer.