Ignore:
Timestamp:
Mar 4, 2011, 12:30:52 PM (6 years ago)
Author:
s.h.sikkema@…
Message:

Fixed tests (except webtests); cleaned up Example{Studies,Templates}.groovy; decapitalized injected services; made 'transactional' properties static

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/conf/dbnp/configuration/ExampleTemplates.groovy

    r1581 r1588  
    3636                                ncboId: '1132',
    3737                                ncboVersionedId: '38802'
    38                         ).with { if (!validate()) { errors.each { println it} } else save()}
     38                        ).save(failOnError:true)
    3939
    4040                        // add Sample>material ontology
     
    4646                                ncboId: '1005',
    4747                                ncboVersionedId: '40643'
    48                         ).with { if (!validate()) { errors.each { println it} } else save()}
     48                        ).save(failOnError:true)
    4949
    5050                        // add NCI ontology which is used in Mouse genotype template field
     
    5656                                ncboId: '1032',
    5757                                ncboVersionedId: '42838'
    58                         ).with { if (!validate()) { errors.each { println it} } else save()}
     58                        ).save(failOnError:true)
    5959
    6060                        // add CHEBI ontology which is used for describing chemicals in e.g. events
     
    6666                                ncboId: '1007',
    6767                                ncboVersionedId: '44746'
    68                         ).with { if (!validate()) { errors.each { println it} } else save()}
     68                        ).save(failOnError:true)
    6969
    7070                }
     
    8989                        name: 'Gender',type: TemplateFieldType.STRINGLIST, entity: Subject,
    9090                        listEntries: [new TemplateFieldListItem(name:'Male'),new TemplateFieldListItem(name: 'Female'),new TemplateFieldListItem(name: 'Unknown')])
    91                 .with { if (!validate()) { errors.each { println it} } else save()}
     91                .save(failOnError:true)
    9292
    9393                def ageField = new TemplateField(
    9494                        name: 'Age',type: TemplateFieldType.LONG,entity: Subject,unit: 'years',comment: 'Either include age at the start of the study or date of birth (if known)')
    95                 .with { if (!validate()) { errors.each { println it} } else save()}
     95                .save(failOnError:true)
    9696
    9797                def genotypeField = new TemplateField(
    9898                        name: 'Genotype', type: TemplateFieldType.ONTOLOGYTERM,entity: Subject,
    9999                        comment: 'If present, indicate the genetic variance of the subject (e.g., mutagenized populations,knock-out/in,transgene etc)')
    100                 .with { if (!validate()) { errors.each { println it} } else save()}
    101 
    102                  def genotypeTypeField = new TemplateField(
     100        .save(failOnError:true)
     101
     102                def genotypeTypeField = new TemplateField(
    103103                        name: 'Genotype type',type: TemplateFieldType.STRINGLIST,entity: Subject,
    104104                        listEntries: [new TemplateFieldListItem(name:'wildtype'),
     
    107107                                new TemplateFieldListItem(name:'knock-in')],
    108108                        comment: 'If a genotype was specified, please indicate here the type of the genotype')
    109                 .with { if (!validate()) { errors.each { println it} } else save()}
     109        .save(failOnError:true)
    110110
    111111                def varietyField = new TemplateField(
    112112                        name: 'Variety', type: TemplateFieldType.STRING,entity: Subject,
    113113                        comment: 'taxonomic category consisting of members of a species that differ from others of the same species in minor but heritable characteristics')
    114                 .with { if (!validate()) { errors.each { println it} } else save()}
     114        .save(failOnError:true)
    115115
    116116                def ecotypeField = new TemplateField(
    117117                        name: 'Ecotype', type: TemplateFieldType.STRING,entity: Subject,
    118118                         comment: 'a type or subspecies of life that is especially well adapted to a certain environment'
    119                 )
    120                  .with { if (!validate()) { errors.each { println it} } else save()}
     119                ).save(failOnError:true)
    121120
    122121                // Nutritional study template
     
    131130                .addToFields(new TemplateField(name: 'Institute',type: TemplateFieldType.STRING,entity: Study,comment:'In which institute was the study performed; indicate the full address information (to be replaced by persons-affiliations?)'))
    132131                .addToFields(new TemplateField(name: 'Study protocol',type: TemplateFieldType.FILE,entity: Study,comment:'Optionally attach a file in which the protocol in the study is described'))
    133                 .with { if (!validate()) { errors.each { println it} } else save()}
     132        .save(failOnError:true)
    134133
    135134                // Mouse template
     
    154153                .addToFields(new TemplateField(
    155154                        name: 'Weight', type: TemplateFieldType.DOUBLE, unit: 'gram',entity: Subject,comment:'If known indicate the weight of the subject in grams at the start of the study'))
    156                 .with { if (!validate()) { errors.each { println it} } else save()}
     155        .save(failOnError:true)
    157156
    158157                // Human template
     
    183182                .addToFields(new TemplateField(
    184183                        name: 'Run-in-food',type: TemplateFieldType.TEXT,entity: Subject, comment:'If defined, give a short description of the food used before the measurements'))
    185                 .with { if (!validate()) { errors.each { println it} } else save()}
     184                .save(failOnError:true)
    186185
    187186                def sampleRemarksField = new TemplateField(
     
    189188                        type: TemplateFieldType.TEXT,
    190189                    entity: Sample
    191                 )
    192                 .with { if (!validate()) { errors.each { println it} } else save()}
     190                ).save(failOnError:true)
    193191
    194192                def sampleVialTextField = new TemplateField(
     
    196194                        type: TemplateFieldType.STRING,
    197195                    entity: Sample
    198                 )
    199                 .with { if (!validate()) { errors.each { println it} } else save()}
     196                ).save(failOnError:true)
    200197
    201198                // Human tissue sample template
     
    213210                        entity: Sample
    214211                        )
    215                 )
    216                 .with { if (!validate()) { errors.each { println it} } else save()}
     212        ).save(failOnError:true)
    217213
    218214                // Human blood sample template
     
    230226                                entity: Sample
    231227                        )
    232                 )
    233                 .with { if (!validate()) { errors.each { println it} } else save()}
    234 
    235                
    236                 /*
     228        ).save(failOnError:true)
     229
     230
     231                /*
    237232                 * Add NMC - DCL Sample Mapping Template
    238233                 * by Michael van Vliet
    239                  * 
     234                 *
    240235                 * For the Pilot running in Leiden (NOV2010)
    241236                 */
     
    244239                        type: TemplateFieldType.STRING,
    245240                        entity: Sample
    246                 )
    247                 .with { if (!validate()) { errors.each { println it} } else save()}
     241        ).save(failOnError:true)
    248242
    249243                // Human tissue sample template
     
    253247                )
    254248                .addToFields(sampleDCLTextField)
    255                 .with { if (!validate()) { errors.each { println it} } else save()}
     249        .save(failOnError:true)
    256250                // EO DCL Sample Mapping Template**********************************
    257                
    258                
     251
     252
    259253                /*
    260254                def GrowthTreatmentTemplate = new Template(
     
    270264                .addToFields(new TemplateField(name: 'Light Intensity',type: TemplateFieldType.STRING))
    271265                .addToFields(new TemplateField(name: 'Harvest Delay',type: TemplateFieldType.STRING))
    272                 .with { if (!validate()) { errors.each { println it} } else save()}
     266                .save(failOnError:true)
    273267                 */
    274268
     
    280274                .addToFields(varietyField)
    281275                .addToFields(ecotypeField)
    282                  .addToFields(genotypeField)
     276                .addToFields(genotypeField)
    283277                /*
    284278                .addToFields(genotypeTypeField)
     
    343337                .addToFields(new TemplateField(
    344338                        name: 'Additional info', entity: Subject, type: TemplateFieldType.TEXT))
    345                 .with { if (!validate()) { errors.each { println it} } else save()}
     339        .save(failOnError:true)
    346340
    347341                def FieldTemplate = new Template(
     
    363357                .addToFields(new TemplateField(
    364358                        name: 'Harvest delay', entity: Subject, type: TemplateFieldType.TEXT))
    365                 .with { if (!validate()) { errors.each { println it} } else save()}
     359        .save(failOnError:true)
    366360
    367361                //Plant template
     
    417411                .addToFields(new TemplateField(
    418412                        name: 'Harvest delay', type: TemplateFieldType.TEXT, entity: Subject))
    419                 .with { if (!validate()) { errors.each { println it} } else save()}
     413                .save(failOnError:true)
    420414
    421415                def plantSampleTemplate = new Template(
     
    425419                .addToFields(sampleRemarksField)
    426420                .addToFields(sampleVialTextField)
    427                 .with { if (!validate()) { errors.each { println it} } else save()}
     421        .save(failOnError:true)
    428422
    429423                def materialPrepTemplate = new Template(
     
    463457                                entity: Event
    464458                        )
    465                 )
    466                 .with { if (!validate()) { errors.each { println it} } else save()}
     459                ).save(failOnError:true)
    467460
    468461                def protocolField = new TemplateField(
     
    471464                        entity: Event,
    472465                        comment: 'You can upload a protocol here which describes the procedure which was used when carrying out the event'
    473                 )
    474                 .with { if (!validate()) { errors.each { println it} } else save()}
     466                ).save(failOnError:true)
     467
    475468
    476469                // diet treatment template
     
    491484                )
    492485                .addToFields(protocolField)
    493                 .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
    494                 dietTreatmentTemplate.refresh()
     486        .save(failOnError:true)
    495487
    496488                // boost treatment template
     
    515507                )
    516508                .addToFields(protocolField)
    517                 .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
    518                 boostTreatmentTemplate.refresh()
     509        .save(failOnError:true)
    519510
    520511                // fasting treatment template
     
    530521                                entity: Event
    531522                        )
    532                 )
    533                 .with { if (!validate()) { errors.each { println it} } else save()}
     523                ).save(failOnError:true)
    534524
    535525                // SamplingEvent templates
     
    539529                        type: TemplateFieldType.FILE,
    540530                        comment: 'You can upload a protocol here which describes the procedure which was used when carrying out the sampling event'
    541                 )
    542                 .with { if (!validate()) { errors.each { println it} } else save()}
     531                ).save(failOnError:true)
    543532
    544533                // liver sampling event template
     
    556545                                type: TemplateFieldType.DOUBLE
    557546                        )
    558                 )
    559                 .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
    560                 liverSamplingEventTemplate.refresh()
     547                ).save(failOnError:true)
    561548
    562549                // blood sampling
     
    574561                                type: TemplateFieldType.DOUBLE
    575562                        )
    576                 )
    577                 .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
    578                 bloodSamplingEventTemplate.refresh()
     563                ).save(failOnError:true)
    579564
    580565                // plant sample extraction event template
     
    605590                                 ]
    606591                        )
    607                 )
    608                 .with { if (!validate()) { errors.each { println it} } else save()}
     592                ).save(failOnError:true)
    609593
    610594                // plant sampling event template
     
    645629                                type: TemplateFieldType.STRING
    646630                        )
    647                 )
    648                 .with { if (!validate()) { errors.each { println it} } else save()}
     631                ).save(failOnError:true)
    649632
    650633
     
    655638                                entity: Assay,
    656639                                type: TemplateFieldType.STRING
    657                 );
    658                 assayDescriptionField.with { if (!validate()) { errors.each { println it} } else save()}
     640                ).save(failOnError:true)
    659641
    660642                def ccAssayTemplate = new Template(
     
    664646                )
    665647                .addToFields(assayDescriptionField)
    666                 .with { if (!validate()) { errors.each { println it} } else save()}
     648                .save(failOnError:true)
    667649
    668650                def metAssayTemplate = new Template(
     
    684666                                new TemplateFieldListItem(name: 'HPLC')
    685667                            ])
    686                 )
    687                 .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
    688                 metAssayTemplate.refresh()
     668                ).save(failOnError:true)
    689669        }
    690670
    691671}
     672
     673///**
     674// * @Author kees
     675// * @Since Jun 25, 2010
     676// *
     677// * Revision information:
     678// * $Rev$
     679// * $Author$
     680// * $Date$
     681// */
     682//package dbnp.configuration
     683//
     684//
     685//import dbnp.studycapturing.*
     686//import org.dbnp.gdt.*
     687//import org.codehaus.groovy.grails.commons.GrailsApplication
     688//
     689//class ExampleTemplates {
     690//
     691//      /**
     692//       * Add the ontologies that are necessary for the templates below manually
     693//       * This function can be called to avoid the HTTP requests to BioPortal each time
     694//       * (e.g. in development or automated test environments)
     695//       */
     696//      public static void initTemplateOntologies() {
     697//              "inserting initial ontologies".grom()
     698//
     699//              // If running in development or test mode, add ontologies manually to speed up development and allow running offline
     700//              if (grails.util.GrailsUtil.environment == GrailsApplication.ENV_DEVELOPMENT || grails.util.GrailsUtil.environment == GrailsApplication.ENV_TEST) {
     701//
     702//                      // add Species ontology which is used for a.o. the Subject domain field 'species'
     703//                      def speciesOntology = new Ontology(
     704//                              name: 'NCBI organismal classification',
     705//                              description: 'A taxonomic classification of living organisms and associated artifacts for their controlled description within the context of databases.',
     706//                              url: 'http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/',
     707//                              versionNumber: '1.2',
     708//                              ncboId: '1132',
     709//                              ncboVersionedId: '38802'
     710//                      ).with { if (!validate()) { errors.each { println it} } else save()}
     711//
     712//                      // add Sample>material ontology
     713//                      def brendaOntology = new Ontology(
     714//                              name: 'BRENDA tissue / enzyme source',
     715//                              description: 'A structured controlled vocabulary for the source of an enzyme. It comprises terms for tissues, cell lines, cell types and cell cultures from uni- and multicellular organisms.',
     716//                              url: 'http://www.brenda-enzymes.info',
     717//                              versionNumber: '1.3',
     718//                              ncboId: '1005',
     719//                              ncboVersionedId: '40643'
     720//                      ).with { if (!validate()) { errors.each { println it} } else save()}
     721//
     722//                      // add NCI ontology which is used in Mouse genotype template field
     723//                      def nciOntology = new Ontology(
     724//                              name: 'NCI Thesaurus',
     725//                              description: 'A vocabulary for clinical care, translational and basic research, and public information and administrative activities.',
     726//                              url: 'http://ncicb.nci.nih.gov/core/EVS',
     727//                              versionNumber: '10.03',
     728//                              ncboId: '1032',
     729//                              ncboVersionedId: '42838'
     730//                      ).with { if (!validate()) { errors.each { println it} } else save()}
     731//
     732//                      // add CHEBI ontology which is used for describing chemicals in e.g. events
     733//                      def chebiOntology = new Ontology(
     734//                              name: 'Chemical entities of biological interest',
     735//                              description: 'A structured classification of chemical compounds of biological relevance.',
     736//                              url: 'http://www.ebi.ac.uk/chebi',
     737//                              versionNumber: '1.73',
     738//                              ncboId: '1007',
     739//                              ncboVersionedId: '44746'
     740//                      ).with { if (!validate()) { errors.each { println it} } else save()}
     741//
     742//              }
     743//              // otherwise, this may be a production demo instance, so initialize the ontologies dynamically from BioPortal
     744//              else {
     745//
     746//                      def speciesOntology = Ontology.getOrCreateOntologyByNcboId(1132)
     747//                      def brendaOntology = Ontology.getOrCreateOntologyByNcboId(1005)
     748//                      def nciOntology = Ontology.getOrCreateOntologyByNcboId(1032)
     749//                      def chebiOntology = Ontology.getOrCreateOntologyByNcboId(1007)
     750//              }
     751//      }
     752//
     753//
     754//      /**
     755//       * Add example templates, this function would normally be called on an empty database
     756//       */
     757//      public static void initTemplates() {
     758//              "inserting initial templates".grom()
     759//
     760//              def genderField = new TemplateField(
     761//                      name: 'Gender',type: TemplateFieldType.STRINGLIST, entity: Subject,
     762//                      listEntries: [new TemplateFieldListItem(name:'Male'),new TemplateFieldListItem(name: 'Female'),new TemplateFieldListItem(name: 'Unknown')])
     763//              .with { if (!validate()) { errors.each { println it} } else save()}
     764//
     765//              def ageField = new TemplateField(
     766//                      name: 'Age',type: TemplateFieldType.LONG,entity: Subject,unit: 'years',comment: 'Either include age at the start of the study or date of birth (if known)')
     767//              .with { if (!validate()) { errors.each { println it} } else save()}
     768//
     769//              def genotypeField = new TemplateField(
     770//                      name: 'Genotype', type: TemplateFieldType.ONTOLOGYTERM,entity: Subject,
     771//                      comment: 'If present, indicate the genetic variance of the subject (e.g., mutagenized populations,knock-out/in,transgene etc)')
     772//              .with { if (!validate()) { errors.each { println it} } else save()}
     773//
     774//               def genotypeTypeField = new TemplateField(
     775//                      name: 'Genotype type',type: TemplateFieldType.STRINGLIST,entity: Subject,
     776//                      listEntries: [new TemplateFieldListItem(name:'wildtype'),
     777//                              new TemplateFieldListItem(name:'transgenic'),
     778//                              new TemplateFieldListItem(name:'knock-out'),
     779//                              new TemplateFieldListItem(name:'knock-in')],
     780//                      comment: 'If a genotype was specified, please indicate here the type of the genotype')
     781//              .with { if (!validate()) { errors.each { println it} } else save()}
     782//
     783//              def varietyField = new TemplateField(
     784//                      name: 'Variety', type: TemplateFieldType.STRING,entity: Subject,
     785//                      comment: 'taxonomic category consisting of members of a species that differ from others of the same species in minor but heritable characteristics')
     786//              .with { if (!validate()) { errors.each { println it} } else save()}
     787//
     788//              def ecotypeField = new TemplateField(
     789//                      name: 'Ecotype', type: TemplateFieldType.STRING,entity: Subject,
     790//                       comment: 'a type or subspecies of life that is especially well adapted to a certain environment'
     791//              )
     792//               .with { if (!validate()) { errors.each { println it} } else save()}
     793//
     794//              // Nutritional study template
     795//              def studyTemplate = new Template(
     796//                      name: 'Academic study',
     797//                      entity: dbnp.studycapturing.Study
     798//              )
     799//              .addToFields(new TemplateField(name: 'Objectives',type: TemplateFieldType.TEXT,entity: Study,comment:'Fill out the aim or questions of the study'))
     800//              .addToFields(new TemplateField(name: 'Consortium',type: TemplateFieldType.STRING,entity: Study,comment:'If the study was performed within a consortium (e.g. NMC, NuGO), you can indicate this here'))
     801//              .addToFields(new TemplateField(name: 'Cohort name',type: TemplateFieldType.STRING,entity: Study,comment:'If a cohort was used the name or code of the cohort can be define here (define a cohort template)'))
     802//              .addToFields(new TemplateField(name: 'Lab id',type: TemplateFieldType.STRING,entity: Study,comment:'In which lab was the study performed; indicate the roomnumber.'))
     803//              .addToFields(new TemplateField(name: 'Institute',type: TemplateFieldType.STRING,entity: Study,comment:'In which institute was the study performed; indicate the full address information (to be replaced by persons-affiliations?)'))
     804//              .addToFields(new TemplateField(name: 'Study protocol',type: TemplateFieldType.FILE,entity: Study,comment:'Optionally attach a file in which the protocol in the study is described'))
     805//              .with { if (!validate()) { errors.each { println it} } else save()}
     806//
     807//              // Mouse template
     808//              def mouseTemplate = new Template(
     809//                      name: 'Mouse', entity: dbnp.studycapturing.Subject)
     810//              .addToFields(new TemplateField(
     811//                      name: 'Strain', type: TemplateFieldType.ONTOLOGYTERM, ontologies: [Ontology.getOrCreateOntologyByNcboId(1032)], entity: Subject, comment: "This is an ontology term, if the right strain is not in the list please add it with 'add more'"))
     812//              .addToFields(genotypeField)
     813//              .addToFields(genotypeTypeField)
     814//              .addToFields(genderField)
     815//              .addToFields(new TemplateField(
     816//                      name: 'Age', type: TemplateFieldType.LONG, entity: Subject, unit: 'weeks', comment: 'Age at start of study'))
     817//              .addToFields(new TemplateField(
     818//                      name: 'Age type',type: TemplateFieldType.STRINGLIST,entity: Subject,
     819//                      listEntries: [new TemplateFieldListItem(name:'postnatal'),new TemplateFieldListItem(name:'embryonal')]))
     820//              .addToFields(new TemplateField(
     821//                      name: 'Cage',type: TemplateFieldType.STRING,entity: Subject,comment:'Indicate the cage used for housing (type and/or size)'))
     822//              .addToFields(new TemplateField(
     823//                      name: '#Mice in cage',type: TemplateFieldType.LONG,entity: Subject,comment:'If known, indicate the number of mice per cage'))
     824//              .addToFields(new TemplateField(
     825//                      name: 'Litter size',type: TemplateFieldType.LONG,entity: Subject,comment:'If known, indicate the litter size of the litter from which the subject originates'))
     826//              .addToFields(new TemplateField(
     827//                      name: 'Weight', type: TemplateFieldType.DOUBLE, unit: 'gram',entity: Subject,comment:'If known indicate the weight of the subject in grams at the start of the study'))
     828//              .with { if (!validate()) { errors.each { println it} } else save()}
     829//
     830//              // Human template
     831//              def humanTemplate = new Template(
     832//                      name: 'Human', entity: dbnp.studycapturing.Subject)
     833//              .addToFields(genderField)
     834//              .addToFields(ageField)
     835//              .addToFields(new TemplateField(
     836//                      name: 'DOB',type: TemplateFieldType.DATE,entity: Subject,comment:'Date of birth'))
     837//              .addToFields(new TemplateField(
     838//                      name: 'Height',type: TemplateFieldType.DOUBLE, entity: Subject, unit: 'm'))
     839//              .addToFields(new TemplateField(
     840//                      name: 'Weight',type: TemplateFieldType.DOUBLE, entity: Subject, unit: 'kg'))
     841//              .addToFields(new TemplateField(
     842//                      name: 'BMI',type: TemplateFieldType.DOUBLE, entity: Subject, unit: 'kg/m2',comment:'Body-mass-index'))
     843//              .addToFields(new TemplateField(
     844//                      name: 'Race',type: TemplateFieldType.STRING,entity: Subject, comment:'If known and of interest the ethnic group can be indicated'))
     845//              .addToFields(new TemplateField(
     846//                      name: 'Waist circumference',type: TemplateFieldType.DOUBLE, unit: 'cm',entity: Subject, comment:'The waist circumference is measured just above the hip bone. Indicate the measure at the start of the study.'))
     847//              .addToFields(new TemplateField(
     848//                      name: 'Hip circumference',type: TemplateFieldType.DOUBLE, unit: 'cm',entity: Subject, comment:'The hip circumference is measured at the level of the two bony prominences front of the hips. Indicate the measure at the start of the study.'))
     849//              .addToFields(new TemplateField(
     850//                      name: 'Systolic blood pressure',type: TemplateFieldType.DOUBLE, unit: 'mmHg',entity: Subject, comment:'Indicate the levels at the start of the study in mmHG'))
     851//              .addToFields(new TemplateField(
     852//                      name: 'Diastolic blood pressure',type: TemplateFieldType.DOUBLE, unit: 'mmHg',entity: Subject, comment:'Indicate the levels at the start of the study in mmHG'))
     853//              .addToFields(new TemplateField(
     854//                      name: 'Heart rate',type: TemplateFieldType.DOUBLE, unit: 'beats/min',entity: Subject, comment:'Indicate the heart rate at the start of in study in beats per minute'))
     855//              .addToFields(new TemplateField(
     856//                      name: 'Run-in-food',type: TemplateFieldType.TEXT,entity: Subject, comment:'If defined, give a short description of the food used before the measurements'))
     857//              .with { if (!validate()) { errors.each { println it} } else save()}
     858//
     859//              def sampleRemarksField = new TemplateField(
     860//                      name: 'Remarks',
     861//                      type: TemplateFieldType.TEXT,
     862//                  entity: Sample
     863//              )
     864//              .with { if (!validate()) { errors.each { println it} } else save()}
     865//
     866//              def sampleVialTextField = new TemplateField(
     867//                      name: 'Text on vial',
     868//                      type: TemplateFieldType.STRING,
     869//                  entity: Sample
     870//              )
     871//              .with { if (!validate()) { errors.each { println it} } else save()}
     872//
     873//              // Human tissue sample template
     874//              def humanSampleTemplate = new Template(
     875//                      name: 'Human tissue sample',
     876//                      entity: dbnp.studycapturing.Sample
     877//              )
     878//              .addToFields(sampleRemarksField)
     879//              .addToFields(sampleVialTextField)
     880//              .addToFields(
     881//                      new TemplateField(
     882//                          name: 'Sample measured weight',
     883//                          unit: 'mg',
     884//                          type: TemplateFieldType.DOUBLE,
     885//                      entity: Sample
     886//                      )
     887//              )
     888//              .with { if (!validate()) { errors.each { println it} } else save()}
     889//
     890//              // Human blood sample template
     891//              def humanBloodSampleTemplate = new Template(
     892//                  name: 'Human blood sample',
     893//                      entity: dbnp.studycapturing.Sample
     894//              )
     895//              .addToFields(sampleRemarksField)
     896//              .addToFields(sampleVialTextField)
     897//              .addToFields(
     898//                      new TemplateField(
     899//                          name: 'Sample measured volume',
     900//                          unit: 'ml',
     901//                          type: TemplateFieldType.DOUBLE,
     902//                              entity: Sample
     903//                      )
     904//              )
     905//              .with { if (!validate()) { errors.each { println it} } else save()}
     906//
     907//
     908//              /*
     909//               * Add NMC - DCL Sample Mapping Template
     910//               * by Michael van Vliet
     911//               *
     912//               * For the Pilot running in Leiden (NOV2010)
     913//               */
     914//              def sampleDCLTextField = new TemplateField(
     915//                      name: 'DCL Sample Reference',
     916//                      type: TemplateFieldType.STRING,
     917//                      entity: Sample
     918//              )
     919//              .with { if (!validate()) { errors.each { println it} } else save()}
     920//
     921//              // Human tissue sample template
     922//              def dclSampleTemplate = new Template(
     923//                      name: 'DCL Sample information',
     924//                      entity: dbnp.studycapturing.Sample
     925//              )
     926//              .addToFields(sampleDCLTextField)
     927//              .with { if (!validate()) { errors.each { println it} } else save()}
     928//              // EO DCL Sample Mapping Template**********************************
     929//
     930//
     931//              /*
     932//              def GrowthTreatmentTemplate = new Template(
     933//                      name: 'Growth treatment',
     934//                      entity: dbnp.studycapturing.Event
     935//              )
     936//              .addToFields(sampleDescriptionField)
     937//              .addToFields(new TemplateField(name: 'position X',type: TemplateFieldType.STRING))
     938//              .addToFields(new TemplateField(name: 'position Y',type: TemplateFieldType.STRING))
     939//              .addToFields(new TemplateField(name: 'Block',type: TemplateFieldType.STRING))
     940//              .addToFields(new TemplateField(name: 'Temparature Day',type: TemplateFieldType.STRING))
     941//              .addToFields(new TemplateField(name: 'Temparature Night',type: TemplateFieldType.STRING))
     942//              .addToFields(new TemplateField(name: 'Light Intensity',type: TemplateFieldType.STRING))
     943//              .addToFields(new TemplateField(name: 'Harvest Delay',type: TemplateFieldType.STRING))
     944//              .with { if (!validate()) { errors.each { println it} } else save()}
     945//               */
     946//
     947//              //Plant template
     948//              def greenHouseTemplate = new Template(
     949//                      name: 'Plant-green house ',
     950//                      entity: dbnp.studycapturing.Subject
     951//              )
     952//              .addToFields(varietyField)
     953//              .addToFields(ecotypeField)
     954//               .addToFields(genotypeField)
     955//              /*
     956//              .addToFields(genotypeTypeField)
     957//              .addToFields(
     958//                      new TemplateField(
     959//                              name: 'Growth location', type: TemplateFieldType.STRINGLIST,
     960//                              listEntries: [
     961//                                      new TemplateFieldListItem(name:'Greenhouse'),
     962//                                      new TemplateFieldListItem(name: 'Field')
     963//                              ]
     964//                      )
     965//              )
     966//              .addToFields(
     967//                      new TemplateField(
     968//                              name: 'Room', type: TemplateFieldType.STRING,
     969//                              comment: 'Chamber number in case of Greenhouse'
     970//                      )
     971//              )
     972//              */
     973//              .addToFields(
     974//                      new TemplateField(
     975//                              name: 'Chamber no.',
     976//                              type: TemplateFieldType.STRING,
     977//                              entity: Subject,
     978//                              comment: 'Chamber number in the Greenhouse'
     979//                      )
     980//              )
     981//              .addToFields(
     982//                      new TemplateField(
     983//                              name: 'Growth type',
     984//                              entity: Subject,
     985//                              type: TemplateFieldType.STRINGLIST,
     986//                              listEntries: [
     987//                                      new TemplateFieldListItem(name:'Standard'),
     988//                              new TemplateFieldListItem(name: 'Experimental'),
     989//                              new TemplateFieldListItem(name: 'Unknown')
     990//                              ]
     991//                      )
     992//              )
     993//              .addToFields(new TemplateField(
     994//                      name: 'Growth protocol', entity: Subject, type: TemplateFieldType.TEXT))
     995//              .addToFields(new TemplateField(
     996//                      name: 'Position X', entity: Subject, type: TemplateFieldType.DOUBLE))
     997//              .addToFields(new TemplateField(
     998//                      name: 'Position Y', entity: Subject, type: TemplateFieldType.DOUBLE))
     999//              .addToFields(new TemplateField(
     1000//                      name: 'Block', entity: Subject, type: TemplateFieldType.STRING))
     1001//              .addToFields(new TemplateField(
     1002//                      name: 'Temperature at day', entity: Subject, type: TemplateFieldType.DOUBLE))
     1003//              .addToFields(new TemplateField(
     1004//                      name: 'Temperature at night', entity: Subject, type: TemplateFieldType.DOUBLE))
     1005//              .addToFields(new TemplateField(
     1006//                      name: 'Photo period', entity: Subject, type: TemplateFieldType.STRING))
     1007//              .addToFields(new TemplateField(
     1008//                      name: 'Light intensity', entity: Subject, type: TemplateFieldType.STRING))
     1009//              .addToFields(new TemplateField(
     1010//                      name: 'Start date', entity: Subject, type: TemplateFieldType.DATE))
     1011//              .addToFields(new TemplateField(
     1012//                      name: 'Harvest date', entity: Subject, type: TemplateFieldType.DATE))
     1013//              .addToFields(new TemplateField(
     1014//                      name: 'Harvest delay', entity: Subject, type: TemplateFieldType.TEXT))
     1015//              .addToFields(new TemplateField(
     1016//                      name: 'Additional info', entity: Subject, type: TemplateFieldType.TEXT))
     1017//              .with { if (!validate()) { errors.each { println it} } else save()}
     1018//
     1019//              def FieldTemplate = new Template(
     1020//                      name: 'Plant-open field',
     1021//                      entity: dbnp.studycapturing.Subject
     1022//              )
     1023//              .addToFields(varietyField)
     1024//              .addToFields(ecotypeField)
     1025//              .addToFields(genotypeField)
     1026//              .addToFields(new TemplateField(
     1027//                      name: 'Start date', entity: Subject, type: TemplateFieldType.DATE))
     1028//              .addToFields(new TemplateField(
     1029//                      name: 'Harvest date', entity: Subject, type: TemplateFieldType.DATE))
     1030//              .addToFields(new TemplateField(
     1031//                      name: 'Growth type', entity: Subject, type: TemplateFieldType.STRINGLIST,
     1032//                      listEntries: [new TemplateFieldListItem(name:'Standard'),new TemplateFieldListItem(name: 'Experimental')]))
     1033//              .addToFields(new TemplateField(
     1034//                      name: 'Growth protocol', entity: Subject, type: TemplateFieldType.TEXT))
     1035//              .addToFields(new TemplateField(
     1036//                      name: 'Harvest delay', entity: Subject, type: TemplateFieldType.TEXT))
     1037//              .with { if (!validate()) { errors.each { println it} } else save()}
     1038//
     1039//              //Plant template
     1040//              def chamberTemplate = new Template(
     1041//                      name: 'Plant-chamber',
     1042//                      entity: dbnp.studycapturing.Subject
     1043//              )
     1044//              .addToFields(varietyField)
     1045//              .addToFields(ecotypeField)
     1046//              .addToFields(genotypeField)
     1047//              /*
     1048//              .addToFields(genotypeTypeField)
     1049//              .addToFields(
     1050//                      new TemplateField(
     1051//                              name: 'Growth location',
     1052//                              type: TemplateFieldType.STRINGLIST,
     1053//                              listEntries: [
     1054//                                      new TemplateFieldListItem(name:'Greenhouse'),
     1055//                                      new TemplateFieldListItem(name: 'Field')
     1056//                              ]
     1057//                      )
     1058//              )
     1059//              */
     1060//              .addToFields(new TemplateField(
     1061//                      name: 'Room', type: TemplateFieldType.STRING, entity: Subject,
     1062//                      comment: 'room number'))
     1063//              .addToFields(new TemplateField(
     1064//                      name: 'Chamber no.', type: TemplateFieldType.STRING, entity: Subject,
     1065//                      comment: 'Chamber number'))
     1066//              .addToFields(new TemplateField(
     1067//                      name: 'Block', type: TemplateFieldType.STRING, entity: Subject))
     1068//              .addToFields(new TemplateField(
     1069//                      name: 'Position X', type: TemplateFieldType.DOUBLE, entity: Subject))
     1070//              .addToFields(new TemplateField(
     1071//                      name: 'Position Y', type: TemplateFieldType.DOUBLE, entity: Subject))
     1072//              .addToFields(new TemplateField(
     1073//                      name: 'Temperature at day', type: TemplateFieldType.DOUBLE, entity: Subject))
     1074//              .addToFields(new TemplateField(
     1075//                      name: 'Temperature at night', type: TemplateFieldType.DOUBLE, entity: Subject))
     1076//              .addToFields(new TemplateField(
     1077//                      name: 'Photo period', type: TemplateFieldType.STRING, entity: Subject))
     1078//              .addToFields(new TemplateField(
     1079//                      name: 'Light intensity', type: TemplateFieldType.STRING, entity: Subject))
     1080//              .addToFields(new TemplateField(
     1081//                      name: 'Start date', type: TemplateFieldType.DATE, entity: Subject))
     1082//              .addToFields(new TemplateField(
     1083//                      name: 'Harvest date', type: TemplateFieldType.DATE, entity: Subject))
     1084//              .addToFields(new TemplateField(
     1085//                      name: 'Growth type', type: TemplateFieldType.STRINGLIST, entity: Subject,
     1086//                      listEntries: [new TemplateFieldListItem(name:'Standard'),new TemplateFieldListItem(name: 'Experimental')]))
     1087//              .addToFields(new TemplateField(
     1088//                      name: 'Growth protocol', type: TemplateFieldType.TEXT, entity: Subject))
     1089//              .addToFields(new TemplateField(
     1090//                      name: 'Harvest delay', type: TemplateFieldType.TEXT, entity: Subject))
     1091//              .with { if (!validate()) { errors.each { println it} } else save()}
     1092//
     1093//              def plantSampleTemplate = new Template(
     1094//                      name: 'Plant sample',
     1095//                      entity: dbnp.studycapturing.Sample
     1096//              )
     1097//              .addToFields(sampleRemarksField)
     1098//              .addToFields(sampleVialTextField)
     1099//              .with { if (!validate()) { errors.each { println it} } else save()}
     1100//
     1101//              def materialPrepTemplate = new Template(
     1102//                      name: 'Plant-material preparation',
     1103//                  description: 'material preparation',
     1104//                  entity: dbnp.studycapturing.Event
     1105//              )
     1106//              .addToFields(new TemplateField(
     1107//                       name: 'Tissue',
     1108//                      type: TemplateFieldType.STRING,
     1109//                      entity: Event,
     1110//                  comment: 'organ/ fraction of culture/ plant part')
     1111//              )
     1112//              .addToFields(
     1113//                      new TemplateField(
     1114//                               name: 'Grinding',
     1115//                              type: TemplateFieldType.STRINGLIST,
     1116//                              entity: Event,
     1117//                          listEntries: [
     1118//                                      new TemplateFieldListItem(name:'yes'),
     1119//                              new TemplateFieldListItem(name: 'no'),
     1120//                              new TemplateFieldListItem(name: 'unknown')
     1121//                              ]
     1122//                      )
     1123//              )
     1124//              .addToFields(
     1125//                      new TemplateField(
     1126//                              name: 'Storage location',
     1127//                              type: TemplateFieldType.STRING,
     1128//                              entity: Event
     1129//                      )
     1130//              )
     1131//              .addToFields(
     1132//                      new TemplateField(
     1133//                              name: 'protocol reference',
     1134//                              type: TemplateFieldType.STRING,
     1135//                              entity: Event
     1136//                      )
     1137//              )
     1138//              .with { if (!validate()) { errors.each { println it} } else save()}
     1139//
     1140//              def protocolField = new TemplateField(
     1141//                      name: 'Protocol',
     1142//                      type: TemplateFieldType.FILE,
     1143//                      entity: Event,
     1144//                      comment: 'You can upload a protocol here which describes the procedure which was used when carrying out the event'
     1145//              )
     1146//              .with { if (!validate()) { errors.each { println it} } else save()}
     1147//
     1148//              // diet treatment template
     1149//              def dietTreatmentTemplate = new Template(
     1150//                      name: 'Diet treatment',
     1151//                      entity: dbnp.studycapturing.Event
     1152//              )
     1153//              .addToFields(
     1154//                      new TemplateField(
     1155//                              name: 'Diet',
     1156//                              type: TemplateFieldType.STRINGLIST,
     1157//                              entity: Event,
     1158//                              listEntries: [
     1159//                                      new TemplateFieldListItem(name:'low fat'),
     1160//                                      new TemplateFieldListItem(name: 'high fat')
     1161//                              ]
     1162//                      )
     1163//              )
     1164//              .addToFields(protocolField)
     1165//              .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
     1166//              dietTreatmentTemplate.refresh()
     1167//
     1168//              // boost treatment template
     1169//              def boostTreatmentTemplate = new Template(
     1170//                      name: 'Compound challenge',
     1171//                      entity: dbnp.studycapturing.Event
     1172//              )
     1173//              .addToFields(
     1174//                      new TemplateField(
     1175//                              name: 'Compound',
     1176//                              type: TemplateFieldType.ONTOLOGYTERM,
     1177//                              entity: Event,
     1178//                              ontologies: [Ontology.getOrCreateOntologyByNcboId(1007)]
     1179//                      )
     1180//              )
     1181//              .addToFields(
     1182//                      new TemplateField(
     1183//                              name: 'Control',
     1184//                              type: TemplateFieldType.BOOLEAN,
     1185//                              entity: Event
     1186//                      )
     1187//              )
     1188//              .addToFields(protocolField)
     1189//              .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
     1190//              boostTreatmentTemplate.refresh()
     1191//
     1192//              // fasting treatment template
     1193//              def fastingTreatment = new Template(
     1194//                      name: 'Fasting treatment',
     1195//                      description: 'Fasting for a specific amount of time',
     1196//                      entity: dbnp.studycapturing.Event
     1197//              )
     1198//              .addToFields(
     1199//                      new TemplateField(
     1200//                              name: 'Fasting period',
     1201//                              type: TemplateFieldType.RELTIME,
     1202//                              entity: Event
     1203//                      )
     1204//              )
     1205//              .with { if (!validate()) { errors.each { println it} } else save()}
     1206//
     1207//              // SamplingEvent templates
     1208//              def samplingProtocolField = new TemplateField(
     1209//                      name: 'Sample Protocol',
     1210//                      entity: SamplingEvent,
     1211//                      type: TemplateFieldType.FILE,
     1212//                      comment: 'You can upload a protocol here which describes the procedure which was used when carrying out the sampling event'
     1213//              )
     1214//              .with { if (!validate()) { errors.each { println it} } else save()}
     1215//
     1216//              // liver sampling event template
     1217//              def liverSamplingEventTemplate = new Template(
     1218//                      name: 'Liver extraction',
     1219//                      description: 'Liver sampling for transcriptomics arrays',
     1220//                      entity: dbnp.studycapturing.SamplingEvent
     1221//              )
     1222//              .addToFields(samplingProtocolField)
     1223//              .addToFields(
     1224//                      new TemplateField(
     1225//                              name: 'Sample weight',
     1226//                              unit: 'mg',
     1227//                              entity: SamplingEvent,
     1228//                              type: TemplateFieldType.DOUBLE
     1229//                      )
     1230//              )
     1231//              .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
     1232//              liverSamplingEventTemplate.refresh()
     1233//
     1234//              // blood sampling
     1235//              def bloodSamplingEventTemplate = new Template(
     1236//                      name: 'Blood extraction',
     1237//                      description: 'Blood extraction targeted at lipid assays',
     1238//                      entity: dbnp.studycapturing.SamplingEvent
     1239//              )
     1240//              .addToFields(samplingProtocolField)
     1241//              .addToFields(
     1242//                      new TemplateField(
     1243//                              name: 'Sample volume',
     1244//                              entity: SamplingEvent,
     1245//                              unit: 'ml',
     1246//                              type: TemplateFieldType.DOUBLE
     1247//                      )
     1248//              )
     1249//              .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
     1250//              bloodSamplingEventTemplate.refresh()
     1251//
     1252//              // plant sample extraction event template
     1253//              def plantSamplingExtractEventTemplate = new Template(
     1254//                      name: 'Plant sample extraction',
     1255//                      description: 'sample extraction',
     1256//                      entity: dbnp.studycapturing.SamplingEvent,
     1257//                  sampleTemplates: [plantSampleTemplate]
     1258//              )
     1259//              .addToFields(samplingProtocolField)
     1260//              .addToFields(
     1261//                      new TemplateField(
     1262//                              name: 'Sample weight',
     1263//                              unit: 'ul',
     1264//                              entity: SamplingEvent,
     1265//                              type: TemplateFieldType.DOUBLE
     1266//                      )
     1267//              )
     1268//              .addToFields(
     1269//                      new TemplateField(
     1270//                              name: 'Sample when measured',
     1271//                              type: TemplateFieldType.STRINGLIST,
     1272//                              entity: SamplingEvent,
     1273//                           listEntries: [
     1274//                                       new TemplateFieldListItem(name:'Dried'),
     1275//                           new TemplateFieldListItem(name: 'Fresh'),
     1276//                           new TemplateFieldListItem(name: 'Unknown')
     1277//                               ]
     1278//                      )
     1279//              )
     1280//              .with { if (!validate()) { errors.each { println it} } else save()}
     1281//
     1282//              // plant sampling event template
     1283//              def plantSamplingEventTemplate = new Template(
     1284//                      name: 'Plant-sample',
     1285//                      description: 'plant sample ',
     1286//                      entity: dbnp.studycapturing.SamplingEvent,
     1287//                  sampleTemplates: [plantSampleTemplate]
     1288//              )
     1289//              //.addToFields(samplingProtocolField)
     1290//              .addToFields(
     1291//                      new TemplateField(
     1292//                              name: 'material',
     1293//                          comment: 'physical charecteristic. e.g, grounded powder of tomato seed or liquid',
     1294//                              entity: SamplingEvent,
     1295//                              type: TemplateFieldType.STRING
     1296//                      )
     1297//              )
     1298//              .addToFields(
     1299//                      new TemplateField(
     1300//                              name: 'Description',
     1301//                              type: TemplateFieldType.STRING,
     1302//                              entity: SamplingEvent
     1303//                      )
     1304//              )
     1305//              .addToFields(
     1306//                      new TemplateField(
     1307//                              name: 'extracted material',
     1308//                              comment: 'substance to be extracted. e.g., lipids, volatiles, primary metabolites etc',
     1309//                              type: TemplateFieldType.STRING,
     1310//                              entity: SamplingEvent
     1311//                      )
     1312//              )
     1313//              .addToFields(
     1314//                      new TemplateField(
     1315//                              name: 'Text on vial',
     1316//                              entity: SamplingEvent,
     1317//                              type: TemplateFieldType.STRING
     1318//                      )
     1319//              )
     1320//              .with { if (!validate()) { errors.each { println it} } else save()}
     1321//
     1322//
     1323//              // assay templates
     1324//              def assayDescriptionField = new TemplateField(
     1325//                              name: 'Description',
     1326//                          comment: 'add general assay information here',
     1327//                              entity: Assay,
     1328//                              type: TemplateFieldType.STRING
     1329//              );
     1330//              assayDescriptionField.with { if (!validate()) { errors.each { println it} } else save()}
     1331//
     1332//              def ccAssayTemplate = new Template(
     1333//                      name: 'Clinical chemistry assay',
     1334//                      description: 'Clinical chemistry assay stored in a SAM module',
     1335//                      entity: dbnp.studycapturing.Assay
     1336//              )
     1337//              .addToFields(assayDescriptionField)
     1338//              .with { if (!validate()) { errors.each { println it} } else save()}
     1339//
     1340//              def metAssayTemplate = new Template(
     1341//                      name: 'Metabolomics assay',
     1342//                      description: 'Metabolomics assay stored in a metabolomics module',
     1343//                      entity: dbnp.studycapturing.Assay
     1344//              )
     1345//              .addToFields(assayDescriptionField)
     1346//              .addToFields(
     1347//                      new TemplateField(
     1348//                              name: 'Spectrometry technique',
     1349//                          comment: 'Select the used metabolomics technique',
     1350//                              entity: Assay,
     1351//                              type: TemplateFieldType.STRINGLIST,
     1352//                          listEntries: [
     1353//                                      new TemplateFieldListItem(name: 'GC/MS'),
     1354//                              new TemplateFieldListItem(name: 'LC/MS'),
     1355//                              new TemplateFieldListItem(name: 'NMR'),
     1356//                              new TemplateFieldListItem(name: 'HPLC')
     1357//                          ])
     1358//              )
     1359//              .with { if (!validate()) { errors.each { println it} } else save(flush:true)}
     1360//              metAssayTemplate.refresh()
     1361//      }
     1362//
     1363//}
Note: See TracChangeset for help on using the changeset viewer.