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

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

Improved overview + reset button

  • Property svn:keywords set to Date Author Rev
File size: 2.8 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: 555 $
12 * $Author: vinlud $
13 * $Date: 2010-06-10 14:10:57 +0000 (do, 10 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.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            on("addCompound") {
52                println "addCompound"             
53            }.to "query"
54
55            on("addTransciptome") {
56              println "addTransciptome"
57            }.to "query"
58
59            on("search") {
60              println "Search!"
61              println params
62              if (!params.term.trim()) {
63                return [:]
64              }
65
66              flow.term = params.term
67            }.to "searching"
68
69            on("refresh").to "query"
70                }
71
72
73        // Searching for results
74        searching {
75           action {
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.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              println flow.term
115            }
116
117            on("reset") {
118              flow.term = null
119              flow.studies = null
120              println "Resetting query flow"
121            }.to "query"
122
123            on("search").to "searching"
124            on("refresh").to "results"
125        }
126
127    }
128 
129
130
131
132
133}
Note: See TracBrowser for help on using the repository browser.