You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ke...@apache.org on 2010/11/14 20:39:56 UTC

svn commit: r1035055 - in /incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis: extensions/sql/objectstore/common/ runtime/testsystem/dataclasses/

Author: kevin
Date: Sun Nov 14 19:39:56 2010
New Revision: 1035055

URL: http://svn.apache.org/viewvc?rev=1035055&view=rev
Log:
Re-enabled lazy load testing - it turns out that the framework was automatically resolving uninitialised field when the getText() method was called. Test now checks "text" value directly.

Modified:
    incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/extensions/sql/objectstore/common/SqlIntegrationTestCommon.java
    incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SimpleClassTwo.java
    incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SqlDataClass.java

Modified: incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/extensions/sql/objectstore/common/SqlIntegrationTestCommon.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/extensions/sql/objectstore/common/SqlIntegrationTestCommon.java?rev=1035055&r1=1035054&r2=1035055&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/extensions/sql/objectstore/common/SqlIntegrationTestCommon.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/extensions/sql/objectstore/common/SqlIntegrationTestCommon.java Sun Nov 14 19:39:56 2010
@@ -273,6 +273,19 @@ public abstract class SqlIntegrationTest
 		getSingletonInstance().setState(1);
 	}
 
+	public void testSimpleClassCollection1Lazy() {
+		SqlDataClass sqlDataClass = SqlIntegrationTestSingleton.getPerson();
+		List<SimpleClass> collection = sqlDataClass.simpleClasses1;// getSimpleClasses1();
+
+		assertEquals("collection size is not equal!", collection.size(),
+				simpleClassList1.size());
+		/*
+		 * if (collection.size() == 0) { SqlDataClassFactory factory =
+		 * SqlIntegrationTestSingleton .getSqlDataClassFactory();
+		 * factory.resolve(sqlDataClass); }
+		 */
+	}
+
 	/**
 	 * Test {@link SqlDataClass} {@link String} field.
 	 * 
@@ -417,17 +430,12 @@ public abstract class SqlIntegrationTest
 	 * string); } }
 	 */
 
-	public void testSimpleClassCollection1Lazy() {
+	public void testSingleReferenceLazy() {
 		SqlDataClass sqlDataClass = SqlIntegrationTestSingleton.getPerson();
-		List<SimpleClass> collection = sqlDataClass.getSimpleClasses1();
-
-		// assertEquals("collection size is not equal!",
-		// SqlIntegrationTestCommon.simpleClassList1.size(),
-		// collection.size());
-		if (collection.size() == 0) {
-			SqlDataClassFactory factory = SqlIntegrationTestSingleton
-					.getSqlDataClassFactory();
-			factory.resolve(sqlDataClass);
+		SimpleClassTwo a = sqlDataClass.getSimpleClassTwo();
+		if (getProperties().getProperty("isis.persistence") != "in-memory") {
+			assertEquals(null, a.text); // must check direct value, as
+			// framework can auto-resolve, if you use getText()
 		}
 	}
 
@@ -468,22 +476,18 @@ public abstract class SqlIntegrationTest
 		}
 	}
 
-	/*
-	 * public void testSingleReferenceLazy() { SqlDataClass sqlDataClass =
-	 * SqlIntegrationTestSingleton.getPerson(); SimpleClassTwo a =
-	 * sqlDataClass.getSimpleClassTwo(); if
-	 * (getProperties().getProperty("isis.persistence") != "in-memory") {
-	 * assertEquals(null, a.getText()); } }
-	 */
-
-	/*
-	 * public void testSimpleClassTwoReferenceLazy() { SqlDataClass sqlDataClass
-	 * = SqlIntegrationTestSingleton.getPerson(); List<SimpleClass> collection =
-	 * sqlDataClass.getSimpleClasses1(); if
-	 * (getProperties().getProperty("isis.persistence") != "in-memory") { for
-	 * (SimpleClass simpleClass : collection) { SimpleClassTwo a =
-	 * simpleClass.getSimpleClassTwoA(); assertEquals(null, a.getText()); } } }
-	 */
+	public void testSimpleClassTwoReferenceLazy() {
+		SqlDataClass sqlDataClass = SqlIntegrationTestSingleton.getPerson();
+		List<SimpleClass> collection = sqlDataClass.getSimpleClasses1();
+		if (getProperties().getProperty("isis.persistence") != "in-memory") {
+			for (SimpleClass simpleClass : collection) {
+				SimpleClassTwo a = simpleClass.getSimpleClassTwoA();
+				assertEquals(null, a.text); // must check direct value, as
+											// framework can auto-resolve, if
+											// you use getText()
+			}
+		}
+	}
 
 	public void testSingleReferenceResolve() {
 		SqlDataClassFactory factory = SqlIntegrationTestSingleton

Modified: incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SimpleClassTwo.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SimpleClassTwo.java?rev=1035055&r1=1035054&r2=1035055&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SimpleClassTwo.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SimpleClassTwo.java Sun Nov 14 19:39:56 2010
@@ -17,43 +17,45 @@
  *  under the License.
  */
 
+/**
+ * 
+ */
+package org.apache.isis.runtime.testsystem.dataclasses;
+
+import org.apache.isis.applib.AbstractDomainObject;
+
+/**
+ * @author Kevin
+ * 
+ */
+public class SimpleClassTwo extends AbstractDomainObject {
+	public String title() {
+		return text;
+	}
+
+	// {{ String type
+	public String text;
+
+	public String getText() {
+		return text;
+	}
+
+	public void setText(final String text) {
+		this.text = text;
+	}
+
+	// }}
+
+	// {{ Value
+	private Integer integer;
+
+	public Integer getValue() {
+		return integer;
+	}
+
+	public void setValue(final Integer integer) {
+		this.integer = integer;
+	}
+	// }}
 
-/**
- * 
- */
-package org.apache.isis.runtime.testsystem.dataclasses;
-
-import org.apache.isis.applib.AbstractDomainObject;
-
-/**
- * @author Kevin
- *
- */
-public class SimpleClassTwo extends AbstractDomainObject {
-    public String title() {
-        return text;
-    }
-    // {{ String type
-    private String text;
-    public String getText() {
-        return text;
-    }
-    public void setText(final String text) {
-        this.text = text;
-    }
-    // }}
-    
-    // {{ Value
-	private Integer integer;
-
-	public Integer getValue() {
-		return integer;
-	}
-
-	public void setValue(final Integer integer) {
-		this.integer = integer;
-	}
-	// }}
-
-
-}
+}

Modified: incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SqlDataClass.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SqlDataClass.java?rev=1035055&r1=1035054&r2=1035055&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SqlDataClass.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/sql/tests-common/src/main/java/org/apache/isis/runtime/testsystem/dataclasses/SqlDataClass.java Sun Nov 14 19:39:56 2010
@@ -17,261 +17,292 @@
  *  under the License.
  */
 
+package org.apache.isis.runtime.testsystem.dataclasses;
 
-package org.apache.isis.runtime.testsystem.dataclasses;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.applib.AbstractDomainObject;
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.value.Color;
-import org.apache.isis.applib.value.Date;
-import org.apache.isis.applib.value.DateTime;
-import org.apache.isis.applib.value.Image;
-import org.apache.isis.applib.value.Money;
-import org.apache.isis.applib.value.Password;
-import org.apache.isis.applib.value.Percentage;
-import org.apache.isis.applib.value.Time;
-import org.apache.isis.applib.value.TimeStamp;
-import org.apache.isis.extensions.sql.objectstore.common.SqlIntegrationTestCommon;
-
-/**
- * The SqlDataClass is a test class used in the sql-persistor integration tests.
- * It's properties are stored and retrieved using the persistor, to confirm
- * accurate persistence behaviour.
- * 
- * Each property here requires an equivalent test in {@link SqlIntegrationTestCommon}
- * 
- * @author Kevin Meyer
- *
- */
-
-public class SqlDataClass extends AbstractDomainObject{
-    public String title() {
-        return string;
-    }
-
-    // Isis Date Type
-    // {{ Date
-    private Date date;
-    public Date getDate() {
-        return date;
-    }
-    public void setDate(final Date date) {
-        this.date = date;
-    }
-    // }}
-
-    // {{ String type
-    private String string;
-    public String getString() {
-        return string;
-    }
-    public void setString(final String string) {
-        this.string = string;
-    }
-    // }}
-
-    // SQL Date Type
-    // {{ SqlDate
-	private java.sql.Date sqlDate;
-
-	@MemberOrder(sequence = "1")
-	public java.sql.Date getSqlDate() {
-		return sqlDate;
-	}
-
-	public void setSqlDate(final java.sql.Date sqlDate) {
-		this.sqlDate = sqlDate;
-	}
-	// }}
-
-	// {{ Money
-	private Money money;
-
-	@MemberOrder(sequence = "1")
-	public Money getMoney() {
-		return money;
-	}
-
-	public void setMoney(final Money money) {
-		this.money = money;
-	}
-	// }}
-
-	// {{ DateTime
-	private DateTime dateTime;
-
-	@MemberOrder(sequence = "1")
-	public DateTime getDateTime() {
-		return dateTime;
-	}
-
-	public void setDateTime(final DateTime dateTime) {
-		this.dateTime = dateTime;
-	}
-	// }}
-
-	// {{ TimeStamp
-	private TimeStamp timeStamp;
-
-	@MemberOrder(sequence = "1")
-	public TimeStamp getTimeStamp() {
-		return timeStamp;
-	}
-
-	public void setTimeStamp(final TimeStamp timeStamp) {
-		this.timeStamp = timeStamp;
-	}
-	// }}
-
-
-	// Color, Image, Password, Percentage, Time
-	// {{ Time
-	private Time time;
-	@MemberOrder(sequence = "1")
-	public Time getTime() {
-		return time;
-	}
-	public void setTime(final Time time) {
-		this.time = time;
-	}
-	// }}
-
-
-	// {{ Color
-	private Color color;
-	@MemberOrder(sequence = "1")
-	public Color getColor() {
-		return color;
-	}
-	public void setColor(final Color color) {
-		this.color = color;
-	}
-	// }}
-	
-	// {{ Image
-	private Image image;
-	@MemberOrder(sequence = "1")
-	public Image getImage() {
-		return image;
-	}
-	public void setImage(final Image image) {
-		this.image = image;
-	}
-	// }}
-
-	// {{ Password
-	private Password password;
-	@MemberOrder(sequence = "1")
-	public Password getPassword() {
-		return password;
-	}
-	public void setPassword(final Password password) {
-		this.password = password;
-	}
-	// }}
-
-	// {{ Percentage
-	private Percentage percentage;
-	@MemberOrder(sequence = "1")
-	public Percentage getPercentage() {
-		return percentage;
-	}
-	public void setPercentage(final Percentage percentage) {
-		this.percentage = percentage;
-	}
-	// }}
-
-	// {{ SimpleClasses
-	private List<SimpleClass> simpleClasses1 = new ArrayList<SimpleClass>();
-
-	@MemberOrder(sequence = "1")
-	public List<SimpleClass> getSimpleClasses1() {
-		return simpleClasses1;
-	}
-
-	public void setSimpleClasses1(final List<SimpleClass> simpleClasses) {
-		this.simpleClasses1 = simpleClasses;
-	}
-	public void addToSimpleClasses1(final SimpleClass simpleClass) {
-		// check for no-op
-		if (simpleClass == null || getSimpleClasses1().contains(simpleClass)) {
-			return;
-		}
-		// associate new
-		getSimpleClasses1().add(simpleClass);
-		// additional business logic
-		onAddToSimpleClasses1(simpleClass);
-	}
-
-	public void removeFromSimpleClasses1(final SimpleClass simpleClass) {
-		// check for no-op
-		if (simpleClass == null || !getSimpleClasses1().contains(simpleClass)) {
-			return;
-		}
-		// dissociate existing
-		getSimpleClasses1().remove(simpleClass);
-		// additional business logic
-		onRemoveFromSimpleClasses1(simpleClass);
-	}
-
-	protected void onAddToSimpleClasses1(final SimpleClass simpleClass) {
-	}
-	protected void onRemoveFromSimpleClasses1(final SimpleClass simpleClass) {
-	}
-	// }}
-
-	// {{ SimpleClasses2
-	/**/
-	private List<SimpleClass> simpleClasses2 = new ArrayList<SimpleClass>();
-
-	@MemberOrder(sequence = "1")
-	public List<SimpleClass> getSimpleClasses2() {
-		return simpleClasses2;
-	}
-
-	public void setSimpleClasses2(final List<SimpleClass> simpleClasses) {
-		this.simpleClasses2 = simpleClasses;
-	}
-	public void addToSimpleClasses2(final SimpleClass simpleClass) {
-		// check for no-op
-		if (simpleClass == null || getSimpleClasses2().contains(simpleClass)) {
-			return;
-		}
-		// associate new
-		getSimpleClasses2().add(simpleClass);
-		// additional business logic
-		onAddToSimpleClasses2(simpleClass);
-	}
-
-	public void removeFromSimpleClasses2(final SimpleClass simpleClass) {
-		// check for no-op
-		if (simpleClass == null || !getSimpleClasses2().contains(simpleClass)) {
-			return;
-		}
-		// dissociate existing
-		getSimpleClasses2().remove(simpleClass);
-		// additional business logic
-		onRemoveFromSimpleClasses2(simpleClass);
-	}
-
-	protected void onAddToSimpleClasses2(final SimpleClass simpleClass) {
-	}
-	protected void onRemoveFromSimpleClasses2(final SimpleClass simpleClass) {
-	}
-	/**/
-	// }}
-	
-    // {{ SimpleClassTwo
-	private SimpleClassTwo simplyClassTwo;
-	public SimpleClassTwo getSimpleClassTwo() {
-		return simplyClassTwo;
-	}
-	public void setSimpleClassTwo(final SimpleClassTwo simpleClassTwo) {
-		this.simplyClassTwo = simpleClassTwo;
-	}
-	// }}
-}
-// Copyright (c) Kevin Meyer, www.kmz.co.za.
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Color;
+import org.apache.isis.applib.value.Date;
+import org.apache.isis.applib.value.DateTime;
+import org.apache.isis.applib.value.Image;
+import org.apache.isis.applib.value.Money;
+import org.apache.isis.applib.value.Password;
+import org.apache.isis.applib.value.Percentage;
+import org.apache.isis.applib.value.Time;
+import org.apache.isis.applib.value.TimeStamp;
+import org.apache.isis.extensions.sql.objectstore.common.SqlIntegrationTestCommon;
+
+/**
+ * The SqlDataClass is a test class used in the sql-persistor integration tests.
+ * It's properties are stored and retrieved using the persistor, to confirm
+ * accurate persistence behaviour.
+ * 
+ * Each property here requires an equivalent test in
+ * {@link SqlIntegrationTestCommon}
+ * 
+ * @author Kevin Meyer
+ * 
+ */
+
+public class SqlDataClass extends AbstractDomainObject {
+	public String title() {
+		return string;
+	}
+
+	// Isis Date Type
+	// {{ Date
+	private Date date;
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(final Date date) {
+		this.date = date;
+	}
+
+	// }}
+
+	// {{ String type
+	private String string;
+
+	public String getString() {
+		return string;
+	}
+
+	public void setString(final String string) {
+		this.string = string;
+	}
+
+	// }}
+
+	// SQL Date Type
+	// {{ SqlDate
+	private java.sql.Date sqlDate;
+
+	@MemberOrder(sequence = "1")
+	public java.sql.Date getSqlDate() {
+		return sqlDate;
+	}
+
+	public void setSqlDate(final java.sql.Date sqlDate) {
+		this.sqlDate = sqlDate;
+	}
+
+	// }}
+
+	// {{ Money
+	private Money money;
+
+	@MemberOrder(sequence = "1")
+	public Money getMoney() {
+		return money;
+	}
+
+	public void setMoney(final Money money) {
+		this.money = money;
+	}
+
+	// }}
+
+	// {{ DateTime
+	private DateTime dateTime;
+
+	@MemberOrder(sequence = "1")
+	public DateTime getDateTime() {
+		return dateTime;
+	}
+
+	public void setDateTime(final DateTime dateTime) {
+		this.dateTime = dateTime;
+	}
+
+	// }}
+
+	// {{ TimeStamp
+	private TimeStamp timeStamp;
+
+	@MemberOrder(sequence = "1")
+	public TimeStamp getTimeStamp() {
+		return timeStamp;
+	}
+
+	public void setTimeStamp(final TimeStamp timeStamp) {
+		this.timeStamp = timeStamp;
+	}
+
+	// }}
+
+	// Color, Image, Password, Percentage, Time
+	// {{ Time
+	private Time time;
+
+	@MemberOrder(sequence = "1")
+	public Time getTime() {
+		return time;
+	}
+
+	public void setTime(final Time time) {
+		this.time = time;
+	}
+
+	// }}
+
+	// {{ Color
+	private Color color;
+
+	@MemberOrder(sequence = "1")
+	public Color getColor() {
+		return color;
+	}
+
+	public void setColor(final Color color) {
+		this.color = color;
+	}
+
+	// }}
+
+	// {{ Image
+	private Image image;
+
+	@MemberOrder(sequence = "1")
+	public Image getImage() {
+		return image;
+	}
+
+	public void setImage(final Image image) {
+		this.image = image;
+	}
+
+	// }}
+
+	// {{ Password
+	private Password password;
+
+	@MemberOrder(sequence = "1")
+	public Password getPassword() {
+		return password;
+	}
+
+	public void setPassword(final Password password) {
+		this.password = password;
+	}
+
+	// }}
+
+	// {{ Percentage
+	private Percentage percentage;
+
+	@MemberOrder(sequence = "1")
+	public Percentage getPercentage() {
+		return percentage;
+	}
+
+	public void setPercentage(final Percentage percentage) {
+		this.percentage = percentage;
+	}
+
+	// }}
+
+	// {{ SimpleClasses
+	public List<SimpleClass> simpleClasses1 = new ArrayList<SimpleClass>();
+
+	@MemberOrder(sequence = "1")
+	public List<SimpleClass> getSimpleClasses1() {
+		return simpleClasses1;
+	}
+
+	public void setSimpleClasses1(final List<SimpleClass> simpleClasses) {
+		this.simpleClasses1 = simpleClasses;
+	}
+
+	public void addToSimpleClasses1(final SimpleClass simpleClass) {
+		// check for no-op
+		if (simpleClass == null || getSimpleClasses1().contains(simpleClass)) {
+			return;
+		}
+		// associate new
+		getSimpleClasses1().add(simpleClass);
+		// additional business logic
+		onAddToSimpleClasses1(simpleClass);
+	}
+
+	public void removeFromSimpleClasses1(final SimpleClass simpleClass) {
+		// check for no-op
+		if (simpleClass == null || !getSimpleClasses1().contains(simpleClass)) {
+			return;
+		}
+		// dissociate existing
+		getSimpleClasses1().remove(simpleClass);
+		// additional business logic
+		onRemoveFromSimpleClasses1(simpleClass);
+	}
+
+	protected void onAddToSimpleClasses1(final SimpleClass simpleClass) {
+	}
+
+	protected void onRemoveFromSimpleClasses1(final SimpleClass simpleClass) {
+	}
+
+	// }}
+
+	// {{ SimpleClasses2
+	/**/
+	private List<SimpleClass> simpleClasses2 = new ArrayList<SimpleClass>();
+
+	@MemberOrder(sequence = "1")
+	public List<SimpleClass> getSimpleClasses2() {
+		return simpleClasses2;
+	}
+
+	public void setSimpleClasses2(final List<SimpleClass> simpleClasses) {
+		this.simpleClasses2 = simpleClasses;
+	}
+
+	public void addToSimpleClasses2(final SimpleClass simpleClass) {
+		// check for no-op
+		if (simpleClass == null || getSimpleClasses2().contains(simpleClass)) {
+			return;
+		}
+		// associate new
+		getSimpleClasses2().add(simpleClass);
+		// additional business logic
+		onAddToSimpleClasses2(simpleClass);
+	}
+
+	public void removeFromSimpleClasses2(final SimpleClass simpleClass) {
+		// check for no-op
+		if (simpleClass == null || !getSimpleClasses2().contains(simpleClass)) {
+			return;
+		}
+		// dissociate existing
+		getSimpleClasses2().remove(simpleClass);
+		// additional business logic
+		onRemoveFromSimpleClasses2(simpleClass);
+	}
+
+	protected void onAddToSimpleClasses2(final SimpleClass simpleClass) {
+	}
+
+	protected void onRemoveFromSimpleClasses2(final SimpleClass simpleClass) {
+	}
+
+	/**/
+	// }}
+
+	// {{ SimpleClassTwo
+	private SimpleClassTwo simplyClassTwo;
+
+	public SimpleClassTwo getSimpleClassTwo() {
+		return simplyClassTwo;
+	}
+
+	public void setSimpleClassTwo(final SimpleClassTwo simpleClassTwo) {
+		this.simplyClassTwo = simpleClassTwo;
+	}
+	// }}
+}
+// Copyright (c) Kevin Meyer, www.kmz.co.za.