Changeset 1911 for trunk/grails-app


Ignore:
Timestamp:
Jun 1, 2011, 7:46:30 PM (8 years ago)
Author:
work@…
Message:
  • changed delete eventgroup logic and added debugging
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r1910 r1911  
    348348         */
    349349        void deleteEventGroup(EventGroup eventGroup) {
     350println "deleting eventgroup: ${eventGroup}"
     351
    350352                // If the event group contains sampling events
    351353                if (eventGroup.samplingEvents) {
     354println "got sampling events?"
    352355                        // remove all samples that originate from this eventGroup
    353356                        if (eventGroup.samplingEvents.size()) {
     357println "yes"
    354358                                // find all samples related to this eventGroup
    355359                                // - subject comparison is relatively straightforward and
     
    361365                                //   this seems now to work as expected
    362366                                // - event group comparison: in progress, doesn't always seem to work but doesn't fail either?
     367/*
    363368                                this.samples.findAll { sample ->
    364369                                        (
     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                                                        &&
    365378                                                        (eventGroup.subjects.findAll {
    366379                                                                it.equals(sample.parentSubject)
     
    376389                                                                                )
    377390                                                        })
    378                                                         &&
    379                                                         eventGroup.equals(sample.parentEventGroup)
    380391                                        )
    381                                 }.each() { sample ->
     392                                }
     393*/
     394                                // find all samples that
     395                                //      - are part of this study
     396println "check samples:"
     397this.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
     401println "delete samples:"
     402                                this.samples.findAll { sample ->
     403                                        (
     404                                                // - belong to this eventGroup
     405                                                (
     406                                                        (sample.parentEventGroup.id && eventGroup.id && sample.parentEventGroup.id == eventGroup.id)
     407                                                        ||
     408                                                        (sample.parentEventGroup.getIdentifier() == eventGroup.getIdentifier())
     409                                                        ||
     410                                                        sample.parentEventGroup.equals(eventGroup)
     411                                                )
     412                                        )
     413                                }
     414                                .each() { sample ->
    382415                                        // remove sample from study
     416println sample
    383417                                        this.deleteSample(sample)
    384418                                }
     
    386420
    387421                        // remove all samplingEvents from this eventGroup
     422println "remove sampling events from this eventgroup:"
    388423                        eventGroup.samplingEvents.findAll {}.each() {
     424println it
    389425                                eventGroup.removeFromSamplingEvents(it)
    390426                        }
     
    392428
    393429                // If the event group contains subjects
     430println "got subjects?"
    394431                if (eventGroup.subjects) {
     432println "yes, remove subjects from eventgroup:"
    395433                        // remove all subject from this eventGroup
    396434                        eventGroup.subjects.findAll {}.each() {
     435println it
    397436                                eventGroup.removeFromSubjects(it)
    398437                        }
     
    400439
    401440                // remove the eventGroup from the study
     441println "remove eventgroup from study"
    402442                this.removeFromEventGroups(eventGroup)
    403443
    404444                // Also here, contrary to documentation, an extra delete() is needed
    405445                // otherwise cascaded deletes are not properly performed
     446println "final delete..."
     447println "-----"
    406448                eventGroup.delete()
    407449        }
Note: See TracChangeset for help on using the changeset viewer.