source: trunk/grails-app/domain/dbnp/data/Term.groovy @ 271

Last change on this file since 271 was 271, checked in by jahn, 9 years ago

Cleaned up getTerm() function.

  • Property svn:keywords set to Author Rev Date
File size: 1.1 KB
Line 
1package dbnp.data
2
3import dbnp.data.Ontology
4
5/**
6 * The Term object describes a term in the ontology that is referred to in other entities such as events.
7 * The Term object should point to an existing term in an online ontology, therefore instances of this class can also
8 * be seen as a cache of elements of the external ontology.
9 *
10 * Revision information:
11 * $Rev: 271 $
12 * $Author: jahn $
13 * $Date: 2010-03-16 08:21:46 +0000 (di, 16 mrt 2010) $
14 */
15class Term implements Serializable {
16        static searchable = true
17        String name
18        Ontology ontology
19        String accession
20
21        static constraints = {
22        }
23
24        def String toString() {
25                return name
26        }
27
28
29        // Covenenice method for delivering Terms.
30        // if the term is already defined, use it.
31        // otherwise, create it and return it.
32        // should be removed when ontologies work.
33        static getTerm( string ) {
34            def term = Term.find("from Term as t where t.name = '${string}'")
35            if( term==null ) { term = new Term()
36                    term.name=string
37                    term.ontology = Ontology.find('from Ontology as o')
38                    term.accession = ''
39                    if( !term.save(flush:true) )  {
40                            term.errors.each{ println it }
41                    }
42            }
43            return term
44        }
45}
Note: See TracBrowser for help on using the repository browser.