Changeset 1912
- Timestamp:
- Jun 6, 2011, 10:21:12 AM (12 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/dbnp/studycapturing/StudyWizardController.groovy
r1905 r1912 1731 1731 eventGroup.subjects.each() { subject -> 1732 1732 // find all samples for this subject / event 1733 flow.study.samples.findAll { (it.parentEvent.equals(event) && it.parentSubject.equals(subject) ) }.each() { 1733 flow.study.samples.findAll { 1734 ( 1735 it.parentEvent.equals(event) && 1736 it.parentSubject.equals(subject) && 1737 it.parentEventGroup.equals(eventGroup) 1738 ) 1739 }.each() { 1734 1740 // delete this sample 1735 1741 flow.study.deleteSample( it ) -
trunk/grails-app/domain/dbnp/studycapturing/Study.groovy
r1911 r1912 348 348 */ 349 349 void deleteEventGroup(EventGroup eventGroup) { 350 println "deleting eventgroup: ${eventGroup}"351 352 350 // If the event group contains sampling events 353 351 if (eventGroup.samplingEvents) { 354 println "got sampling events?"355 352 // remove all samples that originate from this eventGroup 356 353 if (eventGroup.samplingEvents.size()) { 357 println "yes"358 // find all samples related to this eventGroup359 // - subject comparison is relatively straightforward and360 // behaves as expected361 // - event comparison behaves strange, so now we compare362 // 1. database id's or,363 // 2. object identifiers or,364 // 3. objects itself365 // this seems now to work as expected366 // - event group comparison: in progress, doesn't always seem to work but doesn't fail either?367 /*368 this.samples.findAll { sample ->369 (370 (371 (sample.parentEventGroup.id && eventGroup.id && sample.parentEventGroup.id == eventGroup.id)372 ||373 (sample.parentEventGroup.getIdentifier() == eventGroup.getIdentifier())374 ||375 sample.parentEventGroup.equals(eventGroup)376 )377 &&378 (eventGroup.subjects.findAll {379 it.equals(sample.parentSubject)380 })381 &&382 (eventGroup.samplingEvents.findAll {383 (384 (it.id && sample.parentEvent.id && it.id == sample.parentEvent.id)385 ||386 (it.getIdentifier() == sample.parentEvent.getIdentifier())387 ||388 it.equals(sample.parentEvent)389 )390 })391 )392 }393 */394 354 // find all samples that 395 355 // - are part of this study 396 println "check samples:"397 this.samples.each { sample ->398 println "sample ${sample}: ${(sample.parentEventGroup.id && eventGroup.id && sample.parentEventGroup.id == eventGroup.id)} - ${(sample.parentEventGroup.getIdentifier() == eventGroup.getIdentifier())} - ${sample.parentEventGroup.equals(eventGroup)}"399 }400 401 println "delete samples:"402 356 this.samples.findAll { sample -> 403 357 ( … … 414 368 .each() { sample -> 415 369 // remove sample from study 416 println sample417 370 this.deleteSample(sample) 418 371 } … … 420 373 421 374 // remove all samplingEvents from this eventGroup 422 println "remove sampling events from this eventgroup:"423 375 eventGroup.samplingEvents.findAll {}.each() { 424 println it425 376 eventGroup.removeFromSamplingEvents(it) 426 377 } … … 428 379 429 380 // If the event group contains subjects 430 println "got subjects?"431 381 if (eventGroup.subjects) { 432 println "yes, remove subjects from eventgroup:"433 382 // remove all subject from this eventGroup 434 383 eventGroup.subjects.findAll {}.each() { 435 println it436 384 eventGroup.removeFromSubjects(it) 437 385 } … … 439 387 440 388 // remove the eventGroup from the study 441 println "remove eventgroup from study"442 389 this.removeFromEventGroups(eventGroup) 443 390 444 391 // Also here, contrary to documentation, an extra delete() is needed 445 392 // otherwise cascaded deletes are not properly performed 446 println "final delete..."447 println "-----"448 393 eventGroup.delete() 449 394 }
Note: See TracChangeset
for help on using the changeset viewer.