source: trunk/grails-app/conf/Config.groovy @ 1346

Last change on this file since 1346 was 1346, checked in by m.s.vanvliet@…, 7 years ago

Added a timer to the Filters to monitor the load of controller/view

  • Property svn:keywords set to Author Date Rev
File size: 8.5 KB
Line 
1import dbnp.rest.common.CommunicationManager
2import org.apache.commons.lang.RandomStringUtils
3
4/**
5 * Application Configuration
6 *
7 * @author Jeroen Wesbeek
8 * @since 20100520
9 *
10 * Revision information:
11 * $Rev: 1346 $
12 * $Author: m.s.vanvliet@lacdr.leidenuniv.nl $
13 * $Date: 2011-01-07 08:22:56 +0000 (vr, 07 jan 2011) $
14 */
15
16// locations to search for config files that get merged into the main config
17// config files can either be Java properties files or ConfigSlurper scripts
18
19// grails.config.locations = [ "classpath:${appName}-config.properties",
20//                             "classpath:${appName}-config.groovy",
21//                             "file:${userHome}/.grails/${appName}-config.properties",
22//                             "file:${userHome}/.grails/${appName}-config.groovy"]
23
24// if(System.properties["${appName}.config.location"]) {
25//    grails.config.locations << "file:" + System.properties["${appName}.config.location"]
26// }
27grails.mime.file.extensions = true // enables the parsing of file extensions from URLs into the request format
28grails.mime.use.accept.header = false
29grails.mime.types = [html: ['text/html', 'application/xhtml+xml'],
30        xml: ['text/xml', 'application/xml'],
31        text: 'text/plain',
32        js: 'text/javascript',
33        rss: 'application/rss+xml',
34        atom: 'application/atom+xml',
35        css: 'text/css',
36        csv: 'text/csv',
37        all: '*/*',
38        json: ['application/json', 'text/json'],
39        form: 'application/x-www-form-urlencoded',
40        multipartForm: 'multipart/form-data'
41]
42// The default codec used to encode data with ${}
43grails.views.default.codec = "none" // none, html, base64
44grails.views.gsp.encoding = "UTF-8"
45grails.converters.encoding = "UTF-8"
46
47// enabled native2ascii conversion of i18n properties files
48grails.enable.native2ascii = true
49
50// set per-environment serverURL stem for creating absolute links
51environments {
52        development {
53                grails.serverURL = "http://localhost:8080/${appName}"
54                modules {
55                        sam {
56                                url = "http://localhost:8182/sam"
57                        }
58                        metabolomics {
59                                url = "http://localhost:8183/nmcdsp"
60                        }
61                        metagenomics {
62                                url = "http://localhost:8184/metagenomics"
63                        }
64                }
65        }
66        ci {
67                // used by build script
68                grails.serverURL = "http://ci.gscf.nmcdsp.org"
69                modules {
70                        sam {
71                                url = "http://ci.sam.nmcdsp.org"
72                        }
73                        metabolomics {
74                                url = "http://ci.metabolomics.nmcdsp.org"
75                        }
76                        metagenomics {
77                                url = "http://ci.metagenomics.nmcdsp.org"
78                        }                       
79                }
80        }
81        test {
82                // used by build script
83                grails.serverURL = "http://test.gscf.nmcdsp.org"
84                modules {
85                        sam {
86                                url = "http://test.sam.nmcdsp.org"
87                        }
88                        metabolomics {
89                                url = "http://test.metabolomics.nmcdsp.org"
90                        }
91                }
92        }
93        dbnptest {
94                // used by build script
95                grails.serverURL = "http://test.dbnp.org"
96                modules {
97                        sam {
98                                url = "http://test.sam.dbnp.org"
99                        }
100                        metabolomics {
101                                url = "http://test.metabolomics.dbnp.org"
102               
103                        }
104                }
105        }
106        dbnpdemo {
107                // used by build script
108                grails.serverURL = "http://demo.dbnp.org"
109                modules {
110                        sam {
111                                url = "http://demo.sam.dbnp.org"
112                        }
113                        metabolomics {
114                                url = "http://demo.metabolomics.dbnp.org"
115                        }
116                }
117        }
118        production {
119                grails.serverURL = "http://www.nmcdsp.org"
120                modules {
121                        sam {
122                                url = "http://sam.nmcdsp.org"
123                        }
124                        metabolomics {
125                                url = "http://metabolomics.nmcdsp.org"
126                        }
127                }
128        }
129        www {
130                // used by build script
131                grails.serverURL = "http://www.nmcdsp.org"
132                modules {
133                        sam {
134                                url = "http://sam.nmcdsp.org"
135                        }
136                        metabolomics {
137                                url = "http://metabolomics.nmcdsp.org"
138                        }
139                }
140        }
141}
142
143// log4j configuration
144log4j = {
145        // Example of changing the log pattern for the default console
146        // appender:
147        //
148        //appenders {
149        //    console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
150        //}
151       
152        info "grails.app"
153
154        error 'org.codehaus.groovy.grails.web.servlet',  //  controllers
155                'org.codehaus.groovy.grails.web.pages', //  GSP
156                'org.codehaus.groovy.grails.web.sitemesh', //  layouts
157                'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
158                'org.codehaus.groovy.grails.web.mapping', // URL mapping
159                'org.codehaus.groovy.grails.commons', // core / classloading
160                'org.codehaus.groovy.grails.plugins', // plugins
161                'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
162                'org.springframework',
163                'org.hibernate'
164
165        warn 'org.mortbay.log'
166
167        //info 'org.codehaus.groovy.grails.web.servlet',
168        //       'org.codehaus.groovy.grails.plugins'
169        //
170        //debug 'org.codehaus.groovy.grails.plugins'
171}
172
173graphviz {
174        // graphviz installation path is dependent on OS
175        // (requirement for class diagram plugin)
176        switch (System.properties["os.name"]) {
177                case "Mac OS X":
178                        // define mac path to Graphviz dot executable
179                        // (install using macports: sudo port install graphviz)
180                        dot.executable = "/opt/local/bin/dot"
181                        break
182                default:
183                        // assume the linux default path
184                        dot.executable = "/usr/bin/dot"
185        }
186}
187
188// cryptography settings
189// @see WizardTaglib.groovy (encrypt)
190// @see TemplateEditorController.groovy (decrypt)
191crypto {
192        shared.secret = RandomStringUtils.random(32, true, true)
193}
194
195// GSCF specific configuration
196gscf {
197        domain = [
198                // importable entities
199                // use: grailsApplication.config.gscf.domain.entities
200                entities: [
201                        // dbnp.data
202                        'dbnp.data.FeatureBase',
203                        'dbnp.data.FeatureType',
204                        'dbnp.data.Ontology',
205                        'dbnp.data.Term',
206
207                        // dbnp.studycapturing
208                        'dbnp.studycapturing.Assay',
209                        'dbnp.studycapturing.AssayModule',
210                        'dbnp.studycapturing.AssayType',
211                        'dbnp.studycapturing.Compound',
212                        'dbnp.studycapturing.Event',
213                        'dbnp.studycapturing.EventGroup',
214                        'dbnp.studycapturing.Person',
215                        'dbnp.studycapturing.PersonAffilitation',
216                        'dbnp.studycapturing.PersonRole',
217                        'dbnp.studycapturing.Publication',
218                        'dbnp.studycapturing.Sample',
219                        'dbnp.studycapturing.SamplingEvent',
220                        'dbnp.studycapturing.Study',
221                        'dbnp.studycapturing.StudyPerson',
222                        'dbnp.studycapturing.Subject',
223                        'dbnp.studycapturing.Template',
224                        'dbnp.studycapturing.TemplateEntity',
225                        'dbnp.studycapturing.TemplateField',
226                        'dbnp.studycapturing.TemplateFieldListItem',
227                        'dbnp.studycapturing.TemplateFieldType'
228                ],
229
230                // importable entities
231                // use: grailsApplication.config.gscf.domain.importableEntities
232                // @see ImporterController
233                importableEntities: [
234                        event: [name: 'Event', entity: 'dbnp.studycapturing.Event', encrypted:''],
235                        sample: [name: 'Sample', entity: 'dbnp.studycapturing.Sample', encrypted:''],
236                        study: [name: 'Study', entity: 'dbnp.studycapturing.Study', encrypted:''],
237                        subject: [name: 'Subject', entity: 'dbnp.studycapturing.Subject', encrypted:''],
238                        samplingevent: [name: 'SamplingEvent', entity: 'dbnp.studycapturing.SamplingEvent', encrypted:'']
239
240                ]
241        ]
242}
243
244// jquery plugin
245grails.views.javascript.library = "jquery"
246
247// see http://jira.codehaus.org/browse/GRAILSPLUGINS-2711
248jquery.version = "1.4.4"
249
250// Needed for the Spring Security Core plugin:
251grails.plugins.springsecurity.userLookup.userDomainClassName = 'dbnp.authentication.SecUser'
252grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'dbnp.authentication.SecUserSecRole'
253grails.plugins.springsecurity.authority.className = 'dbnp.authentication.SecRole'
254grails.plugins.springsecurity.password.algorithm = 'SHA-256'
255grails.plugins.springsecurity.password.encodeHashAsBase64 = true
256grails.plugins.springsecurity.dao.reflectionSaltSourceProperty = 'username' // Use the persons username as salt for encryption
257grails.plugins.springsecurity.securityConfigType = grails.plugins.springsecurity.SecurityConfigType.Annotation
258grails.plugins.springsecurity.successHandler.targetUrlParameter = 'spring-security-redirect'
259
260// Needed for the (copy of) the Spring Security UI plugin
261grails.plugins.springsecurity.ui.forgotPassword.emailFrom = 'gscf@dbnp.org'
262grails.plugins.springsecurity.ui.forgotPassword.emailSubject = 'Password reset GSCF'
263
264// Make sure the different controllers provided by springsecurity.ui are only accessible by administrators
265// NB: the RegisterController is used for forgotten passwords. It should be accessible by anyone
266grails.plugins.springsecurity.controllerAnnotations.staticRules = [
267        '/user/**': ['ROLE_ADMIN'],
268        '/role/**': ['ROLE_ADMIN'],
269        '/aclclass/**': ['ROLE_ADMIN'],
270        '/aclentry/**': ['ROLE_ADMIN'],
271        '/aclobjectidentity/**': ['ROLE_ADMIN'],
272        '/aclsid/**': ['ROLE_ADMIN'],
273        '/persistentlogin/**': ['ROLE_ADMIN'],
274        '/registrationcode/**': ['ROLE_ADMIN'],
275        '/requestmap/**': ['ROLE_ADMIN'],
276        '/securityinfo/**': ['ROLE_ADMIN']
277]
278
279// Needed for sending emails
280grails {
281        mail {
282                host = "smtp.gmail.com"
283                port = 465
284                username = "gscfproject@gmail.com"
285                password = "gscf2010"
286                props = [
287                        "mail.smtp.auth": "true",
288                        "mail.smtp.socketFactory.port": '465',
289                        "mail.smtp.socketFactory.class": "javax.net.ssl.SSLSocketFactory",
290                        "mail.smtp.socketFactory.fallback": "false"
291                ]
292        }
293}
Note: See TracBrowser for help on using the repository browser.