source: trunk/grails-app/controllers/dbnp/query/SimpleQueryController.groovy @ 594

Last change on this file since 594 was 594, checked in by vinlud, 11 years ago

Dynamic simple Assays tab

  • Property svn:keywords set to Date Author Rev
File size: 3.5 KB
Line 
1/**
2 * SimpleQueryController Controler
3 *
4 * Description of my controller
5 *
6 * @author  vincent@ludden.nl
7 * @since       20100526
8 * @package     dbnp.query
9 *
10 * Revision information:
11 * $Rev: 594 $
12 * $Author: vinlud $
13 * $Date: 2010-06-21 06:42:50 +0000 (ma, 21 jun 2010) $
14 */
15package dbnp.query
16
17import dbnp.data.*
18import dbnp.studycapturing.Study
19import org.compass.core.engine.SearchEngineQueryParseException
20
21class SimpleQueryController {
22        /**
23         * index closure
24         */
25    def index = {
26      redirect( action:'pages')
27    }
28
29    def searchableService
30
31    def pagesFlow = {
32
33        onStart {
34            println "Starting webflow simpleQuery"
35            flow.search_term            = null
36            flow.page = 0
37                        flow.pages = [
38                [title: 'Query'],
39                                [title: 'Results']
40                        ]
41            }
42
43        // Render the query page and handle its actions
44                query {
45                        render(view: "/simpleQuery/mainPage")
46            onRender {
47              println "Rendering mainPage"
48              flow.species = Term.findAll()
49              flow.page = 1
50            }
51
52            on("search") {
53              println "Search!"
54              if (!params.search_term.trim()) {
55                return [:]
56              }
57            }.to "searching"
58
59            on("refresh").to "query"
60                }
61
62
63        // Searching for results
64        searching {
65           action {
66
67              println "Searching"
68              println params
69             
70              flow.search_term            = params.search_term
71              flow.search_sa_compounds    = params.sa_compound
72              flow.search_sa_values       = params.sa_value
73              flow.search_tt_genepaths    = params.sa_genepath
74              flow.search_tt_regulations  = params.sa_regulation
75
76              // Searchable plugin not yielding results yet
77              /*
78              try {
79                println searchableService.countHits("mouse")
80              } catch (SearchEngineQueryParseException ex) {
81                //return [parseException: true]
82                println ex
83              }
84              */
85
86              // Search for the term in Terms
87              // results = searchableService.search(flow.search_term, type:"Term")
88
89              // Map the Terms to Studies
90              // ...
91
92              // Save the results in the flow
93              // flow.studies = results
94
95
96
97              // As a usable result set we will use all studies for now
98              flow.listStudies = Study.findAll()
99
100           }
101
102          on("error").to "query"
103          on("success").to "results"
104        }
105
106
107        // Render result page including search options
108        results {
109            render(view: "/simpleQuery/mainPage")
110
111            onRender {
112              println "Rendering resultPage"
113              flow.page = 2
114
115              if (flow.search_sa_compounds) {
116                if (flow.search_sa_compounds.class.getName() == "java.lang.String") {
117                  flow.resultString = true
118                } else {
119                  flow.resultString = false
120                }
121              }
122
123              println flow.search_sa_compounds.getClass()
124            }
125
126            on("reset") {
127              flow.search_term            = null
128              flow.studies                = null
129              flow.search_sa_compounds    = null
130              flow.search_sa_values       = null
131              flow.search_tt_genepaths    = null
132              flow.search_tt_regulations  = null
133              println "Resetting query flow"
134            }.to "query"
135
136            on("search").to "searching"
137            on("refresh").to "results"
138        }
139
140    }
141}
Note: See TracBrowser for help on using the repository browser.