|
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.
|