From: <ja...@us...> - 2006-09-20 13:39:29
|
Revision: 65 http://svn.sourceforge.net/surveyforge/?rev=65&view=rev Author: javism Date: 2006-09-20 06:39:13 -0700 (Wed, 20 Sep 2006) Log Message: ----------- - Resolved some bugs in DataElement - Added some Tests Modified Paths: -------------- trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/DataElement.java trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/Register.java trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/RegisterDataElement.java trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/domain/StructuredValueDomain.java trunk/surveyforge-core/src/test/resources/testng.xml Modified: trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/DataElement.java =================================================================== --- trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/DataElement.java 2006-09-20 10:58:39 UTC (rev 64) +++ trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/DataElement.java 2006-09-20 13:39:13 UTC (rev 65) @@ -196,15 +196,15 @@ /** * @param variableStructure The variableStructure to set. */ - public void setVariableStructure( DataElement variableStructure ) + protected void setVariableStructure( DataElement variableStructure ) { - if( (variableStructure == null && this.getVariableStructure( ) != null) - || !variableStructure.equals( this.getVariableStructure( ) ) ) - { - if( this.getVariableStructure( ) != null ) this.getVariableStructure( ).removeElement( this ); - this.variableStructure = variableStructure; - if( this.getVariableStructure( ) != null ) this.getVariableStructure( ).addElement( this ); - } + // if( (variableStructure == null && this.getVariableStructure( ) != null) + // || !variableStructure.equals( this.getVariableStructure( ) ) ) + // { + if( this.getVariableStructure( ) != null ) this.getVariableStructure( ).removeElement( this ); + this.variableStructure = variableStructure; + if( this.getVariableStructure( ) != null ) this.getVariableStructure( ).addElement( this ); + // } } /** @@ -247,12 +247,10 @@ { if( componentElement != null ) { - if( !this.getComponentElements( ).contains( componentElement ) ) + if( !this.getComponentElements( ).contains( componentElement ) && this.getValueDomain( ) instanceof StructuredValueDomain ) { - if( componentElement.getVariableStructure( ) != null && !componentElement.getVariableStructure( ).equals( this ) ) - componentElement.getVariableStructure( ).removeElement( componentElement ); - componentElement.variableStructure = this; - this.componentElements.add( componentElement ); + componentElement.setVariableStructure( this ); + // ((StructuredValueDomain) this.getValueDomain( )).addSubDomain( componentElement.getValueDomain( ) ); } else throw new IllegalArgumentException( ); @@ -266,10 +264,14 @@ */ protected void addElement( DataElement componentElement ) { - if( !this.getNameToElementMap( ).containsKey( componentElement.getIdentifier( ) ) ) + if( !this.getNameToElementMap( ).containsKey( componentElement.getIdentifier( ) ) + && this.getValueDomain( ) instanceof StructuredValueDomain ) { this.componentElements.add( componentElement ); + componentElement.variableStructure = this; this.getNameToElementMap( ).put( componentElement.getIdentifier( ), componentElement ); + ((StructuredValueDomain) this.getValueDomain( )).addSubDomain( componentElement.getValueDomain( ) ); + } else throw new IllegalArgumentException( ); @@ -283,7 +285,7 @@ if( componentElement != null ) { this.removeElement( componentElement ); - componentElement.variableStructure = null; + componentElement.setVariableStructure( null ); } else throw new NullPointerException( ); @@ -294,10 +296,13 @@ */ protected void removeElement( DataElement componentElement ) { - if( this.getNameToElementMap( ).containsKey( componentElement.getIdentifier( ) ) ) + if( this.getNameToElementMap( ).containsKey( componentElement.getIdentifier( ) ) + && this.getValueDomain( ) instanceof StructuredValueDomain ) { this.componentElements.remove( componentElement ); this.getNameToElementMap( ).remove( componentElement.getIdentifier( ) ); + componentElement.variableStructure = null; + ((StructuredValueDomain) this.getValueDomain( )).removeSubDomain( componentElement.getValueDomain( ) ); } else throw new IllegalArgumentException( ); Modified: trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/Register.java =================================================================== --- trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/Register.java 2006-09-20 10:58:39 UTC (rev 64) +++ trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/Register.java 2006-09-20 13:39:13 UTC (rev 65) @@ -226,8 +226,13 @@ @Override public boolean equals( Object object ) { - Register otherRegister = (Register) object; - return this.getIdentifier( ).equals( otherRegister.getIdentifier( ) ); + if( object instanceof Register ) + { + Register otherRegister = (Register) object; + return this.getIdentifier( ).equals( otherRegister.getIdentifier( ) ); + } + else + return false; } @Override Modified: trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/RegisterDataElement.java =================================================================== --- trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/RegisterDataElement.java 2006-09-20 10:58:39 UTC (rev 64) +++ trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/RegisterDataElement.java 2006-09-20 13:39:13 UTC (rev 65) @@ -129,7 +129,8 @@ @Override public void removeComponentElement( DataElement componentElement ) { - if( ((Register) this.getRootDataElement( )).getRegisterData( ).getObjectData( ).size( ) > 0 ) + if( !(this.getRootDataElement( ) instanceof Register) + || ((Register) this.getRootDataElement( )).getRegisterData( ).getObjectData( ).size( ) > 0 ) throw new IllegalStateException( ); else super.removeComponentElement( componentElement ); Modified: trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/domain/StructuredValueDomain.java =================================================================== --- trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/domain/StructuredValueDomain.java 2006-09-20 10:58:39 UTC (rev 64) +++ trunk/surveyforge-core/src/main/java/org/surveyforge/core/metadata/domain/StructuredValueDomain.java 2006-09-20 13:39:13 UTC (rev 65) @@ -13,7 +13,6 @@ import org.hibernate.annotations.IndexColumn; import org.surveyforge.core.data.ObjectData; -import org.surveyforge.core.metadata.ValueDomain; @Entity public class StructuredValueDomain extends AbstractValueDomain Modified: trunk/surveyforge-core/src/test/resources/testng.xml =================================================================== --- trunk/surveyforge-core/src/test/resources/testng.xml 2006-09-20 10:58:39 UTC (rev 64) +++ trunk/surveyforge-core/src/test/resources/testng.xml 2006-09-20 13:39:13 UTC (rev 65) @@ -4,6 +4,7 @@ <test name="All"> <packages> <package name="org.surveyforge.core.metadata" /> + <package name="org.surveyforge.core.metadata.domain" /> <package name="org.surveyforge.core.data" /> <package name="org.surveyforge.core.survey" /> </packages> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |