Ignore:
Timestamp:
Mar 30, 2012, 5:17:57 PM (11 years ago)
Author:
work@…
Message:
  • implemented getAssayData api call
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/domain/dbnp/studycapturing/Assay.groovy

    r1873 r2200  
    11package dbnp.studycapturing
     2
    23import org.dbnp.gdt.*
    34
     
    89 */
    910class Assay extends TemplateEntity {
    10         // The name of the assay, which should indicate the measurements represented in this assay to the user.
    11         String name
     11    // The name of the assay, which should indicate the measurements represented in this assay to the user.
     12    String name
    1213
    13         // The dbNP module in which the assay omics data can be found. */
    14         AssayModule module
     14    // The dbNP module in which the assay omics data can be found. */
     15    AssayModule module
    1516
    16         /**
    17         * UUID of this assay
    18         */
     17    /**
     18     * UUID of this assay
     19     */
    1920    String assayUUID
    2021
    21         /**
    22          * return the domain fields for this domain class
    23          * @return List
    24          */
    25         static List<TemplateField> giveDomainFields() { return Assay.domainFields }
    26         static List<TemplateField> domainFields = [
    27                 new TemplateField(
    28                         name: 'name',
    29                         type: TemplateFieldType.STRING,
    30                         preferredIdentifier: true,
    31                         comment: 'The name you give here is used to discern this assay within the study (e.g. \'liver transcriptomics\', \'blood lipidomics\')',
    32                         required: true
    33                 ),
    34                 new TemplateField(
    35                         name: 'module',
    36                         type: TemplateFieldType.MODULE,
    37                         comment: 'Select the dbNP module where the actual assay measurement data is stored',
    38                         required: true
    39                 )
    40         ]
     22    /**
     23     * return the domain fields for this domain class
     24     * @return List
     25     */
     26    static List<TemplateField> giveDomainFields() { return Assay.domainFields }
    4127
    42         // An Assay always belongs to one study.
    43         static belongsTo = [parent: Study]
     28    static List<TemplateField> domainFields = [
     29            new TemplateField(
     30                    name: 'name',
     31                    type: TemplateFieldType.STRING,
     32                    preferredIdentifier: true,
     33                    comment: 'The name you give here is used to discern this assay within the study (e.g. \'liver transcriptomics\', \'blood lipidomics\')',
     34                    required: true
     35            ),
     36            new TemplateField(
     37                    name: 'module',
     38                    type: TemplateFieldType.MODULE,
     39                    comment: 'Select the dbNP module where the actual assay measurement data is stored',
     40                    required: true
     41            )
     42    ]
    4443
    45         // An Assay can have many samples on which it is performed, but all samples should be within the 'parent' Study.
    46         static hasMany = [samples: Sample]
     44    // An Assay always belongs to one study.
     45    static belongsTo = [parent: Study]
    4746
    48         static constraints = {
    49                 assayUUID(nullable:true, unique: true)
    50         }
     47    // An Assay can have many samples on which it is performed, but all samples should be within the 'parent' Study.
     48    static hasMany = [samples: Sample]
     49
     50    static constraints = {
     51        assayUUID(nullable: true, unique: true)
     52    }
    5153
    5254    static mapping = {
     
    5456
    5557        // Workaround for bug http://jira.codehaus.org/browse/GRAILS-6754
    56         templateTextFields type: 'text'
     58        templateTextFields type: 'text'
    5759    }
    5860
    59         def String toString() {
    60                 return name;
    61         }
     61    def String toString() {
     62        return name;
     63    }
    6264
    6365    def getToken() {
    64                 return giveUUID()
     66        return giveUUID()
    6567    }
    66        
    67         /**
    68          * Basic equals method to check whether objects are equals, by comparing the ids
    69          * @param o             Object to compare with
    70          * @return              True iff the id of the given Study is equal to the id of this Study
    71          */
    72         public boolean equals( Object o ) {
    73                 if( o == null )
    74                         return false;
    7568
    76                 if( !( o instanceof Assay ) )
    77                         return false
     69    /**
     70     * Basic equals method to check whether objects are equals, by comparing the ids
     71     * @param o Object to compare with
     72     * @return True iff the id of the given Study is equal to the id of this Study
     73     */
     74    public boolean equals(Object o) {
     75        if (o == null)
     76            return false;
    7877
    79                 Assay s = (Assay) o;
     78        if (!(o instanceof Assay))
     79            return false
    8080
    81                 return this.id == s.id
    82         }
    83        
    84         /**
    85          * Returns the UUID of this sample and generates one if needed
    86          */
    87         public String giveUUID() {
    88                 if( !this.assayUUID ) {
    89                         this.assayUUID = UUID.randomUUID().toString();
    90                         if( !this.save(flush:true) ) {
    91                                 log.error "Couldn't save assay UUID: " + this.getErrors();
    92                         }
    93                 }
    94                
    95                 return this.assayUUID;
    96         }
     81        Assay s = (Assay) o;
     82
     83        return this.id == s.id
     84    }
     85
     86    /**
     87     * Returns the UUID of this sample and generates one if needed
     88     */
     89    public String giveUUID() {
     90        if (!this.assayUUID) {
     91            this.assayUUID = UUID.randomUUID().toString();
     92            if (!this.save(flush: true)) {
     93                log.error "Couldn't save assay UUID: " + this.getErrors();
     94            }
     95        }
     96
     97        return this.assayUUID;
     98    }
    9799}
Note: See TracChangeset for help on using the changeset viewer.