Changeset 2049 for trunk/grails-app/services/dbnp
- Timestamp:
- Oct 6, 2011, 1:19:21 PM (11 years ago)
- Location:
- trunk/grails-app/services/dbnp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/services/dbnp/modules/ModuleCommunicationService.groovy
r1991 r2049 18 18 import javax.servlet.http.HttpServletResponse 19 19 import org.codehaus.groovy.grails.commons.ConfigurationHolder 20 import org.hibernate.*; 20 import org.hibernate.* 21 import dbnp.authentication.SecUser; 21 22 22 23 class ModuleCommunicationService implements Serializable { … … 105 106 * @return JSON JSON object of the parsed text 106 107 */ 107 def callModuleMethod( String consumer, String restUrl, String args = null, String requestMethod = "GET" 108 if (! authenticationService.isLoggedIn()) {108 def callModuleMethod( String consumer, String restUrl, String args = null, String requestMethod = "GET", SecUser remoteUser = null) { 109 if (!remoteUser && !authenticationService.isLoggedIn()) { 109 110 // should not happen because we can only get here when a user is 110 111 // logged in... … … 124 125 125 126 // put the session token to work 126 authenticationService.logInRemotely( consumer, sessionToken, authenticationService.getLoggedInUser())127 127 authenticationService.logInRemotely( consumer, sessionToken, remoteUser ?: authenticationService.getLoggedInUser()) 128 128 129 // Append the sessionToken to the parameters 129 130 if( !args ) { -
trunk/grails-app/services/dbnp/studycapturing/AssayService.groovy
r1969 r2049 19 19 import org.dbnp.gdt.RelTime 20 20 import org.dbnp.gdt.TemplateFieldType 21 import java.text.DecimalFormat22 21 import java.text.NumberFormat 23 import org.dbnp.gdt.Template 24 import org.dbnp.gdt.TemplateField 22 import dbnp.authentication.SecUser 25 23 26 24 class AssayService { … … 39 37 * values 40 38 */ 41 def collectAssayTemplateFields(assay, samples = null) throws Exception {39 def collectAssayTemplateFields(assay, samples, SecUser remoteUser = null) throws Exception { 42 40 43 41 def getUsedTemplateFields = { templateEntities -> … … 54 52 55 53 try { 56 moduleMeasurements = requestModuleMeasurementNames(assay )54 moduleMeasurements = requestModuleMeasurementNames(assay, remoteUser) 57 55 } catch (e) { 58 56 moduleError = e.message … … 67 65 'Event Group' : [[name: 'name', comment: 'Name of Event Group', displayName: 'name']], 68 66 'Module Measurement Data': moduleMeasurements, 69 'Module Error':moduleError67 'Module Error': moduleError 70 68 ] 71 69 … … 87 85 * @return The assay data structure as described above. 88 86 */ 89 def collectAssayData(assay, fieldMap, measurementTokens, samples = null ) throws Exception {87 def collectAssayData(assay, fieldMap, measurementTokens, samples = null, SecUser remoteUser = null) throws Exception { 90 88 91 89 def collectFieldValuesForTemplateEntities = { headerFields, templateEntities -> … … 197 195 198 196 try { 199 moduleMeasurementData = requestModuleMeasurements(assay, measurementTokens, samples )197 moduleMeasurementData = requestModuleMeasurements(assay, measurementTokens, samples, remoteUser) 200 198 } catch (e) { 201 199 moduleMeasurementData = ['error' : ['Module error, module not available or unknown assay'] * samples.size() ] … … 205 203 } 206 204 207 [ 208 209 210 211 212 'ModuleError' :moduleError213 205 [ 'Subject Data' : getFieldValues(samples, fieldMap['Subject Data'], 'parentSubject'), 206 'Sampling Event Data' : getFieldValues(samples, fieldMap['Sampling Event Data'], 'parentEvent'), 207 'Sample Data' : getFieldValues(samples, fieldMap['Sample Data']), 208 'Event Group' : eventFieldMap, 209 'Module Measurement Data' : moduleMeasurementData, 210 'Module Error' : moduleError 211 ] 214 212 } 215 213 … … 269 267 * @return 270 268 */ 271 def requestModuleMeasurementNames(assay ) {269 def requestModuleMeasurementNames(assay, SecUser remoteUser = null) { 272 270 273 271 def moduleUrl = assay.module.url … … 278 276 279 277 try { 280 jsonArray = moduleCommunicationService.callModuleMethod(moduleUrl, path, query, "POST" )278 jsonArray = moduleCommunicationService.callModuleMethod(moduleUrl, path, query, "POST", remoteUser) 281 279 } catch (e) { 282 280 throw new Exception("An error occured while trying to get the measurement tokens from the $assay.module.name. \ … … 303 301 * @return 304 302 */ 305 def requestModuleMeasurements(assay, inputMeasurementTokens, samples ) {303 def requestModuleMeasurements(assay, inputMeasurementTokens, samples, SecUser remoteUser = null) { 306 304 307 305 def moduleUrl = assay.module.url … … 320 318 321 319 try { 322 (sampleTokens, measurementTokens, moduleData) = moduleCommunicationService.callModuleMethod(moduleUrl, path, query, "POST" )320 (sampleTokens, measurementTokens, moduleData) = moduleCommunicationService.callModuleMethod(moduleUrl, path, query, "POST", remoteUser) 323 321 } catch (e) { 324 322 throw new Exception("An error occured while trying to get the measurement data from the $assay.module.name. \
Note: See TracChangeset
for help on using the changeset viewer.