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 2012/12/06 15:29:39 UTC
[15/32] ISIS-188: factored out isis-parent pom
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntity.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntity.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntity.java
new file mode 100644
index 0000000..87fd362
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntity.java
@@ -0,0 +1,174 @@
+/*
+ * 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.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 description) {
+ this.stringProperty = description;
+ }
+
+ // }}
+
+ // {{ BooleanProperty
+ private Boolean booleanProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Boolean getBooleanProperty() {
+ return booleanProperty;
+ }
+
+ public void setBooleanProperty(final Boolean booleanProperty) {
+ this.booleanProperty = booleanProperty;
+ }
+
+ // }}
+
+ // {{ ByteProperty
+ private Byte byteProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Byte getByteProperty() {
+ return byteProperty;
+ }
+
+ public void setByteProperty(final Byte byteWProperty) {
+ this.byteProperty = byteWProperty;
+ }
+
+ // }}
+
+ // {{ ShortProperty
+ private Short shortProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Short getShortProperty() {
+ return shortProperty;
+ }
+
+ public void setShortProperty(final Short shortProperty) {
+ this.shortProperty = shortProperty;
+ }
+
+ // }}
+
+ // {{ IntegerProperty
+ private Integer integerProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Integer getIntegerProperty() {
+ return integerProperty;
+ }
+
+ public void setIntegerProperty(final Integer integerProperty) {
+ this.integerProperty = integerProperty;
+ }
+
+ // }}
+
+ // {{ LongProperty
+ private Long longProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Long getLongProperty() {
+ return longProperty;
+ }
+
+ public void setLongProperty(final Long longProperty) {
+ this.longProperty = longProperty;
+ }
+
+ // }}
+
+ // {{ FloatProperty
+ private Float floatProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Float getFloatProperty() {
+ return floatProperty;
+ }
+
+ public void setFloatProperty(final Float floatWProperty) {
+ this.floatProperty = floatWProperty;
+ }
+
+ // }}
+
+ // {{ DoubleProperty
+ private Double doubleProperty;
+
+ @Optional
+ @MemberOrder(sequence = "1")
+ public Double getDoubleProperty() {
+ return doubleProperty;
+ }
+
+ public void setDoubleProperty(final Double doubleWProperty) {
+ this.doubleProperty = doubleWProperty;
+ }
+ // }}
+
+ // {{ 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;
+ }
+ // }}
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntityRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntityRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntityRepository.java
new file mode 100644
index 0000000..762c3ea
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/scalars/WrapperValuedEntityRepository.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.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.tck.dom.AbstractEntityRepository;
+
+@Named("WrapperValues")
+@ObjectType("WrapperValues")
+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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/SqlDomainObjectRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/SqlDomainObjectRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/SqlDomainObjectRepository.java
new file mode 100644
index 0000000..f01bd01
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/SqlDomainObjectRepository.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.tck.dom.sqlos;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.tck.dom.poly.Empty;
+import org.apache.isis.tck.dom.poly.ReferencingPolyTypesEntity;
+import org.apache.isis.tck.dom.poly.SelfReferencingEntity;
+import org.apache.isis.tck.dom.poly.StringBaseEntitySub;
+import org.apache.isis.tck.dom.poly.StringBaseEntitySubThree;
+import org.apache.isis.tck.dom.poly.StringBaseEntitySubTwo;
+import org.apache.isis.tck.dom.poly.Stringable;
+import org.apache.isis.tck.dom.poly.StringableEntityWithOwnProperties;
+import org.apache.isis.tck.dom.poly.StringableEntityWithOwnProperty;
+import org.apache.isis.tck.dom.scalars.PrimitiveValuedEntity;
+import org.apache.isis.tck.dom.sqlos.data.SimpleClass;
+import org.apache.isis.tck.dom.sqlos.data.SimpleClassTwo;
+import org.apache.isis.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);
+ }
+
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SimpleClass.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SimpleClass.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SimpleClass.java
new file mode 100644
index 0000000..c392e51
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SimpleClassTwo.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SimpleClassTwo.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SimpleClassTwo.java
new file mode 100644
index 0000000..e22a5a8
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SqlDataClass.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SqlDataClass.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/sqlos/data/SqlDataClass.java
new file mode 100644
index 0000000..30196ef
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java
new file mode 100644
index 0000000..ff54c45
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java
@@ -0,0 +1,51 @@
+/*
+ * 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.tck.dom.viewmodels;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.ViewModel;
+import org.apache.isis.applib.util.TitleBuffer;
+
+@ViewModel
+public class SimpleViewModel extends AbstractDomainObject {
+
+ // {{ title
+ public String title() {
+ final TitleBuffer buf = new TitleBuffer();
+ buf.append(name);
+ return buf.toString();
+ }
+ // }}
+
+ // {{ Name
+ private String name;
+
+ @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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Person.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Person.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Person.java
new file mode 100644
index 0000000..9a77ea3
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Role.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Role.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Role.java
new file mode 100644
index 0000000..c9d7ee3
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Team.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Team.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/Team.java
new file mode 100644
index 0000000..8132784
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/TeamDomainRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/TeamDomainRepository.java b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/xmlos/TeamDomainRepository.java
new file mode 100644
index 0000000..2001573
--- /dev/null
+++ b/framework/core/tck/tck-dom/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-dom/src/main/resources/images/ToDoItem.gif
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-dom/src/main/resources/images/ToDoItem.gif b/framework/core/tck/tck-dom/src/main/resources/images/ToDoItem.gif
new file mode 100644
index 0000000..cc536e1
Binary files /dev/null and b/framework/core/tck/tck-dom/src/main/resources/images/ToDoItem.gif differ
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-fixture/pom.xml
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/pom.xml b/framework/core/tck/tck-fixture/pom.xml
new file mode 100644
index 0000000..47b087e
--- /dev/null
+++ b/framework/core/tck/tck-fixture/pom.xml
@@ -0,0 +1,39 @@
+<?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>tck</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>tck-fixture</artifactId>
+ <name>TCK Fixtures</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.tck</groupId>
+ <artifactId>tck-dom</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/LogonAsSvenFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/LogonAsSvenFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/LogonAsSvenFixture.java
new file mode 100644
index 0000000..a1d5016
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/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.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/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/defaults/WithDefaultsEntityFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/defaults/WithDefaultsEntityFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/defaults/WithDefaultsEntityFixture.java
new file mode 100644
index 0000000..c963f1a
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/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.tck.fixture.defaults;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.tck.dom.defaults.WithDefaultsEntity;
+import org.apache.isis.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/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/refs/ParentEntitiesFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/refs/ParentEntitiesFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/refs/ParentEntitiesFixture.java
new file mode 100644
index 0000000..cf1741b
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/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.tck.fixture.refs;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.tck.dom.refs.ParentEntityRepository;
+import org.apache.isis.tck.dom.refs.ParentEntity;
+
+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/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/ApplibValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/ApplibValuedEntityFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/ApplibValuedEntityFixture.java
new file mode 100644
index 0000000..01adf4b
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/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.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.tck.dom.scalars.ApplibValuedEntity;
+import org.apache.isis.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/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/JdkValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/JdkValuedEntityFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/JdkValuedEntityFixture.java
new file mode 100644
index 0000000..8d02b91
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/JdkValuedEntityFixture.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.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.tck.dom.scalars.JdkValuedEntity;
+import org.apache.isis.tck.dom.scalars.JdkValuedEntityRepository;
+
+public class JdkValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private JdkValuedEntity createEntity() {
+ return jdkValuesEntityRepository.newEntity();
+ }
+
+ private JdkValuedEntityRepository jdkValuesEntityRepository;
+
+ public void setJdkValuesEntityRepository(final JdkValuedEntityRepository jdkValuesEntityRepository) {
+ this.jdkValuesEntityRepository = jdkValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/PrimitiveValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/PrimitiveValuedEntityFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/PrimitiveValuedEntityFixture.java
new file mode 100644
index 0000000..94b75f3
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/PrimitiveValuedEntityFixture.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.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.tck.dom.scalars.PrimitiveValuedEntity;
+import org.apache.isis.tck.dom.scalars.PrimitiveValuedEntityRepository;
+
+public class PrimitiveValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private PrimitiveValuedEntity createEntity() {
+ return primitiveValuesEntityRepository.newEntity();
+ }
+
+ private PrimitiveValuedEntityRepository primitiveValuesEntityRepository;
+
+ public void setPrimitiveValuesEntityRepository(final PrimitiveValuedEntityRepository primitiveValuesEntityRepository) {
+ this.primitiveValuesEntityRepository = primitiveValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/WrapperValuedEntityFixture.java
----------------------------------------------------------------------
diff --git a/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/WrapperValuedEntityFixture.java b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/WrapperValuedEntityFixture.java
new file mode 100644
index 0000000..4ca73ba
--- /dev/null
+++ b/framework/core/tck/tck-fixture/src/main/java/org/apache/isis/tck/fixture/scalars/WrapperValuedEntityFixture.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.tck.fixture.scalars;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.tck.dom.scalars.WrapperValuedEntity;
+import org.apache.isis.tck.dom.scalars.WrapperValuedEntityRepository;
+
+public class WrapperValuedEntityFixture extends AbstractFixture {
+
+ @Override
+ public void install() {
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ createEntity();
+ }
+
+ private WrapperValuedEntity createEntity() {
+ return wrapperValuesEntityRepository.newEntity();
+ }
+
+ private WrapperValuedEntityRepository wrapperValuesEntityRepository;
+
+ public void setPrimitiveValuesEntityRepository(final WrapperValuedEntityRepository wrapperValuesEntityRepository) {
+ this.wrapperValuesEntityRepository = wrapperValuesEntityRepository;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/pom.xml
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/pom.xml b/framework/example/archetype/quickstart/pom.xml
new file mode 100644
index 0000000..f34fe43
--- /dev/null
+++ b/framework/example/archetype/quickstart/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis</groupId>
+ <artifactId>isis-parent</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ <relativePath>../../../isis-parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>quickstart-archetype</artifactId>
+ <packaging>maven-archetype</packaging>
+
+ <name>Apache Isis Quickstart Archetype</name>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.archetype</groupId>
+ <artifactId>archetype-packaging</artifactId>
+ <version>2.1</version>
+ </extension>
+ </extensions>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-archetype-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/src/main/appended-resources/supplemental-models.xml b/framework/example/archetype/quickstart/src/main/appended-resources/supplemental-models.xml
new file mode 100644
index 0000000..837b4e9
--- /dev/null
+++ b/framework/example/archetype/quickstart/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<supplementalDataModels
+ xmlns="http://maven.apache.org/supplemental-model/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0
+ http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
+
+</supplementalDataModels>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/example/archetype/quickstart/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 0000000..be2b8a4
--- /dev/null
+++ b/framework/example/archetype/quickstart/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,339 @@
+<?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.
+-->
+<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" name="quickstart" xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modules>
+ <module id="${rootArtifactId}-dom" dir="dom" name="${rootArtifactId}-dom">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.png</include>
+ <include>**/*.gif</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory/>
+ <includes>
+ <include>log4j.properties</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-fixture" dir="fixture" name="${rootArtifactId}-fixture">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-objstore-jdo" dir="objstore-jdo" name="${rootArtifactId}-objstore-jdo">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>lib</directory>
+ <includes>
+ <include>**/*.gitignore</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-viewer-dnd" dir="viewer-dnd" name="${rootArtifactId}-viewer-dnd">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>config</directory>
+ <includes>
+ <include>**/*.properties</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>ide/eclipse</directory>
+ <includes>
+ <include>**/*.launch</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-viewer-html" dir="viewer-html" name="${rootArtifactId}-viewer-html">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.properties</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/jettyconsole</directory>
+ <includes>
+ <include>**/*.png</include>
+ <include>**/*.pdn</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.passwords</include>
+ <include>**/*.allow</include>
+ <include>**/*.png</include>
+ <include>**/*.css</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.png</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>hsql-db</directory>
+ <includes>
+ <include>**/*.properties</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>lib</directory>
+ <includes>
+ <include>**/*.gitignore</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>ide/eclipse</directory>
+ <includes>
+ <include>**/*.launch</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>hsql-db</directory>
+ <includes>
+ <include>**/*.lck</include>
+ <include>**/*.script</include>
+ <include>**/*.log</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-viewer-restfulobjects" dir="viewer-restfulobjects" name="${rootArtifactId}-viewer-restfulobjects">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.html</include>
+ <include>**/*.properties</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/jettyconsole</directory>
+ <includes>
+ <include>**/*.png</include>
+ <include>**/*.pdn</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.passwords</include>
+ <include>**/*.allow</include>
+ <include>**/*.png</include>
+ <include>**/*.js</include>
+ <include>**/*.css</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.png</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>lib</directory>
+ <includes>
+ <include>**/*.gitignore</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>ide/eclipse</directory>
+ <includes>
+ <include>**/*.launch</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-viewer-scimpi" dir="viewer-scimpi" name="${rootArtifactId}-viewer-scimpi">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.properties</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/jettyconsole</directory>
+ <includes>
+ <include>**/*.png</include>
+ <include>**/*.pdn</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.passwords</include>
+ <include>**/*.allow</include>
+ <include>**/*.png</include>
+ <include>**/*.shtml</include>
+ <include>**/*.css</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.png</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>lib</directory>
+ <includes>
+ <include>**/*.gitignore</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>ide/eclipse</directory>
+ <includes>
+ <include>**/*.launch</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-viewer-wicket" dir="viewer-wicket" name="${rootArtifactId}-viewer-wicket">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.properties</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.html</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/jettyconsole</directory>
+ <includes>
+ <include>**/*.png</include>
+ <include>**/*.pdn</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/webapp</directory>
+ <includes>
+ <include>**/*.passwords</include>
+ <include>**/*.allow</include>
+ <include>**/*.png</include>
+ <include>**/*.js</include>
+ <include>**/*.pdn</include>
+ <include>**/*.css</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.png</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>lib</directory>
+ <includes>
+ <include>**/*.gitignore</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>ide/eclipse</directory>
+ <includes>
+ <include>**/*.launch</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-tests-junit" dir="tests-junit" name="${rootArtifactId}-tests-junit">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/test/java</directory>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory/>
+ <includes>
+ <include>isis.properties</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ <module id="${rootArtifactId}-tests-bdd" dir="tests-bdd" name="${rootArtifactId}-tests-bdd">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/test/java</directory>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*.html</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*.dtd</include>
+ <include>**/*.ent</include>
+ <include>**/*.css</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </module>
+ </modules>
+</archetype-descriptor>
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/log4j.properties
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/log4j.properties b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/log4j.properties
new file mode 100644
index 0000000..43ee48c
--- /dev/null
+++ b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/log4j.properties
@@ -0,0 +1,27 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound} LOG4J Configuration
+${symbol_pound} ===================
+
+${symbol_pound} Basic logging goes to "datanucleus.log"
+log4j.appender.A1=org.apache.log4j.FileAppender
+log4j.appender.A1.File=datanucleus.log
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
+${symbol_pound}log4j.appender.A1.Threshold=INFO
+
+${symbol_pound} Categories
+${symbol_pound} Each category can be set to a "level", and to direct to an appender
+
+${symbol_pound} Default to DEBUG level for all DataNucleus categories
+log4j.logger.DataNucleus = DEBUG, A1
+
+log4j.category.com.mchange.v2.c3p0=INFO, A1
+log4j.category.com.mchange.v2.resourcepool=INFO, A1
+log4j.category.org.logicalcobwebs.proxool=INFO,A1
+
+
+${symbol_pound} Hbase libs logging
+log4j.category.org.apache.hadoop=INFO,A1
+log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/pom.xml
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/pom.xml b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/pom.xml
new file mode 100644
index 0000000..6fe6115
--- /dev/null
+++ b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/pom.xml
@@ -0,0 +1,156 @@
+<?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>${groupId}</groupId>
+ <artifactId>${rootArtifactId}</artifactId>
+ <version>${version}</version>
+ </parent>
+
+ <artifactId>${artifactId}</artifactId>
+ <name>Quickstart DOM</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>maven-datanucleus-plugin</artifactId>
+ <version>3.1.1</version>
+ <configuration>
+ <fork>false</fork>
+ <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
+ <verbose>true</verbose>
+ <props>${basedir}/datanucleus.properties</props>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>enhance</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>maven-datanucleus-plugin</artifactId>
+ <versionRange>[3.0.2,)</versionRange>
+ <goals>
+ <goal>enhance</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+
+ <dependencyManagement>
+ <dependencies>
+ <!-- for DataNucleus, see below -->
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>jdo</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis</groupId>
+ <artifactId>applib</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt.objectstores</groupId>
+ <artifactId>jdo-applib</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.viewer</groupId>
+ <artifactId>wicket-applib</artifactId>
+ </dependency>
+
+
+ <!-- DataNucleus (horrid, but needed to run the enhancer)-->
+ <dependency>
+ <groupId>javax.jdo</groupId>
+ <artifactId>jdo-api</artifactId>
+ <exclusions>
+ <exclusion>
+ <!-- use geronimo-jta_1.1_spec instead -->
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-enhancer</artifactId>
+ <!--
+ <exclusions>
+ <exclusion>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm</artifactId>
+ </exclusion>
+ </exclusions>
+ -->
+ </dependency>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-api-jdo</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </dependency>
+
+
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditEntry.java
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditEntry.java b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditEntry.java
new file mode 100644
index 0000000..dae5b00
--- /dev/null
+++ b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditEntry.java
@@ -0,0 +1,136 @@
+/*
+ * 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.
+ */
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+package dom.audit;
+
+import javax.jdo.annotations.IdGeneratorStrategy;
+import javax.jdo.annotations.IdentityType;
+
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.Immutable;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.bookmarks.Bookmark;
+import org.apache.isis.applib.bookmarks.BookmarkHolder;
+import org.apache.isis.applib.value.DateTime;
+
+@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE)
+@javax.jdo.annotations.DatastoreIdentity(strategy=IdGeneratorStrategy.UUIDHEX)
+@Immutable
+public class AuditEntry implements BookmarkHolder {
+
+ // {{ TimestampUtc (property)
+ private Long timestampEpoch;
+
+ @Hidden
+ public Long getTimestampEpoch() {
+ return timestampEpoch;
+ }
+
+ public void setTimestampEpoch(final Long timestampEpoch) {
+ this.timestampEpoch = timestampEpoch;
+ }
+ // }}
+
+ // {{ Timestamp (property)
+ @Title(sequence="1")
+ @MemberOrder(sequence = "1")
+ public DateTime getTimestamp() {
+ return timestampEpoch != null? new DateTime(timestampEpoch): null;
+ }
+
+ // }}
+
+ // {{ User (property)
+ private String user;
+
+ @MemberOrder(sequence = "2")
+ public String getUser() {
+ return user;
+ }
+
+ public void setUser(final String user) {
+ this.user = user;
+ }
+ // }}
+
+ // {{ ObjectType (property)
+ private String objectType;
+
+ @Title(sequence="3", prepend=":")
+ @MemberOrder(sequence = "3")
+ public String getObjectType() {
+ return objectType;
+ }
+
+ public void setObjectType(final String objectType) {
+ this.objectType = objectType;
+ }
+ // }}
+
+ // {{ Identifier (property)
+ private String identifier;
+
+ @MemberOrder(sequence = "4")
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ public void setIdentifier(final String identifier) {
+ this.identifier = identifier;
+ }
+ // }}
+
+ // {{ PreValue (property)
+ private String preValue;
+
+ @MemberOrder(sequence = "5")
+ public String getPreValue() {
+ return preValue;
+ }
+
+ public void setPreValue(final String preValue) {
+ this.preValue = preValue;
+ }
+ // }}
+
+ // {{ PostValue (property)
+ private String postValue;
+
+ @MemberOrder(sequence = "6")
+ public String getPostValue() {
+ return postValue;
+ }
+
+ public void setPostValue(final String postValue) {
+ this.postValue = postValue;
+ }
+ // }}
+
+ // {{ bookmark (action)
+ @Override
+ @Programmatic
+ public Bookmark bookmark() {
+ return new Bookmark(getObjectType(), getIdentifier());
+ }
+ // }}
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cb83d4c7/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditServiceDemo.java
----------------------------------------------------------------------
diff --git a/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditServiceDemo.java b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditServiceDemo.java
new file mode 100644
index 0000000..e51d517
--- /dev/null
+++ b/framework/example/archetype/quickstart/src/main/resources/archetype-resources/dom/src/main/java/dom/audit/AuditServiceDemo.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+package dom.audit;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.runtimes.dflt.objectstores.jdo.applib.AuditService;
+
+public class AuditServiceDemo extends AbstractFactoryAndRepository implements AuditService {
+
+ public List<AuditEntry> list() {
+ return allInstances(AuditEntry.class);
+ }
+
+ @Hidden
+ public void audit(String user, long currentTimestampEpoch, String objectType, String identifier, String preValue, String postValue) {
+ AuditEntry auditEntry = newTransientInstance(AuditEntry.class);
+ auditEntry.setTimestampEpoch(currentTimestampEpoch);
+ auditEntry.setUser(user);
+ auditEntry.setObjectType(objectType);
+ auditEntry.setIdentifier(identifier);
+ auditEntry.setPreValue(preValue);
+ auditEntry.setPostValue(postValue);
+ persist(auditEntry);
+ }
+
+}