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.