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:25 UTC
[22/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/refs/PolyInterfaceParentEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntity.java
new file mode 100644
index 0000000..144d401
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntity.java
@@ -0,0 +1,127 @@
+/*
+ * 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.refs;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.Join;
+import javax.jdo.annotations.Persistent;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("PIPR")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("PIPR")
+public class PolyInterfaceParentEntity extends BaseEntity {
+
+
+ // {{ Name (also title)
+ private String name;
+
+ @Title
+ @MemberOrder(sequence = "1")
+ @Optional
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Children
+ @Persistent
+ @Join
+ private Set<PolyInterface> children = new HashSet<PolyInterface>();
+
+ @MemberOrder(sequence = "1")
+ public Set<PolyInterface> getChildren() {
+ return children;
+ }
+
+ public void setChildren(final Set<PolyInterface> children) {
+ this.children = children;
+ }
+ // }}
+
+
+ // {{ newSubtype1 (action)
+ public PolyInterfaceSubtype1Entity newSubtype1(final String name, int foo) {
+ final PolyInterfaceSubtype1Entity childEntity = newTransientInstance(PolyInterfaceSubtype1Entity.class);
+ childEntity.setName(name);
+ childEntity.setFoo(foo);
+ childEntity.setParent(this);
+ this.getChildren().add(childEntity);
+ persistIfNotAlready(childEntity);
+ return childEntity;
+ }
+ // }}
+
+ // {{ newSubtype2 (action)
+ public PolyInterfaceSubtype2Entity newSubtype2(final String name, String bar) {
+ final PolyInterfaceSubtype2Entity childEntity = newTransientInstance(PolyInterfaceSubtype2Entity.class);
+ childEntity.setName(name);
+ childEntity.setParent(this);
+ childEntity.setBar(bar);
+ this.getChildren().add(childEntity);
+ persistIfNotAlready(childEntity);
+ return childEntity;
+ }
+ // }}
+
+ // {{ newSubtype3 (action)
+ public PolyInterfaceSubtype3Entity newSubtype3(final String name, BigDecimal boz) {
+ final PolyInterfaceSubtype3Entity childEntity = newTransientInstance(PolyInterfaceSubtype3Entity.class);
+ childEntity.setName(name);
+ childEntity.setParent(this);
+ childEntity.setBoz(boz);
+ this.getChildren().add(childEntity);
+ persistIfNotAlready(childEntity);
+ return childEntity;
+ }
+ // }}
+
+ // {{ removeChild (action)
+ public PolyInterfaceParentEntity removeChild(final PolyInterface childEntity) {
+ if (getChildren().contains(childEntity)) {
+ getChildren().remove(childEntity);
+ childEntity.setParent(null);
+ }
+ return this;
+ }
+
+ public List<PolyInterface> choices0RemoveChild() {
+ return Arrays.asList(getChildren().toArray(new PolyInterface[0]));
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntityRepository.java
new file mode 100644
index 0000000..5d302e4
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceParentEntityRepository.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.dom.refs;
+
+import org.apache.isis.applib.annotation.*;
+import org.apache.isis.core.tck.dom.AbstractEntityRepository;
+
+@Named("PolyInterfaceParentEntities")
+@ObjectType("PolyInterfaceParentEntities")
+@DomainService
+public class PolyInterfaceParentEntityRepository extends AbstractEntityRepository<PolyInterfaceParentEntity> {
+
+ public PolyInterfaceParentEntityRepository() {
+ super(PolyInterfaceParentEntity.class, "PolyInterfaceParentEntities");
+ }
+
+ @MemberOrder(sequence = "2")
+ public PolyInterfaceParentEntity newEntity(final String name) {
+ final PolyInterfaceParentEntity entity = newTransientInstance(PolyInterfaceParentEntity.class);
+ entity.setName(name);
+ persist(entity);
+ return entity;
+ }
+
+
+ @Hidden
+ public void registerType(PolyInterfaceSubtype1Entity e) { }
+
+ @Hidden
+ public void registerType(PolyInterfaceSubtype2Entity e) { }
+
+ @Hidden
+ public void registerType(PolyInterfaceSubtype3Entity e) { }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype1Entity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype1Entity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype1Entity.java
new file mode 100644
index 0000000..eedc86a
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype1Entity.java
@@ -0,0 +1,86 @@
+/*
+ * 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.refs;
+
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.Inheritance;
+import javax.jdo.annotations.InheritanceStrategy;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("PIS1")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
+@ObjectType("PIS1")
+public class PolyInterfaceSubtype1Entity extends BaseEntity implements PolyInterface {
+
+
+
+ // {{ Parent (title #1)
+ private PolyInterfaceParentEntity parent;
+
+ @Title(sequence="1", append="-")
+ @MemberOrder(sequence = "1")
+ @Optional
+ public PolyInterfaceParentEntity getParent() {
+ return parent;
+ }
+
+ public void setParent(final PolyInterfaceParentEntity parent) {
+ this.parent = parent;
+ }
+
+ // }}
+
+ // {{ Name (title #2)
+ private String name;
+
+ @Title(sequence="2")
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Foo (property)
+ private int foo;
+
+ @MemberOrder(sequence = "1")
+ public int getFoo() {
+ return foo;
+ }
+
+ public void setFoo(final int foo) {
+ this.foo = foo;
+ }
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype2Entity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype2Entity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype2Entity.java
new file mode 100644
index 0000000..ec64f86
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype2Entity.java
@@ -0,0 +1,86 @@
+/*
+ * 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.refs;
+
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.Inheritance;
+import javax.jdo.annotations.InheritanceStrategy;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("PIS2")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
+@ObjectType("PIS2")
+public class PolyInterfaceSubtype2Entity extends BaseEntity implements PolyInterface {
+
+
+ // {{ Parent (title #1)
+ private PolyInterfaceParentEntity parent;
+
+ @Title(sequence="1", append="-")
+ @MemberOrder(sequence = "1")
+ @Optional
+ public PolyInterfaceParentEntity getParent() {
+ return parent;
+ }
+
+ public void setParent(final PolyInterfaceParentEntity parent) {
+ this.parent = parent;
+ }
+
+ // }}
+
+ // {{ Name (title #2)
+ private String name;
+
+ @Title(sequence="2")
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Bar (property)
+ private String bar;
+
+ @MemberOrder(sequence = "1")
+ public String getBar() {
+ return bar;
+ }
+
+ public void setBar(final String bar) {
+ this.bar = bar;
+ }
+ // }}
+
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype3Entity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype3Entity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype3Entity.java
new file mode 100644
index 0000000..134d76a
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/PolyInterfaceSubtype3Entity.java
@@ -0,0 +1,87 @@
+/*
+ * 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.refs;
+
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.Inheritance;
+import javax.jdo.annotations.InheritanceStrategy;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("PIS3")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
+@ObjectType("PIS3")
+public class PolyInterfaceSubtype3Entity extends BaseEntity implements PolyInterface {
+
+
+
+ // {{ Parent (title #1)
+ private PolyInterfaceParentEntity parent;
+
+ @Title(sequence="1", append="-")
+ @MemberOrder(sequence = "1")
+ @Optional
+ public PolyInterfaceParentEntity getParent() {
+ return parent;
+ }
+
+ public void setParent(final PolyInterfaceParentEntity parent) {
+ this.parent = parent;
+ }
+
+ // }}
+
+ // {{ Name (title #2)
+ private String name;
+
+ @Title(sequence="2")
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Baz (property)
+ private java.math.BigDecimal boz;
+
+ @MemberOrder(sequence = "1")
+ public java.math.BigDecimal getBoz() {
+ return boz;
+ }
+
+ public void setBoz(final java.math.BigDecimal baz) {
+ this.boz = baz;
+ }
+ // }}
+
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/ReferencingEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/ReferencingEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/ReferencingEntity.java
new file mode 100644
index 0000000..645e03e
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/ReferencingEntity.java
@@ -0,0 +1,95 @@
+/*
+ * 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.refs;
+
+import java.util.List;
+
+import javax.jdo.annotations.IdentityType;
+
+import com.google.common.collect.Lists;
+
+import org.apache.isis.applib.annotation.NotPersisted;
+import org.apache.isis.applib.annotation.ObjectType;
+
+@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("RFCG")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("RFCG")
+public class ReferencingEntity extends BaseEntity {
+
+
+ // {{ Reference
+ private SimpleEntity reference;
+
+ public SimpleEntity getReference() {
+ return reference;
+ }
+
+ public void setReference(final SimpleEntity reference) {
+ this.reference = reference;
+ }
+
+ // }}
+
+ // {{ AggregatedEntity
+ private AggregatedEntity aggregatedReference;
+
+ public AggregatedEntity getAggregatedReference() {
+ return aggregatedReference;
+ }
+
+ public void setAggregatedReference(final AggregatedEntity aggregatedReference) {
+ this.aggregatedReference = aggregatedReference;
+ }
+
+ public AggregatedEntity addAggregatedReference() {
+ final AggregatedEntity aggregatedEntity = newAggregatedInstance(AggregatedEntity.class);
+ setAggregatedReference(aggregatedEntity);
+ return aggregatedEntity;
+ }
+ // }}
+
+ // {{ AggregatedEntities
+ private List<AggregatedEntity> aggregatedEntities = Lists.newArrayList();
+
+ public List<AggregatedEntity> getAggregatedEntities() {
+ return aggregatedEntities;
+ }
+
+ public void setAggregatedEntities(List<AggregatedEntity> aggregatedEntities) {
+ this.aggregatedEntities = aggregatedEntities;
+ }
+
+ public AggregatedEntity addAggregatedEntityToCollection() {
+ final AggregatedEntity aggregatedEntity = newAggregatedInstance(AggregatedEntity.class);
+ getAggregatedEntities().add(aggregatedEntity);
+ return aggregatedEntity;
+ }
+ // }}
+
+ // {{ NotPersisted
+ @NotPersisted
+ public SimpleEntity getNotPersisted() {
+ throw new org.apache.isis.applib.NonRecoverableException("unexpected call");
+ }
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/SimpleEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/SimpleEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/SimpleEntity.java
new file mode 100644
index 0000000..89c3fc4
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/SimpleEntity.java
@@ -0,0 +1,104 @@
+/*
+ * 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.refs;
+
+import java.util.Date;
+
+import javax.jdo.annotations.IdentityType;
+
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.NotPersisted;
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("SMPL")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("SMPL")
+public class SimpleEntity extends BaseEntity {
+
+ // {{ name: String (title)
+ private String name;
+
+ @Title
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+ // {{ Date: java.util.Date
+ private Date date;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(final Date date) {
+ this.date = date;
+ }
+ // }}
+
+ // {{ Size: int
+ private int size;
+
+ @MemberOrder(sequence = "1")
+ public int getSize() {
+ return size;
+ }
+
+ public void setSize(final int size) {
+ this.size = size;
+ }
+
+ // }}
+
+ // {{ Nullable: long
+ private Long number;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Long getNullable() {
+ return number;
+ }
+
+ public void setNullable(final Long number) {
+ this.number = number;
+ }
+
+ // }}
+
+ // {{ NotPersisted: int (nb: throws exception if called)
+ @NotPersisted
+ public int getNotPersisted() {
+ throw new org.apache.isis.applib.NonRecoverableException("unexpected call");
+ }
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkChildEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkChildEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkChildEntity.java
new file mode 100644
index 0000000..8015cbc
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkChildEntity.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.dom.refs;
+
+import javax.jdo.annotations.IdentityType;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("UDFC")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("UDFC")
+public class UnidirFkChildEntity extends AbstractDomainObject {
+
+
+ // {{ Name (title)
+ private String name;
+
+ @Title(sequence="1")
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntity.java
new file mode 100644
index 0000000..f2be389
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntity.java
@@ -0,0 +1,101 @@
+/*
+ * 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.refs;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.jdo.annotations.IdentityType;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("UDFP")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("UDFP")
+public class UnidirFkParentEntity extends BaseEntity {
+
+
+ // {{ Name (also title)
+ private String name;
+
+ @Title
+ @MemberOrder(sequence = "1")
+ @Optional
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Children
+ private Set<UnidirFkChildEntity> children = new HashSet<UnidirFkChildEntity>();
+
+ public Set<UnidirFkChildEntity> getChildren() {
+ return children;
+ }
+
+ public void setChildren(final Set<UnidirFkChildEntity> children) {
+ this.children = children;
+ }
+ // }}
+
+
+ // {{ newChild (action)
+ public UnidirFkChildEntity newChild(final String name) {
+ final UnidirFkChildEntity childEntity = newTransientInstance(UnidirFkChildEntity.class);
+ childEntity.setName(name);
+ addChild(childEntity);
+ return childEntity;
+ }
+ // }}
+
+
+ // {{ removeChild (action)
+ public void addChild(UnidirFkChildEntity childEntity) {
+ this.getChildren().add(childEntity);
+ persistIfNotAlready(childEntity);
+ }
+ // }}
+
+ // {{ removeChild (action)
+ public UnidirFkParentEntity removeChild(final UnidirFkChildEntity childEntity) {
+ if (getChildren().contains(childEntity)) {
+ getChildren().remove(childEntity);
+ }
+ return this;
+ }
+
+ public List<UnidirFkChildEntity> choices0RemoveChild() {
+ return Arrays.asList(getChildren().toArray(new UnidirFkChildEntity[0]));
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntityRepository.java
new file mode 100644
index 0000000..5277df6
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirFkParentEntityRepository.java
@@ -0,0 +1,45 @@
+/*
+ * 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.refs;
+
+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("UnidirFkParentEntities")
+@ObjectType("UnidirFkParentEntities")
+@DomainService
+public class UnidirFkParentEntityRepository extends AbstractEntityRepository<UnidirFkParentEntity> {
+
+ public UnidirFkParentEntityRepository() {
+ super(UnidirFkParentEntity.class, "UnidirParentEntities");
+ }
+
+ @MemberOrder(sequence = "2")
+ public UnidirFkParentEntity newEntity(final String name) {
+ final UnidirFkParentEntity entity = newTransientInstance(UnidirFkParentEntity.class);
+ entity.setName(name);
+ persist(entity);
+ return entity;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinChildEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinChildEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinChildEntity.java
new file mode 100644
index 0000000..6452ee6
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinChildEntity.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.dom.refs;
+
+import javax.jdo.annotations.IdentityType;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("UDJC")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("UDJC")
+public class UnidirJoinChildEntity extends AbstractDomainObject {
+
+
+ // {{ Name (title)
+ private String name;
+
+ @Title(sequence="1")
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntity.java
new file mode 100644
index 0000000..3cf7dcc
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntity.java
@@ -0,0 +1,103 @@
+/*
+ * 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.refs;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.Join;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("UDJP")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("UDJP")
+public class UnidirJoinParentEntity extends BaseEntity {
+
+
+ // {{ Name (also title)
+ private String name;
+
+ @Title
+ @MemberOrder(sequence = "1")
+ @Optional
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Children
+ @Join
+ private Set<UnidirJoinChildEntity> children = new HashSet<UnidirJoinChildEntity>();
+
+ public Set<UnidirJoinChildEntity> getChildren() {
+ return children;
+ }
+
+ public void setChildren(final Set<UnidirJoinChildEntity> children) {
+ this.children = children;
+ }
+ // }}
+
+
+ // {{ newChild (action)
+ public UnidirJoinChildEntity newChild(final String name) {
+ final UnidirJoinChildEntity childEntity = newTransientInstance(UnidirJoinChildEntity.class);
+ childEntity.setName(name);
+ addChild(childEntity);
+ return childEntity;
+ }
+ // }}
+
+
+ // {{ removeChild (action)
+ public void addChild(UnidirJoinChildEntity childEntity) {
+ this.getChildren().add(childEntity);
+ persistIfNotAlready(childEntity);
+ }
+ // }}
+
+ // {{ removeChild (action)
+ public UnidirJoinParentEntity removeChild(final UnidirJoinChildEntity childEntity) {
+ if (getChildren().contains(childEntity)) {
+ getChildren().remove(childEntity);
+ }
+ return this;
+ }
+
+ public List<UnidirFkChildEntity> choices0RemoveChild() {
+ return Arrays.asList(getChildren().toArray(new UnidirFkChildEntity[0]));
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntityRepository.java
new file mode 100644
index 0000000..47da2d4
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirJoinParentEntityRepository.java
@@ -0,0 +1,45 @@
+/*
+ * 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.refs;
+
+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("UnidirJoinParentEntities")
+@ObjectType("UnidirJoinParentEntities")
+@DomainService
+public class UnidirJoinParentEntityRepository extends AbstractEntityRepository<UnidirJoinParentEntity> {
+
+ public UnidirJoinParentEntityRepository() {
+ super(UnidirJoinParentEntity.class, "UnidirJoinParentEntities");
+ }
+
+ @MemberOrder(sequence = "2")
+ public UnidirJoinParentEntity newEntity(final String name) {
+ final UnidirJoinParentEntity entity = newTransientInstance(UnidirJoinParentEntity.class);
+ entity.setName(name);
+ persist(entity);
+ return entity;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntity.java
new file mode 100644
index 0000000..9049cad
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntity.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.dom.refs;
+
+import javax.jdo.annotations.IdentityType;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("UDRD")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("UDRD")
+public class UnidirReferencedEntity extends AbstractDomainObject {
+
+
+ // {{ Name (title)
+ private String name;
+
+ @Title(sequence="1")
+ @MemberOrder(sequence = "1")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntityRepository.java
new file mode 100644
index 0000000..6decf98
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencedEntityRepository.java
@@ -0,0 +1,45 @@
+/*
+ * 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.refs;
+
+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("UnidirReferencedEntities")
+@ObjectType("UnidirReferencedEntities")
+@DomainService
+public class UnidirReferencedEntityRepository extends AbstractEntityRepository<UnidirReferencedEntity> {
+
+ public UnidirReferencedEntityRepository() {
+ super(UnidirReferencedEntity.class, "UnidirReferencedEntities");
+ }
+
+ @MemberOrder(sequence = "2")
+ public UnidirReferencedEntity newEntity(final String name) {
+ final UnidirReferencedEntity entity = newTransientInstance(UnidirReferencedEntity.class);
+ entity.setName(name);
+ persist(entity);
+ return entity;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntity.java
new file mode 100644
index 0000000..170968f
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntity.java
@@ -0,0 +1,66 @@
+/*
+ * 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.refs;
+
+import javax.jdo.annotations.IdentityType;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("UDRG")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("UDRG")
+public class UnidirReferencingEntity extends BaseEntity {
+
+
+ // {{ Name (also title)
+ private String name;
+
+ @Title
+ @MemberOrder(sequence = "1")
+ @Optional
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // }}
+
+
+ // {{ Referenced (property)
+ public UnidirReferencedEntity referenced;
+
+ @MemberOrder(sequence = "1")
+ public UnidirReferencedEntity getReferenced() {
+ return referenced;
+ }
+
+ public void setReferenced(final UnidirReferencedEntity referenced) {
+ this.referenced = referenced;
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntityRepository.java
new file mode 100644
index 0000000..9100601
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/refs/UnidirReferencingEntityRepository.java
@@ -0,0 +1,45 @@
+/*
+ * 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.refs;
+
+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("UnidirReferencingEntities")
+@ObjectType("UnidirReferencingEntities")
+@DomainService
+public class UnidirReferencingEntityRepository extends AbstractEntityRepository<UnidirReferencingEntity> {
+
+ public UnidirReferencingEntityRepository() {
+ super(UnidirReferencingEntity.class, "UnidirReferencingEntities");
+ }
+
+ @MemberOrder(sequence = "2")
+ public UnidirReferencingEntity newEntity(final String name) {
+ final UnidirReferencingEntity entity = newTransientInstance(UnidirReferencingEntity.class);
+ entity.setName(name);
+ persist(entity);
+ return entity;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntity.java
new file mode 100644
index 0000000..0206039
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntity.java
@@ -0,0 +1,267 @@
+/*
+ * 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;
+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;
+
+@javax.jdo.annotations.PersistenceCapable
+@javax.jdo.annotations.Discriminator("APLV")
+@javax.jdo.annotations.Query(
+ name="jdkv_findByStringProperty", language="JDOQL",
+ value="SELECT FROM org.apache.isis.tck.dom.scalars.ApplibValuedEntity WHERE stringProperty == :i")
+@ObjectType("APLV")
+public class ApplibValuedEntity extends AbstractDomainObject {
+
+
+ // {{ StringProperty (also title, pk)
+ private String stringProperty;
+
+ @javax.jdo.annotations.PrimaryKey
+ @Title
+ @Optional
+ @MemberOrder(sequence = "1")
+ public String getStringProperty() {
+ return stringProperty;
+ }
+
+ public void setStringProperty(final String description) {
+ this.stringProperty = description;
+ }
+
+ public ApplibValuedEntity updateStringProperty(
+ @Optional final String description) {
+ setStringProperty(stringProperty);
+ return this;
+ }
+
+ // }}
+
+
+
+ // {{ DateProperty
+ @javax.jdo.annotations.Persistent
+ private Date dateProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Date getDateProperty() {
+ return dateProperty;
+ }
+
+ public void setDateProperty(final Date dateProperty) {
+ this.dateProperty = dateProperty;
+ }
+
+ public ApplibValuedEntity updateDateProperty(
+ @Optional final Date dateProperty) {
+ setDateProperty(dateProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ ColorProperty
+ @javax.jdo.annotations.NotPersistent
+ private Color colorProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Color getColorProperty() {
+ return colorProperty;
+ }
+
+ public void setColorProperty(final Color colorProperty) {
+ this.colorProperty = colorProperty;
+ }
+
+ public ApplibValuedEntity updateColorProperty(
+ @Optional final Color colorProperty) {
+ setColorProperty(colorProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ DateTimeProperty
+ @javax.jdo.annotations.NotPersistent
+ private DateTime dateTimeProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public DateTime getDateTimeProperty() {
+ return dateTimeProperty;
+ }
+
+ public void setDateTimeProperty(final DateTime dateTimeProperty) {
+ this.dateTimeProperty = dateTimeProperty;
+ }
+
+ public ApplibValuedEntity updateDateTimeProperty(
+ @Optional final DateTime dateTimeProperty) {
+ setDateTimeProperty(dateTimeProperty);
+ return this;
+ }
+ // }}
+
+ // {{ ImageProperty
+ @javax.jdo.annotations.NotPersistent
+ private Image imageProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Image getImageProperty() {
+ return imageProperty;
+ }
+
+ public void setImageProperty(final Image imageProperty) {
+ this.imageProperty = imageProperty;
+ }
+
+ public ApplibValuedEntity updateImageProperty(
+ @Optional final Image imageProperty) {
+ setImageProperty(imageProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ MoneyProperty
+ @javax.jdo.annotations.NotPersistent
+ private Money moneyProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Money getMoneyProperty() {
+ return moneyProperty;
+ }
+
+ public void setMoneyProperty(final Money moneyProperty) {
+ this.moneyProperty = moneyProperty;
+ }
+
+ public ApplibValuedEntity updateMoneyProperty(
+ @Optional final Money moneyProperty) {
+ this.moneyProperty = moneyProperty;
+ return this;
+ }
+
+ // }}
+
+ // {{ PasswordProperty
+ @javax.jdo.annotations.NotPersistent
+ private Password passwordProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Password getPasswordProperty() {
+ return passwordProperty;
+ }
+
+ public void setPasswordProperty(final Password passwordProperty) {
+ this.passwordProperty = passwordProperty;
+ }
+
+ public ApplibValuedEntity updatePasswordProperty(
+ @Optional final Password passwordProperty) {
+ setPasswordProperty(passwordProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ PercentageProperty
+ @javax.jdo.annotations.NotPersistent
+ private Percentage percentageProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Percentage getPercentageProperty() {
+ return percentageProperty;
+ }
+
+ public void setPercentageProperty(final Percentage percentageProperty) {
+ this.percentageProperty = percentageProperty;
+ }
+
+ public ApplibValuedEntity updatePercentageProperty(
+ @Optional final Percentage percentageProperty) {
+ setPercentageProperty(percentageProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ TimeProperty
+ @javax.jdo.annotations.NotPersistent
+ private Time timeProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Time getTimeProperty() {
+ return timeProperty;
+ }
+
+ public void setTimeProperty(final Time timeProperty) {
+ this.timeProperty = timeProperty;
+ }
+
+ public ApplibValuedEntity updateTimeProperty(
+ @Optional final Time timeProperty) {
+ setTimeProperty(timeProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ TimeStampProperty
+ @javax.jdo.annotations.NotPersistent
+ private TimeStamp timeStampProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public TimeStamp getTimeStampProperty() {
+ return timeStampProperty;
+ }
+
+ public void setTimestampProperty(final TimeStamp timestampProperty) {
+ this.timeStampProperty = timestampProperty;
+ }
+
+ public ApplibValuedEntity updateTimestampProperty(
+ @Optional final TimeStamp timestampProperty) {
+ setTimestampProperty(timestampProperty);
+ 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/ApplibValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntityRepository.java
new file mode 100644
index 0000000..79c982d
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/ApplibValuedEntityRepository.java
@@ -0,0 +1,45 @@
+/*
+ * 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("ApplibValuedEntities")
+@ObjectType("ApplibValuedEntities")
+@DomainService
+public class ApplibValuedEntityRepository extends AbstractEntityRepository<ApplibValuedEntity> {
+
+ public ApplibValuedEntityRepository() {
+ super(ApplibValuedEntity.class, "ApplibValuedEntities");
+ }
+
+ /**
+ * Required to discover the ApplibValuedEntity type.
+ */
+ @Override
+ @MemberOrder(sequence = "2")
+ public ApplibValuedEntity 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/scalars/AutoAssignedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntity.java
new file mode 100644
index 0000000..46be149
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntity.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.scalars;
+
+import javax.jdo.annotations.IdentityType;
+
+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(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.Discriminator("AUAS")
+@javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY)
+@ObjectType("AUAS")
+public class AutoAssignedEntity extends AbstractDomainObject {
+
+
+ // {{ StringProperty (used in title)
+ private String stringProperty;
+
+ @Title(sequence="2")
+ @Optional
+ @MemberOrder(sequence = "1")
+ public String getStringProperty() {
+ return stringProperty;
+ }
+
+ public void setStringProperty(final String description) {
+ this.stringProperty = description;
+ }
+
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntityRepository.java
new file mode 100644
index 0000000..9de9e87
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/AutoAssignedEntityRepository.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.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.core.tck.dom.AbstractEntityRepository;
+
+@Named("AutoAssignedEntities")
+@ObjectType("AutoAssignedEntities")
+public class AutoAssignedEntityRepository extends AbstractEntityRepository<AutoAssignedEntity> {
+
+ public AutoAssignedEntityRepository() {
+ super(AutoAssignedEntity.class, "AutoAssignedEntities");
+ }
+
+ /**
+ * Required to discover the AutoAssignedEntity type.
+ */
+ @Override
+ @MemberOrder(sequence = "2")
+ public AutoAssignedEntity 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/scalars/DateTimeValuedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntity.java
new file mode 100644
index 0000000..1985e16
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntity.java
@@ -0,0 +1,171 @@
+/*
+ * 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;
+
+/**
+ * TODO: delete ... OVERLAPS WITH ApplibValuedEntity, JdkValuedEntity, JodaValuedEntity
+ *
+ * @deprecated
+ */
+@javax.jdo.annotations.PersistenceCapable
+@javax.jdo.annotations.Discriminator("APLV")
+@javax.jdo.annotations.Query(
+ name="dtmv_findByStringProperty", language="JDOQL",
+ value="SELECT FROM org.apache.isis.tck.dom.scalars.DateTimeValuedEntity WHERE stringProperty == :i")
+@ObjectType("APLV")
+@Deprecated
+public class DateTimeValuedEntity extends AbstractDomainObject {
+
+
+ // {{ StringProperty (also title, pk)
+ 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;
+ }
+ // }}
+
+
+ // {{ JavaUtilDate (property)
+ private java.util.Date javaUtilDate;
+
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public java.util.Date getJavaUtilDate() {
+ return javaUtilDate;
+ }
+
+ public void setJavaUtilDate(final java.util.Date javaUtilDate) {
+ this.javaUtilDate = javaUtilDate;
+ }
+ // }}
+
+ // {{ JavaSqlDate (property)
+ private java.sql.Date javaSqlDate;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public java.sql.Date getJavaSqlDate() {
+ return javaSqlDate;
+ }
+
+ public void setJavaSqlDate(final java.sql.Date javaSqlDate) {
+ this.javaSqlDate = javaSqlDate;
+ }
+
+ public DateTimeValuedEntity updateJavaSqlDate(
+ @Optional final java.sql.Date javaSqlDate) {
+ setJavaSqlDate(javaSqlDate);
+ return this;
+ }
+ // }}
+
+ // {{ ApplibDate (property)
+ private org.apache.isis.applib.value.Date applibDate;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public org.apache.isis.applib.value.Date getApplibDate() {
+ return applibDate;
+ }
+
+ public void setApplibDate(final org.apache.isis.applib.value.Date applibDate) {
+ this.applibDate = applibDate;
+ }
+ // }}
+
+ // {{ ApplibDateTime (property)
+ private org.apache.isis.applib.value.DateTime applibDateTime;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public org.apache.isis.applib.value.DateTime getApplibDateTime() {
+ return applibDateTime;
+ }
+
+ public void setApplibDateTime(final org.apache.isis.applib.value.DateTime applibDateTime) {
+ this.applibDateTime = applibDateTime;
+ }
+ // }}
+
+ // {{ JodaLocalDateTime (property)
+ private org.joda.time.LocalDateTime jodaLocalDateTime;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public org.joda.time.LocalDateTime getJodaLocalDateTime() {
+ return jodaLocalDateTime;
+ }
+ public void setJodaLocalDateTime(final org.joda.time.LocalDateTime jodaLocalDateTime) {
+ this.jodaLocalDateTime = jodaLocalDateTime;
+ }
+ // }}
+
+ // {{ JodaLocalDate (property)
+ private org.joda.time.LocalDate jodaLocalDate;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public org.joda.time.LocalDate getJodaLocalDate() {
+ return jodaLocalDate;
+ }
+
+ public void setJodaLocalDate(final org.joda.time.LocalDate jodaLocalDate) {
+ this.jodaLocalDate = jodaLocalDate;
+ }
+ // }}
+
+
+ // {{ JodaDateTime (property)
+ private org.joda.time.DateTime jodaDateTime;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(name="dates", sequence = "1")
+ public org.joda.time.DateTime getJodaDateTime() {
+ return jodaDateTime;
+ }
+
+ public void setJodaDateTime(final org.joda.time.DateTime jodaDateTime) {
+ this.jodaDateTime = jodaDateTime;
+ }
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntityRepository.java
new file mode 100644
index 0000000..6f4c0b4
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/DateTimeValuedEntityRepository.java
@@ -0,0 +1,44 @@
+/*
+ * 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.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.core.tck.dom.AbstractEntityRepository;
+
+@Named("DateTimeValuedEntities")
+@ObjectType("DateTimeValuedEntities")
+public class DateTimeValuedEntityRepository extends AbstractEntityRepository<DateTimeValuedEntity> {
+
+ public DateTimeValuedEntityRepository() {
+ super(DateTimeValuedEntity.class, "DateTimeValuedEntities");
+ }
+
+ /**
+ * Required to discover the DateTimeValueEntity type.
+ */
+ @Override
+ @MemberOrder(sequence = "2")
+ public DateTimeValuedEntity 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/scalars/JdkValuedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntity.java
new file mode 100644
index 0000000..43cd3fe
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntity.java
@@ -0,0 +1,201 @@
+/*
+ * 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 java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import javax.validation.constraints.Digits;
+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("JDKV")
+@javax.jdo.annotations.Query(
+ name="jdkv_findByStringProperty", language="JDOQL",
+ value="SELECT FROM org.apache.isis.tck.dom.scalars.JdkValuedEntity WHERE stringProperty == :i")
+@ObjectType("JDKV")
+public class JdkValuedEntity extends AbstractDomainObject {
+
+ // {{ StringProperty (also title, pk)
+ private String stringProperty;
+
+ @javax.jdo.annotations.PrimaryKey
+ @Title
+ @Optional
+ @MemberOrder(sequence = "1")
+ public String getStringProperty() {
+ return stringProperty;
+ }
+
+ public void setStringProperty(final String description) {
+ this.stringProperty = description;
+ }
+
+ // }}
+
+ // {{ JavaUtilDateProperty
+ private Date javaUtilDateProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Date getJavaUtilDateProperty() {
+ return javaUtilDateProperty;
+ }
+
+ public void setJavaUtilDateProperty(final Date javaUtilDateProperty) {
+ this.javaUtilDateProperty = javaUtilDateProperty;
+ }
+
+ // }}
+
+ // {{ JavaSqlDateProperty
+ private java.sql.Date javaSqlDateProperty;
+
+ @javax.jdo.annotations.Persistent() // since not persistent by default
+ @Optional
+ @MemberOrder(sequence = "1")
+ public java.sql.Date getJavaSqlDateProperty() {
+ return javaSqlDateProperty;
+ }
+
+ public void setJavaSqlDateProperty(final java.sql.Date javaSqlDateProperty) {
+ this.javaSqlDateProperty = javaSqlDateProperty;
+ }
+
+ // }}
+
+ // {{ JavaSqlTimeProperty (property)
+ @javax.jdo.annotations.Persistent() // since not persistent by default
+ private java.sql.Time javaSqlTimeProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public java.sql.Time getJavaSqlTimeProperty() {
+ return javaSqlTimeProperty;
+ }
+
+ public void setJavaSqlTimeProperty(final java.sql.Time javaSqlTimeProperty) {
+ this.javaSqlTimeProperty = javaSqlTimeProperty;
+ }
+ // }}
+
+
+
+ // {{ JavaSqlTimestampProperty
+ @javax.jdo.annotations.Persistent() // since not persistent by default
+ private java.sql.Timestamp javaSqlTimestampProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public java.sql.Timestamp getJavaSqlTimestampProperty() {
+ return javaSqlTimestampProperty;
+ }
+
+ public void setJavaSqlTimestampProperty(final java.sql.Timestamp javaSqlTimestampProperty) {
+ this.javaSqlTimestampProperty = javaSqlTimestampProperty;
+ }
+
+ // }}
+
+ // {{ BigIntegerProperty (to hold values that are larger than a long)
+ private BigInteger bigIntegerProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public BigInteger getBigIntegerProperty() {
+ return bigIntegerProperty;
+ }
+
+ public void setBigIntegerProperty(final BigInteger bigIntegerProperty) {
+ this.bigIntegerProperty = bigIntegerProperty;
+ }
+
+ // }}
+
+ // {{ BigIntegerProperty2 (to hold values that can also fit into a long)
+ private BigInteger bigIntegerProperty2;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public BigInteger getBigIntegerProperty2() {
+ return bigIntegerProperty2;
+ }
+
+ public void setBigIntegerProperty2(final BigInteger bigIntegerProperty2) {
+ this.bigIntegerProperty2 = bigIntegerProperty2;
+ }
+
+ // }}
+
+ // {{ BigDecimalProperty (to hold values that are larger than a double)
+ private BigDecimal bigDecimalProperty;
+
+ @Digits(integer=20,fraction = 10) // corresponds to big-decimal(30,10)
+ @Optional
+ @MemberOrder(sequence = "1")
+ public BigDecimal getBigDecimalProperty() {
+ return bigDecimalProperty;
+ }
+
+ public void setBigDecimalProperty(final BigDecimal bigDecimalProperty) {
+ this.bigDecimalProperty = bigDecimalProperty;
+ }
+
+ // }}
+
+
+ // {{ BigDecimalProperty (to hold values that are larger than a double)
+ private BigDecimal bigDecimalProperty2;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public BigDecimal getBigDecimalProperty2() {
+ return bigDecimalProperty2;
+ }
+
+ public void setBigDecimalProperty2(final BigDecimal bigDecimalProperty2) {
+ this.bigDecimalProperty2 = bigDecimalProperty2;
+ }
+
+ // }}
+
+
+ // {{ MyEnum (property)
+ private MyEnum myEnum;
+
+ @javax.jdo.annotations.Persistent
+ @Optional
+ @MemberOrder(sequence = "1")
+ public MyEnum getMyEnum() {
+ return myEnum;
+ }
+
+ public void setMyEnum(final MyEnum myEnum) {
+ this.myEnum = myEnum;
+ }
+ // }}
+
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/21e2882a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntityRepository.java
new file mode 100644
index 0000000..9a0624e
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JdkValuedEntityRepository.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("JdkValuedEntities")
+@ObjectType("JdkValuedEntities")
+@DomainService
+public class JdkValuedEntityRepository extends AbstractEntityRepository<JdkValuedEntity> {
+
+ public JdkValuedEntityRepository() {
+ super(JdkValuedEntity.class, "JdkValuedEntities");
+ }
+
+ /**
+ * Required to discover the JdkValueEntity type.
+ */
+ @Override
+ @MemberOrder(sequence = "2")
+ public JdkValuedEntity 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/scalars/JodaValuedEntity.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JodaValuedEntity.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JodaValuedEntity.java
new file mode 100644
index 0000000..cc0e81c
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JodaValuedEntity.java
@@ -0,0 +1,126 @@
+/*
+ * 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.joda.time.DateTime;
+import org.joda.time.LocalDate;
+import org.joda.time.LocalDateTime;
+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("JODA")
+@javax.jdo.annotations.Query(
+ name="joda_findByStringProperty", language="JDOQL",
+ value="SELECT FROM org.apache.isis.tck.dom.scalars.JdkValuedEntity WHERE stringProperty == :i")
+@ObjectType("JODA")
+public class JodaValuedEntity extends AbstractDomainObject {
+
+ // {{ StringProperty (also title, pk)
+ 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 JodaValuedEntity updateStringProperty(
+ @Optional final String stringProperty) {
+ setStringProperty(stringProperty);
+ return this;
+ }
+
+ // }}
+
+ // {{ LocalDateProperty
+ private LocalDate localDateProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public LocalDate getLocalDateProperty() {
+ return localDateProperty;
+ }
+
+ public void setLocalDateProperty(final LocalDate localDateProperty) {
+ this.localDateProperty = localDateProperty;
+ }
+
+ public JodaValuedEntity updateLocalDateProperty(
+ @Optional final LocalDate localDateProperty) {
+ setLocalDateProperty(localDateProperty);
+ return this;
+ }
+ // }}
+
+
+ // {{ LocalDateTimeProperty
+ private LocalDateTime localDateTimeProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public LocalDateTime getLocalDateTimeProperty() {
+ return localDateTimeProperty;
+ }
+
+ public void setLocalDateTimeProperty(final LocalDateTime localDateTimeProperty) {
+ this.localDateTimeProperty = localDateTimeProperty;
+ }
+
+ public JodaValuedEntity updateLocalDateTimeProperty(
+ @Optional final LocalDateTime localDateTimeProperty) {
+ setLocalDateTimeProperty(localDateTimeProperty);
+ return this;
+ }
+ // }}
+
+
+ // {{ DateTimeProperty
+ private DateTime dateTimeProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public DateTime getDateTimeProperty() {
+ return dateTimeProperty;
+ }
+
+ public void setDateTimeProperty(final DateTime dateTimeProperty) {
+ this.dateTimeProperty = dateTimeProperty;
+ }
+
+ public JodaValuedEntity updateDateTimeProperty(
+ @Optional final DateTime dateTimeProperty) {
+ setDateTimeProperty(dateTimeProperty);
+ 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/JodaValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JodaValuedEntityRepository.java b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JodaValuedEntityRepository.java
new file mode 100644
index 0000000..8f46899
--- /dev/null
+++ b/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/scalars/JodaValuedEntityRepository.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("JodaValuedEntities")
+@ObjectType("JodaValuedEntities")
+@DomainService
+public class JodaValuedEntityRepository extends AbstractEntityRepository<JodaValuedEntity> {
+
+ public JodaValuedEntityRepository() {
+ super(JodaValuedEntity.class, "JodaValuedEntities");
+ }
+
+ /**
+ * Required to discover the JodaValueEntity type.
+ */
+ @Override
+ @MemberOrder(sequence = "2")
+ public JodaValuedEntity newEntity() {
+ return super.newEntity();
+ }
+
+}