You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/10/28 17:16:24 UTC
[21/56] [abbrv] ISIS-937: moved TCK out of core.
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/MyEnum.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/MyEnum.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/MyEnum.java
new file mode 100644
index 0000000..edcd676
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/MyEnum.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.tck.dom.scalars;
+
+public enum MyEnum {
+ RED,
+ ORANGE,
+ YELLOW,
+ GREEN,
+ BLUE,
+ INDIGO,
+ VIOLET
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntity.java
new file mode 100644
index 0000000..fc8cefa
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntity.java
@@ -0,0 +1,214 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.scalars;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.applib.annotation.Title;
+
+@javax.jdo.annotations.PersistenceCapable
+@javax.jdo.annotations.Discriminator("PRMV")
+@javax.jdo.annotations.Query(
+ name="prmv_findByIntProperty", language="JDOQL",
+ value="SELECT FROM org.apache.isis.tck.dom.scalars.PrimitiveValuedEntity WHERE intProperty == :i")
+@ObjectType("PRMV")
+public class PrimitiveValuedEntity extends AbstractDomainObject {
+
+
+ // {{ Id (Integer)
+ private Integer id;
+
+ @Title(prepend="Primitive Valued Entity #")
+ @javax.jdo.annotations.PrimaryKey // must be on the getter.
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(final Integer id) {
+ this.id = id;
+ }
+ // }}
+
+
+ // {{ BooleanProperty
+ private boolean booleanProperty;
+
+ @MemberOrder(sequence = "3")
+ public boolean getBooleanProperty() {
+ return booleanProperty;
+ }
+
+ public void setBooleanProperty(final boolean booleanProperty) {
+ this.booleanProperty = booleanProperty;
+ }
+
+ public PrimitiveValuedEntity updateBooleanProperty(
+ final boolean booleanProperty) {
+ setBooleanProperty(booleanProperty);
+ return this;
+ }
+ // }}
+
+ // {{ ByteProperty
+ private byte byteProperty;
+
+ @MemberOrder(sequence = "1")
+ public byte getByteProperty() {
+ return byteProperty;
+ }
+
+ public void setByteProperty(final byte byteProperty) {
+ this.byteProperty = byteProperty;
+ }
+
+ public PrimitiveValuedEntity updateByteProperty(
+ final byte byteProperty) {
+ setByteProperty(byteProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ ShortProperty
+ private short shortProperty;
+
+ @MemberOrder(sequence = "1")
+ public short getShortProperty() {
+ return shortProperty;
+ }
+
+ public void setShortProperty(final short shortProperty) {
+ this.shortProperty = shortProperty;
+ }
+
+ public PrimitiveValuedEntity updateShortProperty(
+ final short shortProperty) {
+ setShortProperty(shortProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ IntProperty
+ private int intProperty;
+
+ @MemberOrder(sequence = "1")
+ public int getIntProperty() {
+ return intProperty;
+ }
+
+ public void setIntProperty(final int intProperty) {
+ this.intProperty = intProperty;
+ }
+
+ public PrimitiveValuedEntity updateIntProperty(
+ final int intProperty) {
+ setIntProperty(intProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ LongProperty
+ private long longProperty;
+
+ @MemberOrder(sequence = "1")
+ public long getLongProperty() {
+ return longProperty;
+ }
+
+ public void setLongProperty(final long longProperty) {
+ this.longProperty = longProperty;
+ }
+
+ public PrimitiveValuedEntity updateLongProperty(
+ final long longProperty) {
+ setLongProperty(longProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ FloatProperty
+ private float floatProperty;
+
+ @MemberOrder(sequence = "1")
+ public float getFloatProperty() {
+ return floatProperty;
+ }
+
+ public void setFloatProperty(final float floatProperty) {
+ this.floatProperty = floatProperty;
+ }
+
+ public PrimitiveValuedEntity updateFloatProperty(
+ final float floatProperty) {
+ setFloatProperty(floatProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ DoubleProperty
+ private double doubleProperty;
+
+ @MemberOrder(sequence = "1")
+ public double getDoubleProperty() {
+ return doubleProperty;
+ }
+
+ public void setDoubleProperty(final double doubleProperty) {
+ this.doubleProperty = doubleProperty;
+ }
+
+ public PrimitiveValuedEntity updateDoubleProperty(
+ final double doubleProperty) {
+ setDoubleProperty(doubleProperty);
+ return this;
+ }
+
+ // }}
+
+
+ // {{ CharProperty
+ @javax.jdo.annotations.Column(jdbcType="char") // for hsqldb
+ //@javax.jdo.annotations.Column(jdbcType="char", sqlType="char") // for mssqlserver
+ private char charProperty;
+
+ @MemberOrder(sequence = "1")
+ public char getCharProperty() {
+ return charProperty;
+ }
+
+ public void setCharProperty(final char charProperty) {
+ this.charProperty = charProperty;
+ }
+
+ public PrimitiveValuedEntity updateCharProperty(
+ final char charProperty) {
+ setCharProperty(charProperty);
+ return this;
+ }
+
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntityRepository.java
new file mode 100644
index 0000000..aa84d55
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/PrimitiveValuedEntityRepository.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.scalars;
+
+import org.apache.isis.applib.annotation.*;
+import org.apache.isis.applib.query.Query;
+import org.apache.isis.applib.query.QueryDefault;
+import org.apache.isis.core.tck.dom.AbstractEntityRepository;
+
+@Named("PrimitiveValuedEntities")
+@ObjectType("PrimitiveValuedEntities")
+@DomainService
+public class PrimitiveValuedEntityRepository extends AbstractEntityRepository<PrimitiveValuedEntity> {
+
+ public PrimitiveValuedEntityRepository() {
+ super(PrimitiveValuedEntity.class, "PrimitiveValuedEntities");
+ }
+
+ @QueryOnly
+ @MemberOrder(sequence = "1")
+ public PrimitiveValuedEntity findById(int id) {
+ final Query<PrimitiveValuedEntity> query =
+ new QueryDefault<PrimitiveValuedEntity>(PrimitiveValuedEntity.class, PrimitiveValuedEntity.class.getName() + "#pk", "id", id);
+ return this.firstMatch(query);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntity.java
new file mode 100644
index 0000000..a926b25
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntity.java
@@ -0,0 +1,229 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.scalars;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.applib.annotation.Title;
+
+@javax.jdo.annotations.PersistenceCapable
+@javax.jdo.annotations.Discriminator("WRPV")
+@javax.jdo.annotations.Query(
+ name="wrpv_findByStringProperty", language="JDOQL",
+ value="SELECT FROM org.apache.isis.tck.dom.scalars.WrapperValuedEntity WHERE stringProperty == :i")
+@ObjectType("WRPV")
+public class WrapperValuedEntity extends AbstractDomainObject {
+
+ // {{ StringProperty (also pk, title)
+ private String stringProperty;
+
+ @javax.jdo.annotations.PrimaryKey
+ @Title
+ @Optional
+ @MemberOrder(sequence = "1")
+ public String getStringProperty() {
+ return stringProperty;
+ }
+
+ public void setStringProperty(final String stringProperty) {
+ this.stringProperty = stringProperty;
+ }
+
+ public WrapperValuedEntity updateStringProperty(
+ @Optional final String stringProperty) {
+ setStringProperty(stringProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ BooleanProperty
+ private Boolean booleanProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Boolean getBooleanProperty() {
+ return booleanProperty;
+ }
+
+ public void setBooleanProperty(final Boolean booleanProperty) {
+ this.booleanProperty = booleanProperty;
+ }
+
+ public WrapperValuedEntity updateBooleanProperty(@Optional final Boolean booleanProperty) {
+ setBooleanProperty(booleanProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ ByteProperty
+ private Byte byteProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Byte getByteProperty() {
+ return byteProperty;
+ }
+
+ public void setByteProperty(final Byte byteProperty) {
+ this.byteProperty = byteProperty;
+ }
+
+ public WrapperValuedEntity updateByteProperty(
+ @Optional final Byte byteProperty) {
+ setByteProperty(byteProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ ShortProperty
+ private Short shortProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Short getShortProperty() {
+ return shortProperty;
+ }
+
+ public void setShortProperty(final Short shortProperty) {
+ this.shortProperty = shortProperty;
+ }
+
+ public WrapperValuedEntity updateShortProperty(
+ @Optional final Short shortProperty) {
+ setShortProperty(shortProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ IntegerProperty
+ private Integer integerProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Integer getIntegerProperty() {
+ return integerProperty;
+ }
+
+ public void setIntegerProperty(final Integer integerProperty) {
+ this.integerProperty = integerProperty;
+ }
+
+ public WrapperValuedEntity updateIntegerProperty(
+ @Optional final Integer integerProperty) {
+ setIntegerProperty(integerProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ LongProperty
+ private Long longProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Long getLongProperty() {
+ return longProperty;
+ }
+
+ public void setLongProperty(final Long longProperty) {
+ this.longProperty = longProperty;
+ }
+
+ public WrapperValuedEntity updateLongProperty(
+ @Optional final Long longProperty) {
+ setLongProperty(longProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ FloatProperty
+ private Float floatProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Float getFloatProperty() {
+ return floatProperty;
+ }
+
+ public void setFloatProperty(final Float floatProperty) {
+ this.floatProperty = floatProperty;
+ }
+
+ public WrapperValuedEntity updateFloatProperty(
+ @Optional final Float floatProperty) {
+ setFloatProperty(floatProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ DoubleProperty
+ private Double doubleProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Double getDoubleProperty() {
+ return doubleProperty;
+ }
+
+ public void setDoubleProperty(final Double doubleProperty) {
+ this.doubleProperty = doubleProperty;
+ }
+
+ public WrapperValuedEntity updateDoubleProperty(
+ @Optional final Double doubleProperty) {
+ setDoubleProperty(doubleProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ CharacterProperty (property)
+ @javax.jdo.annotations.Column(jdbcType="char") // works for hsqldb
+ //@javax.jdo.annotations.Column(jdbcType="char", sqlType="char") // works for mssqlserver
+ private Character characterProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Character getCharacterProperty() {
+ return characterProperty;
+ }
+
+ public void setCharacterProperty(final Character charProperty) {
+ this.characterProperty = charProperty;
+ }
+
+ public WrapperValuedEntity updateCharacterProperty(
+ @Optional final Character charProperty) {
+ setCharacterProperty(charProperty);
+ return this;
+ }
+
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntityRepository.java
new file mode 100644
index 0000000..e9f9eb9
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/WrapperValuedEntityRepository.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.scalars;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.core.tck.dom.AbstractEntityRepository;
+
+@Named("WrapperValues")
+@ObjectType("WrapperValues")
+@DomainService
+public class WrapperValuedEntityRepository extends AbstractEntityRepository<WrapperValuedEntity> {
+
+ public WrapperValuedEntityRepository() {
+ super(WrapperValuedEntity.class, "WrapperValuedEntities");
+ }
+
+ /**
+ * Required to discover the WrapperValuedEntity type.
+ */
+ @Override
+ @MemberOrder(sequence = "2")
+ public WrapperValuedEntity newEntity() {
+ return super.newEntity();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
new file mode 100644
index 0000000..07a648d
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+package org.apache.isis.core.tck.dom.sqlos;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.core.tck.dom.poly.Empty;
+import org.apache.isis.core.tck.dom.poly.ReferencingPolyTypesEntity;
+import org.apache.isis.core.tck.dom.poly.SelfReferencingEntity;
+import org.apache.isis.core.tck.dom.poly.StringBaseEntitySub;
+import org.apache.isis.core.tck.dom.poly.StringBaseEntitySubThree;
+import org.apache.isis.core.tck.dom.poly.StringBaseEntitySubTwo;
+import org.apache.isis.core.tck.dom.poly.Stringable;
+import org.apache.isis.core.tck.dom.poly.StringableEntityWithOwnProperties;
+import org.apache.isis.core.tck.dom.poly.StringableEntityWithOwnProperty;
+import org.apache.isis.core.tck.dom.scalars.PrimitiveValuedEntity;
+import org.apache.isis.core.tck.dom.sqlos.data.SimpleClass;
+import org.apache.isis.core.tck.dom.sqlos.data.SimpleClassTwo;
+import org.apache.isis.core.tck.dom.sqlos.data.SqlDataClass;
+
+/**
+ * @author Kevin
+ *
+ */
+public class SqlDomainObjectRepository extends AbstractFactoryAndRepository {
+
+ // {{ Persistor actions
+ public void save(final Object sqlDataClass) {
+ persistIfNotAlready(sqlDataClass);
+ }
+
+ public void delete(final Object sqlDataClass) {
+ remove(sqlDataClass);
+ }
+
+ public void update(final Object object) {
+ getContainer().objectChanged(object);
+ }
+
+ public void resolve(final Object domainObject) {
+ getContainer().resolve(domainObject);
+ }
+
+ // }}
+
+ // SqlDataClass
+ public List<SqlDataClass> allDataClasses() {
+ return allInstances(SqlDataClass.class);
+ }
+
+ public SqlDataClass newDataClass() {
+ final SqlDataClass object = newTransientInstance(SqlDataClass.class);
+ return object;
+ }
+
+
+ // SimpleClass
+ public SimpleClass newSimpleClass() {
+ final SimpleClass object = newTransientInstance(SimpleClass.class);
+ return object;
+ }
+
+ public List<SimpleClass> allSimpleClasses() {
+ return allInstances(SimpleClass.class);
+ }
+
+ public List<SimpleClass> allSimpleClassesThatMatch(final SimpleClass simpleClassMatch) {
+ return allMatches(SimpleClass.class, simpleClassMatch);
+ }
+
+
+ // SimpleClassTwo
+ public List<SimpleClassTwo> allSimpleClassTwos() {
+ return allInstances(SimpleClassTwo.class);
+ }
+
+ public SimpleClassTwo newSimpleClassTwo() {
+ final SimpleClassTwo object = newTransientInstance(SimpleClassTwo.class);
+ return object;
+ }
+
+ // PrimitiveValuedEntity
+ public List<PrimitiveValuedEntity> allPrimitiveValueEntities() {
+ return allInstances(PrimitiveValuedEntity.class);
+ }
+
+ public PrimitiveValuedEntity newPrimitiveValuedEntity() {
+ return newTransientInstance(PrimitiveValuedEntity.class);
+ }
+
+ public List<PrimitiveValuedEntity> allPrimitiveValuedEntitiesThatMatch(final PrimitiveValuedEntity match) {
+ return allMatches(PrimitiveValuedEntity.class, match);
+ }
+
+
+ // PolyTestClass
+ public ReferencingPolyTypesEntity newPolyTestClass() {
+ final ReferencingPolyTypesEntity object = newTransientInstance(ReferencingPolyTypesEntity.class);
+ return object;
+ }
+
+ public List<ReferencingPolyTypesEntity> allPolyTestClasses() {
+ return allInstances(ReferencingPolyTypesEntity.class);
+ }
+
+ public StringBaseEntitySub newPolySubClassOne() {
+ final StringBaseEntitySub object = newTransientInstance(StringBaseEntitySub.class);
+ return object;
+ }
+
+ public StringBaseEntitySubThree newPolySubClassThree() {
+ final StringBaseEntitySubThree object = newTransientInstance(StringBaseEntitySubThree.class);
+ return object;
+ }
+
+ public StringBaseEntitySubTwo newPolySubClassTwo() {
+ final StringBaseEntitySubTwo object = newTransientInstance(StringBaseEntitySubTwo.class);
+ return object;
+ }
+
+ public StringableEntityWithOwnProperty newPolyInterfaceImplA() {
+ final StringableEntityWithOwnProperty object = newTransientInstance(StringableEntityWithOwnProperty.class);
+ return object;
+ }
+
+ public StringableEntityWithOwnProperties newPolyInterfaceImplB() {
+ final StringableEntityWithOwnProperties object = newTransientInstance(StringableEntityWithOwnProperties.class);
+ return object;
+ }
+
+ public SelfReferencingEntity newPolySelfRefClass() {
+ final SelfReferencingEntity object = newTransientInstance(SelfReferencingEntity.class);
+ return object;
+ }
+
+ public List<Stringable> allPolyInterfaces() {
+ return allInstances(Stringable.class);
+ }
+
+ public List<Stringable> queryPolyInterfaces(final Stringable query) {
+ return allMatches(Stringable.class, query);
+ }
+
+ public List<Empty> allEmptyInterfacesThatMatch(final Empty match) {
+ return allMatches(Empty.class, match);
+ }
+
+ public List<SimpleClass> someSimpleClasses(final long startIndex, final long rowCount) {
+ return allInstances(SimpleClass.class, startIndex, rowCount);
+ }
+
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClass.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClass.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClass.java
new file mode 100644
index 0000000..0b9888d
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClass.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+package org.apache.isis.core.tck.dom.sqlos.data;
+
+import org.apache.isis.applib.AbstractDomainObject;
+
+/**
+ * @author Kevin
+ *
+ */
+public class SimpleClass extends AbstractDomainObject {
+ public String title() {
+ return string;
+ }
+
+ // {{ String type
+ private String string;
+
+ public String getString() {
+ return string;
+ }
+
+ public void setString(final String string) {
+ this.string = string;
+ }
+
+ // }}
+
+ // {{ SimpleClassTwoA
+ private SimpleClassTwo simplyClassTwoA;
+
+ public SimpleClassTwo getSimpleClassTwoA() {
+ return simplyClassTwoA;
+ }
+
+ public void setSimpleClassTwoA(final SimpleClassTwo simpleClassTwoA) {
+ this.simplyClassTwoA = simpleClassTwoA;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClassTwo.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClassTwo.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClassTwo.java
new file mode 100644
index 0000000..8fddc22
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SimpleClassTwo.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+package org.apache.isis.core.tck.dom.sqlos.data;
+
+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;
+ }
+
+ // }}
+
+ // {{ IntValue
+ private int intValue;
+
+ public int getIntValue() {
+ return intValue;
+ }
+
+ public void setIntValue(final int value) {
+ this.intValue = value;
+ }
+
+ // }}
+
+ // {{ BooleanValue
+ private boolean booleanValue;
+
+ public boolean getBooleanValue() {
+ return booleanValue;
+ }
+
+ public void setBooleanValue(final boolean value) {
+ this.booleanValue = value;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SqlDataClass.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SqlDataClass.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SqlDataClass.java
new file mode 100644
index 0000000..c1c604b
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/data/SqlDataClass.java
@@ -0,0 +1,338 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.sqlos.data;
+
+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.core.tck.dom.scalars.PrimitiveValuedEntity;
+
+/**
+ * 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;
+ }
+
+ // {{ String
+ private String string;
+
+ public String getString() {
+ return string;
+ }
+
+ public void setString(final String string) {
+ this.string = string;
+ }
+
+ // }}
+
+ // {{ Isis Date
+ private Date date;
+
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(final Date date) {
+ this.date = date;
+ }
+
+ // }}
+
+ // {{ java.sql Date
+ 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;
+ }
+
+ /**/
+
+ // }}
+
+ // {{ Isis Money
+ private Money money;
+
+ @MemberOrder(sequence = "1")
+ public Money getMoney() {
+ return money;
+ }
+
+ public void setMoney(final Money money) {
+ this.money = money;
+ }
+
+ // }}
+
+ // {{ Isis DateTime
+ private DateTime dateTime;
+
+ @MemberOrder(sequence = "1")
+ public DateTime getDateTime() {
+ return dateTime;
+ }
+
+ public void setDateTime(final DateTime dateTime) {
+ this.dateTime = dateTime;
+ }
+
+ // }}
+
+ // {{ Isis TimeStamp
+ private TimeStamp timeStamp;
+
+ @MemberOrder(sequence = "1")
+ public TimeStamp getTimeStamp() {
+ return timeStamp;
+ }
+
+ public void setTimeStamp(final TimeStamp timeStamp) {
+ this.timeStamp = timeStamp;
+ }
+
+ // }}
+
+ // {{ Isis Time
+ private Time time;
+
+ @MemberOrder(sequence = "1")
+ public Time getTime() {
+ return time;
+ }
+
+ public void setTime(final Time time) {
+ this.time = time;
+ }
+
+ // }}
+
+ // {{ Isis Color
+ private Color color;
+
+ @MemberOrder(sequence = "1")
+ public Color getColor() {
+ return color;
+ }
+
+ public void setColor(final Color color) {
+ this.color = color;
+ }
+
+ // }}
+
+ // {{ Isis Image
+ private Image image;
+
+ @MemberOrder(sequence = "1")
+ public Image getImage() {
+ return image;
+ }
+
+ public void setImage(final Image image) {
+ this.image = image;
+ }
+ // }}
+
+ // {{ Isis Password
+ private Password password;
+
+ @MemberOrder(sequence = "1")
+ public Password getPassword() {
+ return password;
+ }
+
+ public void setPassword(final Password password) {
+ this.password = password;
+ }
+
+ // }}
+
+ // {{ Isis Percentage
+ private Percentage percentage;
+
+ @MemberOrder(sequence = "1")
+ public Percentage getPercentage() {
+ return percentage;
+ }
+
+ public void setPercentage(final Percentage percentage) {
+ this.percentage = percentage;
+ }
+
+ // }}
+
+
+ //
+ // References to other entities
+ //
+
+ // {{ 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;
+ }
+
+ // }}
+
+ // {{ PrimitiveValuedEntityMax
+ private PrimitiveValuedEntity pveMax;
+
+ public PrimitiveValuedEntity getPrimitiveValuedEntityMax() {
+ return pveMax;
+ }
+
+ public void setPrimitiveValuedEntityMax(final PrimitiveValuedEntity pveMax) {
+ this.pveMax = pveMax;
+ }
+
+ // }}
+
+ // {{ PrimitiveValuedEntityMin
+ private PrimitiveValuedEntity pveMin;
+
+ public PrimitiveValuedEntity getPrimitiveValuedEntityMin() {
+ return pveMin;
+ }
+
+ public void setPrimitiveValuedEntityMin(final PrimitiveValuedEntity pveMin) {
+ this.pveMin = pveMin;
+ }
+
+ // }}
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
new file mode 100644
index 0000000..ab987c6
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/viewmodels/SimpleViewModel.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.viewmodels;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.ViewModel;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.util.TitleBuffer;
+
+
+public class SimpleViewModel extends AbstractDomainObject implements ViewModel {
+
+ public String title() {
+ final TitleBuffer buf = new TitleBuffer();
+ buf.append(name);
+ return buf.toString();
+ }
+
+ // //////////////////////////////////////
+
+ private String name;
+
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // //////////////////////////////////////
+
+ @Override
+ public String viewModelMemento() {
+ return name;
+ }
+
+ @Override
+ public void viewModelInit(final String memento) {
+ setName(memento);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Person.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Person.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Person.java
new file mode 100644
index 0000000..bd6d8be
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Person.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.xmlos;
+
+import org.apache.isis.applib.annotation.ObjectType;
+
+@ObjectType("PER")
+public class Person {
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Role.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Role.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Role.java
new file mode 100644
index 0000000..8c2b01f
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Role.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.xmlos;
+
+import org.apache.isis.applib.annotation.ObjectType;
+
+@ObjectType("RLE")
+public class Role {
+
+ // {{ Name (String)
+ public String name;
+ public String getName() {
+ return name;
+ }
+ public void setName(final String name) {
+ this.name = name;
+ }
+ // }}
+
+ // {{ Person (Person)
+ public Person person;
+ public Person getPerson() {
+ return person;
+ }
+ public void setPerson(final Person v) {
+ person = v;
+ }
+ public void modifyPerson(final Person person) {
+ setPerson(person);
+ }
+ public void clearPerson() {
+ setPerson(null);
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Team.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Team.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Team.java
new file mode 100644
index 0000000..34ce6ea
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/Team.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.xmlos;
+
+import org.apache.isis.applib.annotation.ObjectType;
+
+@ObjectType("TEA")
+public class Team {
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/TeamDomainRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/TeamDomainRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/TeamDomainRepository.java
new file mode 100644
index 0000000..bf6c494
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/xmlos/TeamDomainRepository.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.dom.xmlos;
+
+import java.util.List;
+
+import org.apache.isis.applib.DomainObjectContainer;
+
+public class TeamDomainRepository {
+
+ public List<Person> allPersons() {
+ return container.allInstances(Person.class);
+ }
+
+ public List<Role> allRoles() {
+ return container.allInstances(Role.class);
+ }
+
+ public List<Team> allTeams() {
+ return container.allInstances(Team.class);
+ }
+
+
+ // {{ injected: DomainObjectContainer
+ private DomainObjectContainer container;
+
+ public void setDomainObjectContainer(final DomainObjectContainer container) {
+ this.container = container;
+ }
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/resources/images/ToDoItem.gif
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/resources/images/ToDoItem.gif b/tck/tck-dom/src/main/resources/images/ToDoItem.gif
new file mode 100644
index 0000000..cc536e1
Binary files /dev/null and b/tck/tck-dom/src/main/resources/images/ToDoItem.gif differ
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/pom.xml
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/pom.xml b/tck/tck-fixture/pom.xml
new file mode 100644
index 0000000..29c84fd
--- /dev/null
+++ b/tck/tck-fixture/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.tck</groupId>
+ <artifactId>isis-tck</artifactId>
+ <version>1.8.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>isis-tck-fixture</artifactId>
+ <name>Isis TCK Fixtures</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.tck</groupId>
+ <artifactId>isis-tck-dom</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/LogonAsSvenFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/LogonAsSvenFixture.java
new file mode 100644
index 0000000..a815bbc
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/LogonAsSvenFixture.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture;
+
+import org.apache.isis.applib.fixtures.LogonFixture;
+
+public class LogonAsSvenFixture extends LogonFixture {
+
+ public LogonAsSvenFixture() {
+ super("sven");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/actions/ActionsEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/actions/ActionsEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/actions/ActionsEntityFixture.java
new file mode 100644
index 0000000..2a5e6ad
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/actions/ActionsEntityFixture.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.tck.fixture.actions;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.actions.ActionsEntity;
+import org.apache.isis.core.tck.dom.actions.ActionsEntityRepository;
+import org.apache.isis.core.tck.dom.busrules.BusRulesEntity;
+import org.apache.isis.core.tck.dom.busrules.BusRulesEntityRepository;
+
+public class ActionsEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity(1);
+ createEntity(2);
+ createEntity(3);
+ createEntity(4);
+ createEntity(5);
+ }
+
+ private ActionsEntity createEntity(Integer id) {
+ final ActionsEntity entity = repository.newEntity();
+ entity.setId(id);
+ return entity;
+ }
+
+ // {{ injected: ActionSemanticsEntityRepository
+ private ActionsEntityRepository repository;
+
+ public void setActionSemanticsEntityRepository(final ActionsEntityRepository repository) {
+ this.repository = repository;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/busrules/BusRulesEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/busrules/BusRulesEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/busrules/BusRulesEntityFixture.java
new file mode 100644
index 0000000..39a84c4
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/busrules/BusRulesEntityFixture.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.tck.fixture.busrules;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.busrules.BusRulesEntity;
+import org.apache.isis.core.tck.dom.busrules.BusRulesEntityRepository;
+
+public class BusRulesEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity(1);
+ createEntity(2);
+ createEntity(3);
+ createEntity(4);
+ createEntity(5);
+ }
+
+ private BusRulesEntity createEntity(Integer id) {
+ final BusRulesEntity entity = repository.newEntity();
+ entity.setId(id);
+ return entity;
+ }
+
+ // {{ injected: BusRulesEntityRepository
+ private BusRulesEntityRepository repository;
+
+ public void setBusRulesEntityRepository(final BusRulesEntityRepository repository) {
+ this.repository = repository;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/defaults/WithDefaultsEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/defaults/WithDefaultsEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/defaults/WithDefaultsEntityFixture.java
new file mode 100644
index 0000000..98fc917
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/defaults/WithDefaultsEntityFixture.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.tck.fixture.defaults;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.defaults.WithDefaultsEntity;
+import org.apache.isis.core.tck.dom.defaults.WithDefaultsEntityRepository;
+
+public class WithDefaultsEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity("John");
+ createEntity("Mary");
+ createEntity("Bill");
+ createEntity("Sally");
+ createEntity("Diedre");
+ }
+
+ private WithDefaultsEntity createEntity(final String name) {
+ final WithDefaultsEntity entity = repository.newTransientEntity();
+ persist(entity);
+ return entity;
+ }
+
+ // {{ injected: WithDefaultsEntityRepository
+ private WithDefaultsEntityRepository repository;
+
+ public void setWithDefaultsEntityRepository(final WithDefaultsEntityRepository repository) {
+ this.repository = repository;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/refs/ParentEntitiesFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/refs/ParentEntitiesFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/refs/ParentEntitiesFixture.java
new file mode 100644
index 0000000..66e4eae
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/refs/ParentEntitiesFixture.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.refs;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.refs.ParentEntity;
+import org.apache.isis.core.tck.dom.refs.ParentEntityRepository;
+
+public class ParentEntitiesFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity("parent 1");
+ createEntity("parent 2");
+ createEntity("parent 3");
+ createEntity("parent 4");
+ createEntity("parent 5");
+ }
+
+ private ParentEntity createEntity(final String name) {
+ final ParentEntity parent = parentEntityRepository.newEntity(name);
+ parent.newChild("child 1");
+ parent.newChild("child 2");
+ return parent;
+ }
+
+ private ParentEntityRepository parentEntityRepository;
+
+ public void setParentEntityRepository(final ParentEntityRepository parentEntityRepository) {
+ this.parentEntityRepository = parentEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/ApplibValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/ApplibValuedEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/ApplibValuedEntityFixture.java
new file mode 100644
index 0000000..4581d26
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/ApplibValuedEntityFixture.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.scalars.ApplibValuedEntity;
+import org.apache.isis.core.tck.dom.scalars.ApplibValuedEntityRepository;
+
+public class ApplibValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private ApplibValuedEntity createEntity() {
+ return applibValuesEntityRepository.newEntity();
+ }
+
+ private ApplibValuedEntityRepository applibValuesEntityRepository;
+
+ public void setApplibValuesEntityRepository(final ApplibValuedEntityRepository applibValuesEntityRepository) {
+ this.applibValuesEntityRepository = applibValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/DateTimeValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/DateTimeValuedEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/DateTimeValuedEntityFixture.java
new file mode 100644
index 0000000..c77b359
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/DateTimeValuedEntityFixture.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.scalars.DateTimeValuedEntity;
+import org.apache.isis.core.tck.dom.scalars.DateTimeValuedEntityRepository;
+
+public class DateTimeValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private DateTimeValuedEntity createEntity() {
+ return dateTimeValuesEntityRepository.newEntity();
+ }
+
+ private DateTimeValuedEntityRepository dateTimeValuesEntityRepository;
+
+ public void setDateTimeValuesEntityRepository(final DateTimeValuedEntityRepository dateTimeValuesEntityRepository) {
+ this.dateTimeValuesEntityRepository = dateTimeValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JdkValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JdkValuedEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JdkValuedEntityFixture.java
new file mode 100644
index 0000000..73e5dd1
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JdkValuedEntityFixture.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.scalars;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.sql.Timestamp;
+import java.util.Date;
+import javax.inject.Inject;
+import org.joda.time.format.DateTimeFormat;
+import org.joda.time.format.DateTimeFormatter;
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.scalars.JdkValuedEntity;
+import org.apache.isis.core.tck.dom.scalars.JdkValuedEntityRepository;
+import org.apache.isis.core.tck.dom.scalars.MyEnum;
+
+public class JdkValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private JdkValuedEntity createEntity() {
+ final JdkValuedEntity entity = jdkValuesEntityRepository.newEntity();
+ entity.setBigDecimalProperty(new BigDecimal("12345678901234567890.1234567890"));
+ entity.setBigDecimalProperty2(new BigDecimal("123.45"));
+ entity.setBigIntegerProperty(new BigInteger("123456789012345678"));
+ entity.setBigIntegerProperty2(new BigInteger("12345"));
+ entity.setJavaSqlDateProperty(asSqlDate("2014-04-24"));
+ entity.setJavaSqlTimeProperty(asSqlTime("1970-01-01T12:34:45Z"));
+ entity.setJavaSqlTimestampProperty(new Timestamp(1234567890));
+ entity.setJavaUtilDateProperty(asDateTime("2013-05-25T12:34:45Z"));
+ entity.setMyEnum(MyEnum.RED);
+ return entity;
+ }
+
+ private final static DateTimeFormatter yyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd").withZoneUTC();
+ private final static DateTimeFormatter yyyyMMddTHHmmssZ = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZ").withZoneUTC();
+
+ private static Date asDate(final String text) {
+ return new java.util.Date(yyyyMMdd.parseDateTime(text).getMillis());
+ }
+
+ private static Date asDateTime(final String text) {
+ return new java.util.Date(yyyyMMddTHHmmssZ.parseDateTime(text).getMillis());
+ }
+
+ private static java.sql.Date asSqlDate(final String text) {
+ return new java.sql.Date(yyyyMMdd.parseDateTime(text).getMillis());
+ }
+
+ private static java.sql.Time asSqlTime(final String text) {
+ return new java.sql.Time(yyyyMMddTHHmmssZ.parseDateTime(text).getMillis());
+ }
+
+ @Inject
+ private JdkValuedEntityRepository jdkValuesEntityRepository;
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JodaValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JodaValuedEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JodaValuedEntityFixture.java
new file mode 100644
index 0000000..42cb18b
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/JodaValuedEntityFixture.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.scalars;
+
+import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
+import org.joda.time.LocalDate;
+import org.joda.time.LocalDateTime;
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.scalars.JodaValuedEntity;
+import org.apache.isis.core.tck.dom.scalars.JodaValuedEntityRepository;
+
+public class JodaValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private JodaValuedEntity createEntity() {
+ final JodaValuedEntity jve = jodaValuesEntityRepository.newEntity();
+ jve.setLocalDateProperty(new LocalDate(2008,3,21));
+ jve.setLocalDateTimeProperty(new LocalDateTime(2009, 4, 29, 13, 45, 22));
+ jve.setDateTimeProperty(new DateTime(2010, 3, 31, 9, 50, 43, DateTimeZone.UTC));
+ return jve;
+ }
+
+ private JodaValuedEntityRepository jodaValuesEntityRepository;
+
+ public void setJdkValuesEntityRepository(final JodaValuedEntityRepository jodaValuesEntityRepository) {
+ this.jodaValuesEntityRepository = jodaValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/PrimitiveValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/PrimitiveValuedEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/PrimitiveValuedEntityFixture.java
new file mode 100644
index 0000000..e9db111
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/PrimitiveValuedEntityFixture.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.scalars.PrimitiveValuedEntity;
+import org.apache.isis.core.tck.dom.scalars.PrimitiveValuedEntityRepository;
+
+public class PrimitiveValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private PrimitiveValuedEntity createEntity() {
+ final PrimitiveValuedEntity pve = primitiveValuesEntityRepository.newEntity();
+ pve.setBooleanProperty(true);
+ pve.setByteProperty((byte)123);
+ pve.setShortProperty((short)32123);
+ pve.setCharProperty('a');
+ pve.setIntProperty(987654321);
+ pve.setLongProperty(2345678901234567890L);
+ pve.setFloatProperty(12345678901234567890.1234567890F);
+ pve.setDoubleProperty(12345678901234567890.1234567890);
+ return pve;
+ }
+
+ private PrimitiveValuedEntityRepository primitiveValuesEntityRepository;
+
+ public void setPrimitiveValuesEntityRepository(final PrimitiveValuedEntityRepository primitiveValuesEntityRepository) {
+ this.primitiveValuesEntityRepository = primitiveValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/WrapperValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/WrapperValuedEntityFixture.java b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/WrapperValuedEntityFixture.java
new file mode 100644
index 0000000..0d9d869
--- /dev/null
+++ b/tck/tck-fixture/src/main/java/org/apache/isis/core/tck/fixture/scalars/WrapperValuedEntityFixture.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.core.tck.dom.scalars.WrapperValuedEntity;
+import org.apache.isis.core.tck.dom.scalars.WrapperValuedEntityRepository;
+
+public class WrapperValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private WrapperValuedEntity createEntity() {
+ final WrapperValuedEntity wve = wrapperValuesEntityRepository.newEntity();
+ wve.setBooleanProperty(true);
+ wve.setByteProperty((byte)123);
+ wve.setShortProperty((short)32123);
+ wve.setCharacterProperty('a');
+ wve.setIntegerProperty(987654321);
+ wve.setLongProperty(2345678901234567890L);
+ wve.setFloatProperty(12345678901234567890.1234567890F);
+ wve.setDoubleProperty(12345678901234567890.1234567890);
+
+ return wve;
+ }
+
+ private WrapperValuedEntityRepository wrapperValuesEntityRepository;
+
+ public void setPrimitiveValuesEntityRepository(final WrapperValuedEntityRepository wrapperValuesEntityRepository) {
+ this.wrapperValuesEntityRepository = wrapperValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-integtests/lib/.gitignore
----------------------------------------------------------------------
diff --git a/tck/tck-integtests/lib/.gitignore b/tck/tck-integtests/lib/.gitignore
new file mode 100644
index 0000000..4c21459
--- /dev/null
+++ b/tck/tck-integtests/lib/.gitignore
@@ -0,0 +1,24 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+#
+# explicitly ignoring Microsoft JDBC4 jar
+# (cannot redistribute, licensing)
+#
+sqljdbc4.jar
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-integtests/pom.xml
----------------------------------------------------------------------
diff --git a/tck/tck-integtests/pom.xml b/tck/tck-integtests/pom.xml
new file mode 100644
index 0000000..4730376
--- /dev/null
+++ b/tck/tck-integtests/pom.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.tck</groupId>
+ <artifactId>isis-tck</artifactId>
+ <version>1.8.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>isis-tck-integtests</artifactId>
+ <name>Isis TCK IntegTests</name>
+
+ <properties>
+ <siteBaseDir>..</siteBaseDir>
+ <relativeUrl>objectstore-jdo-datanucleus/</relativeUrl>
+ </properties>
+
+ <!-- used in Site generation for relative references. -->
+ <url>http://isis.apache.org/${relativeUrl}</url>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ <includes>
+ <include>**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-unittestsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-runtime</artifactId>
+ </dependency>
+
+ <!-- other modules in this project -->
+ <dependency>
+ <groupId>org.apache.isis.tck</groupId>
+ <artifactId>isis-tck-dom</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.tck</groupId>
+ <artifactId>isis-tck-fixture</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-integtestsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>com.microsoft.sqlserver</groupId>
+ <artifactId>jdbc</artifactId>
+ <version>4.0</version>
+ <scope>system</scope>
+ <optional>true</optional>
+ <systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
+ </dependency>
+ -->
+
+ </dependencies>
+</project>