Changeset 1912 for trunk


Ignore:
Timestamp:
Jun 6, 2011, 10:21:12 AM (8 years ago)
Author:
work@…
Message:

Resolves #476

Location:
trunk/grails-app
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/studycapturing/StudyWizardController.groovy

    r1905 r1912  
    17311731                                                eventGroup.subjects.each() { subject ->
    17321732                                                        // 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() {
    17341740                                                                // delete this sample
    17351741                                                                flow.study.deleteSample( it )
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r1911 r1912  
    348348         */
    349349        void deleteEventGroup(EventGroup eventGroup) {
    350 println "deleting eventgroup: ${eventGroup}"
    351 
    352350                // If the event group contains sampling events
    353351                if (eventGroup.samplingEvents) {
    354 println "got sampling events?"
    355352                        // remove all samples that originate from this eventGroup
    356353                        if (eventGroup.samplingEvents.size()) {
    357 println "yes"
    358                                 // find all samples related to this eventGroup
    359                                 // - subject comparison is relatively straightforward and
    360                                 //   behaves as expected
    361                                 // - event comparison behaves strange, so now we compare
    362                                 //              1. database id's or,
    363                                 //              2. object identifiers or,
    364                                 //              3. objects itself
    365                                 //   this seems now to work as expected
    366                                 // - 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 */
    394354                                // find all samples that
    395355                                //      - 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:"
    402356                                this.samples.findAll { sample ->
    403357                                        (
     
    414368                                .each() { sample ->
    415369                                        // remove sample from study
    416 println sample
    417370                                        this.deleteSample(sample)
    418371                                }
     
    420373
    421374                        // remove all samplingEvents from this eventGroup
    422 println "remove sampling events from this eventgroup:"
    423375                        eventGroup.samplingEvents.findAll {}.each() {
    424 println it
    425376                                eventGroup.removeFromSamplingEvents(it)
    426377                        }
     
    428379
    429380                // If the event group contains subjects
    430 println "got subjects?"
    431381                if (eventGroup.subjects) {
    432 println "yes, remove subjects from eventgroup:"
    433382                        // remove all subject from this eventGroup
    434383                        eventGroup.subjects.findAll {}.each() {
    435 println it
    436384                                eventGroup.removeFromSubjects(it)
    437385                        }
     
    439387
    440388                // remove the eventGroup from the study
    441 println "remove eventgroup from study"
    442389                this.removeFromEventGroups(eventGroup)
    443390
    444391                // Also here, contrary to documentation, an extra delete() is needed
    445392                // otherwise cascaded deletes are not properly performed
    446 println "final delete..."
    447 println "-----"
    448393                eventGroup.delete()
    449394        }
Note: See TracChangeset for help on using the changeset viewer.