- Timestamp:
- Mar 10, 2011, 9:54:52 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/dbnp/studycapturing/SimpleWizardController.groovy
r1611 r1612 717 717 // Determine entity class and add a parent. Add the entity to the study 718 718 def preferredIdentifier = importerService.givePreferredIdentifier( entity.class ); 719 def equalClosure = { it.get FieldValue( preferredIdentifier.name ) == entity.getFieldValue( preferredIdentifier.name) }719 def equalClosure = { it.getIdentifier() == entity.getIdentifier() } 720 720 def entityName = entity.class.name[ entity.class.name.lastIndexOf( "." ) + 1 .. -1 ] 721 721 … … 724 724 switch( entity.class ) { 725 725 case Sample: 726 if( ! preferredIdentifier || !study.samples?.find( equalClosure ) ) {726 if( !study.samples?.find( equalClosure ) ) { 727 727 study.addToSamples( entity ); 728 728 } … … 743 743 break; 744 744 case Subject: 745 // Subjects should have unique names; if the user has entered the same name multiple times, 746 // the subject will be renamed 747 def subjectFound = study.subjects?.find( equalClosure ) ; 748 if( preferredIdentifier && subjectFound ) { 749 def baseName = entity.getFieldValue( preferredIdentifier.name ) 750 def counter = 1; 745 if( !study.samples?.find( equalClosure ) ) { 751 746 752 while( study.subjects?.find { it.getFieldValue( preferredIdentifier.name ) == entity.getFieldValue( preferredIdentifier.name ) } ) { 753 entity.setFieldValue( preferredIdentifier.name, baseName + " (" + counter++ + ")" ) 747 if( preferredIdentifier ) { 748 // Subjects without a name should just be called 'subject' 749 if( !entity.getFieldValue( preferredIdentifier.name ) ) 750 entity.setFieldValue( preferredIdentifier.name, "Subject" ); 751 752 // Subjects should have unique names; if the user has entered the same name multiple times, 753 // the subject will be renamed 754 def baseName = entity.getFieldValue( preferredIdentifier.name ) 755 def counter = 2; 756 757 while( study.subjects?.find { it.getFieldValue( preferredIdentifier.name ) == entity.getFieldValue( preferredIdentifier.name ) } ) { 758 entity.setFieldValue( preferredIdentifier.name, baseName + " (" + counter++ + ")" ) 759 } 754 760 } 761 762 study.addToSubjects( entity ); 763 755 764 } 756 study.addToSubjects( entity );757 765 758 766 break; 759 767 case Event: 760 if( ! preferredIdentifier || !study.events?.find( equalClosure ) ) {768 if( !study.events?.find( equalClosure ) ) { 761 769 study.addToEvents( entity ); 762 770 } … … 769 777 } 770 778 771 if( ! preferredIdentifier || !study.samplingEvents?.find( equalClosure ) ) {779 if( !study.samplingEvents?.find( equalClosure ) ) { 772 780 study.addToSamplingEvents( entity ); 773 781 }
Note: See TracChangeset
for help on using the changeset viewer.