root/trunk/grails-app/conf/Config.groovy @ 1328

Revision 1328, 8.4 KB (checked in by robert@…, 3 years ago)

Added metagenomics module and improved rest controller to give 404 and 401 errors when appropriate

  • Property svn:keywords set to Author Date Rev
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$
12 * $Author$
13 * $Date$
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        error 'org.codehaus.groovy.grails.web.servlet',  //  controllers
153                'org.codehaus.groovy.grails.web.pages', //  GSP
154                'org.codehaus.groovy.grails.web.sitemesh', //  layouts
155                'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
156                'org.codehaus.groovy.grails.web.mapping', // URL mapping
157                'org.codehaus.groovy.grails.commons', // core / classloading
158                'org.codehaus.groovy.grails.plugins', // plugins
159                'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
160                'org.springframework',
161                'org.hibernate'
162
163        warn 'org.mortbay.log'
164
165        //info 'org.codehaus.groovy.grails.web.servlet',
166        //       'org.codehaus.groovy.grails.plugins'
167        //
168        //debug 'org.codehaus.groovy.grails.plugins'
169}
170
171graphviz {
172        // graphviz installation path is dependent on OS
173        // (requirement for class diagram plugin)
174        switch (System.properties["os.name"]) {
175                case "Mac OS X":
176                        // define mac path to Graphviz dot executable
177                        // (install using macports: sudo port install graphviz)
178                        dot.executable = "/opt/local/bin/dot"
179                        break
180                default:
181                        // assume the linux default path
182                        dot.executable = "/usr/bin/dot"
183        }
184}
185
186// cryptography settings
187// @see WizardTaglib.groovy (encrypt)
188// @see TemplateEditorController.groovy (decrypt)
189crypto {
190        shared.secret = RandomStringUtils.random(32, true, true)
191}
192
193// GSCF specific configuration
194gscf {
195        domain = [
196                // importable entities
197                // use: grailsApplication.config.gscf.domain.entities
198                entities: [
199                        // dbnp.data
200                        'dbnp.data.FeatureBase',
201                        'dbnp.data.FeatureType',
202                        'dbnp.data.Ontology',
203                        'dbnp.data.Term',
204
205                        // dbnp.studycapturing
206                        'dbnp.studycapturing.Assay',
207                        'dbnp.studycapturing.AssayModule',
208                        'dbnp.studycapturing.AssayType',
209                        'dbnp.studycapturing.Compound',
210                        'dbnp.studycapturing.Event',
211                        'dbnp.studycapturing.EventGroup',
212                        'dbnp.studycapturing.Person',
213                        'dbnp.studycapturing.PersonAffilitation',
214                        'dbnp.studycapturing.PersonRole',
215                        'dbnp.studycapturing.Publication',
216                        'dbnp.studycapturing.Sample',
217                        'dbnp.studycapturing.SamplingEvent',
218                        'dbnp.studycapturing.Study',
219                        'dbnp.studycapturing.StudyPerson',
220                        'dbnp.studycapturing.Subject',
221                        'dbnp.studycapturing.Template',
222                        'dbnp.studycapturing.TemplateEntity',
223                        'dbnp.studycapturing.TemplateField',
224                        'dbnp.studycapturing.TemplateFieldListItem',
225                        'dbnp.studycapturing.TemplateFieldType'
226                ],
227
228                // importable entities
229                // use: grailsApplication.config.gscf.domain.importableEntities
230                // @see ImporterController
231                importableEntities: [
232                        event: [name: 'Event', entity: 'dbnp.studycapturing.Event', encrypted:''],
233                        sample: [name: 'Sample', entity: 'dbnp.studycapturing.Sample', encrypted:''],
234                        study: [name: 'Study', entity: 'dbnp.studycapturing.Study', encrypted:''],
235                        subject: [name: 'Subject', entity: 'dbnp.studycapturing.Subject', encrypted:''],
236                        samplingevent: [name: 'SamplingEvent', entity: 'dbnp.studycapturing.SamplingEvent', encrypted:'']
237
238                ]
239        ]
240}
241
242// jquery plugin
243grails.views.javascript.library = "jquery"
244
245// Needed for the Spring Security Core plugin:
246grails.plugins.springsecurity.userLookup.userDomainClassName = 'dbnp.authentication.SecUser'
247grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'dbnp.authentication.SecUserSecRole'
248grails.plugins.springsecurity.authority.className = 'dbnp.authentication.SecRole'
249grails.plugins.springsecurity.password.algorithm = 'SHA-256'
250grails.plugins.springsecurity.password.encodeHashAsBase64 = true
251grails.plugins.springsecurity.dao.reflectionSaltSourceProperty = 'username' // Use the persons username as salt for encryption
252grails.plugins.springsecurity.securityConfigType = grails.plugins.springsecurity.SecurityConfigType.Annotation
253grails.plugins.springsecurity.successHandler.targetUrlParameter = 'spring-security-redirect'
254
255// Needed for the (copy of) the Spring Security UI plugin
256grails.plugins.springsecurity.ui.forgotPassword.emailFrom = 'gscf@dbnp.org'
257grails.plugins.springsecurity.ui.forgotPassword.emailSubject = 'Password reset GSCF'
258
259// Make sure the different controllers provided by springsecurity.ui are only accessible by administrators
260// NB: the RegisterController is used for forgotten passwords. It should be accessible by anyone
261grails.plugins.springsecurity.controllerAnnotations.staticRules = [
262        '/user/**': ['ROLE_ADMIN'],
263        '/role/**': ['ROLE_ADMIN'],
264        '/aclclass/**': ['ROLE_ADMIN'],
265        '/aclentry/**': ['ROLE_ADMIN'],
266        '/aclobjectidentity/**': ['ROLE_ADMIN'],
267        '/aclsid/**': ['ROLE_ADMIN'],
268        '/persistentlogin/**': ['ROLE_ADMIN'],
269        '/registrationcode/**': ['ROLE_ADMIN'],
270        '/requestmap/**': ['ROLE_ADMIN'],
271        '/securityinfo/**': ['ROLE_ADMIN']
272]
273
274// Needed for sending emails
275grails {
276        mail {
277                host = "smtp.gmail.com"
278                port = 465
279                username = "gscfproject@gmail.com"
280                password = "gscf2010"
281                props = [
282                        "mail.smtp.auth": "true",
283                        "mail.smtp.socketFactory.port": '465',
284                        "mail.smtp.socketFactory.class": "javax.net.ssl.SSLSocketFactory",
285                        "mail.smtp.socketFactory.fallback": "false"
286                ]
287        }
288}
Note: See TracBrowser for help on using the browser.