Ignore:
Timestamp:
Jun 15, 2010, 5:45:16 PM (11 years ago)
Author:
duh
Message:
  • upon adding a term the termEditorController now also adds the ontology when the ontologies doest not exist
  • extended the Ontology domain class with functionality to instantiate the Ontology class using the versioned ncboId
  • added 'addDummy' support to termElements and templateElements which caused the study and subject page not to work properly on an empty database (these fields were not rendered so exceptions were thrown).
  • this fixed bug # 107 in half... now the species select (ONTOLOGYTERM) somehow does not show the species in the database, still needs to be fixed
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/studycapturing/TermEditorController.groovy

    r488 r565  
    5858                        }
    5959                        on("add") {
     60                                println params
    6061                                def ontology = Ontology.findByNcboVersionedId( params.get('term-ontology_id') as int )
    6162                def strTerm = params.get('term')
     
    6364                                // do we have an ontology?
    6465                                if (!ontology) {
    65                                         // TODO: if ontology is missing, create it
    66                     // pending possible addition to OntoCAT BioportalOntologyService API of search by versioned Ontology Id
     66                                        println ".ontology missing, first fetch ontology information"
     67
     68                                        // use the NCBO REST service to fetch ontology information
     69                                        def url = "http://rest.bioontology.org/bioportal/ontologies/" + params.get('term-ontology_id')
     70                                        def xml = new URL( url ).getText()
     71                                        def data = new XmlParser().parseText( xml )
     72                                        def bean = data.data.ontologyBean
     73
     74                                        // instantiate Ontology with the proper values
     75                                        ontology = Ontology.getBioPortalOntologyByVersionedId( params.get('term-ontology_id') ).save(flush:true)
     76                                        println ontology
     77
     78                                        if (ontology.validate()) {
     79                                                ontology.save(flush:true)
     80                                        }
     81                                        println ontology
    6782                                }
    6883
     
    8297                                        } else {
    8398                                                flash.message = "Oops, we encountered a problem while storing the selected term. Please try again."
     99                                                term.errors.each() { println it }
    84100                                                error()
    85101                                        }
     
    87103                                        // term did not validate properly
    88104                                        flash.message = "Oops, we encountered a problem while storing the selected term. Please try again."
     105                                        term.errors.each() { println it }
    89106                                        error()
    90107                                }
Note: See TracChangeset for help on using the changeset viewer.