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 2013/10/08 08:46:59 UTC

[05/12] ISIS-555: new simple archetype; mothballing non-maintained examples

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Approver.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Approver.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Approver.java
new file mode 100644
index 0000000..a479da1
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Approver.java
@@ -0,0 +1,24 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.example.application.claims.dom.claim;
+
+public interface Approver {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claim.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claim.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claim.java
new file mode 100644
index 0000000..c4f9df4
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claim.java
@@ -0,0 +1,323 @@
+/*
+ *  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.example.application.claims.dom.claim;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.MaxLength;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.MustSatisfy;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.applib.spec.Specification;
+import org.apache.isis.applib.util.Reasons;
+import org.apache.isis.applib.value.Date;
+import org.apache.isis.applib.value.Money;
+
+/**
+ * @author danhaywood
+ */
+public class Claim extends AbstractDomainObject /* implements Calendarable */{
+
+    // {{ Title
+    public String title() {
+        return getStatus() + " - " + getDate();
+    }
+
+    // }}
+
+    // {{ Lifecycle
+    public void created() {
+        status = "New";
+        date = new Date(); // applib date uses the Clock
+    }
+
+    // }}
+
+    // {{ Rush
+    private boolean rush;
+
+    @Hidden
+    @MemberOrder(sequence = "1.2")
+    public boolean getRush() {
+        return rush;
+    }
+
+    public void setRush(final boolean flag) {
+        this.rush = flag;
+    }
+
+    // }}
+
+    // {{ Description
+    private String description;
+
+    @MemberOrder(sequence = "1")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+
+    public String defaultDescription() {
+        return "enter a description here";
+    }
+
+    public String validateDescription(final String description) {
+        if (description == null) {
+            return null;
+        }
+        if (description.contains("foobar")) {
+            return "can't contain foobar!";
+        }
+        return null;
+    }
+
+    // }}
+
+    // {{ Date
+    private Date date;
+
+    @MemberOrder(sequence = "2")
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(final Date date) {
+        this.date = date;
+    }
+
+    // }}
+
+    // {{ Status
+    /**
+     * @uml.property name="status"
+     */
+    private String status;
+
+    /**
+     * @return
+     * @uml.property name="status"
+     */
+    @Disabled
+    @MemberOrder(sequence = "3")
+    @MaxLength(5)
+    public String getStatus() {
+        return status;
+    }
+
+    /**
+     * @param status
+     * @uml.property name="status"
+     */
+    public void setStatus(final String status) {
+        this.status = status;
+    }
+
+    // }}
+
+    // {{ changeStatus
+    @MemberOrder(sequence = "1")
+    public void changeStatus(@MustSatisfy(ClaimStatus.ChoicesSpecification.class) final String status) {
+        setStatus(status);
+    }
+
+    public List<String> choices0ChangeStatus() {
+        return ClaimStatus.ALL;
+    }
+
+    private String ifAlreadySubmitted() {
+        return ClaimStatus.SUBMITTED.equals(getStatus()) ? "Already submitted" : null;
+    }
+
+    // }}
+
+    // {{ Claimant
+    /**
+     * @uml.property name="claimant"
+     * @uml.associationEnd
+     */
+    private Claimant claimant;
+
+    /**
+     * @return
+     * @uml.property name="claimant"
+     */
+    @Disabled
+    @MemberOrder(sequence = "4")
+    public Claimant getClaimant() {
+        return claimant;
+    }
+
+    /**
+     * @param claimant
+     * @uml.property name="claimant"
+     */
+    public void setClaimant(final Claimant claimant) {
+        this.claimant = claimant;
+    }
+
+    // }}
+
+    // {{ Approver
+    private Approver approver;
+
+    // @Disabled
+    @MemberOrder(sequence = "5")
+    @Optional
+    public Approver getApprover() {
+        return approver;
+    }
+
+    public void setApprover(final Approver approver) {
+        this.approver = approver;
+    }
+
+    public String disableApprover() {
+        return getDescription().contains("baz") ? "desc contains baz" : null;
+    }
+
+    public String validateApprover(final Approver approver) {
+        if (approver == null) {
+            return null;
+        }
+        return approver == getClaimant() ? "Can't approve own claims" : null;
+    }
+
+    // }}
+
+    // {{ Items
+    private final List<ClaimItem> items = new ArrayList<ClaimItem>();
+
+    @MemberOrder(sequence = "6")
+    public List<ClaimItem> getItems() {
+        return items;
+    }
+
+    public void addToItems(final ClaimItem item) {
+        items.add(item);
+    }
+
+    public void removeFromItems(final ClaimItem item) {
+        items.remove(item);
+    }
+
+    // }}
+
+    // {{ action: Submit
+    public void submit(final Approver approver) {
+        setStatus(ClaimStatus.SUBMITTED);
+        setApprover(approver);
+    }
+
+    public String disableSubmit(final Approver approver) {
+        return !ClaimStatus.SUBMITTED.equals(getStatus()) ? null : "Claim has already been submitted";
+    }
+
+    public Approver default0Submit() {
+        return getClaimant().getDefaultApprover();
+    }
+
+    // }}
+
+    // {{ action: addItem
+    @MemberOrder(sequence = "1")
+    public void addItem(@Named("Days since") final int days, @Named("Amount") final double amount, @Named("Description") final String description) {
+        final ClaimItem claimItem = newTransientInstance(ClaimItem.class);
+        Date date = new Date();
+        date = date.add(0, 0, days);
+        claimItem.setDateIncurred(date);
+        claimItem.setDescription(description);
+        claimItem.setAmount(new Money(amount, "USD"));
+        persist(claimItem);
+        addToItems(claimItem);
+    }
+
+    public String disableAddItem(final int days, final double amount, final String description) {
+        return Reasons.coalesce(ifAlreadySubmitted());
+    }
+
+    // }}
+
+    // {{ removeItem
+    @MemberOrder(sequence = "2")
+    public void removeItem(final ClaimItem claimItem) {
+        removeFromItems(claimItem);
+    }
+
+    public String disableRemoveItem(final ClaimItem claimItem) {
+        return Reasons.coalesce(ifAlreadySubmitted());
+    }
+
+    public ClaimItem default0RemoveItem() {
+        if (getItems().size() > 0) {
+            return getItems().get(getItems().size() - 1);
+        } else {
+            return null;
+        }
+    }
+
+    public List<ClaimItem> choices0RemoveItem() {
+        return Collections.unmodifiableList(getItems());
+    }
+
+    // }}
+
+    public String validate() {
+        if (ClaimStatus.INCOMPLETE.equals(getStatus())) {
+            return "incomplete";
+        }
+        if (getDescription().contains("foobaz")) {
+            return "no 'foobaz' allowed in description!";
+        }
+        return null;
+    }
+
+    public static class ClaimStatus {
+
+        private static final String NEW = "New";
+        private static final String INCOMPLETE = "Incomplete";
+        private static final String SUBMITTED = "Submitted";
+
+        public static final List<String> ALL = Collections.unmodifiableList(Arrays.asList(NEW, INCOMPLETE, SUBMITTED));
+
+        public static class ChoicesSpecification implements Specification {
+
+            @Override
+            public String satisfies(final Object obj) {
+                for (final String str : ALL) {
+                    if (str.equals(obj)) {
+                        return null;
+                    }
+                }
+                return "Must be one of " + ALL;
+            }
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimItem.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimItem.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimItem.java
new file mode 100644
index 0000000..0422040
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimItem.java
@@ -0,0 +1,77 @@
+/*
+ *  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.example.application.claims.dom.claim;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.value.Date;
+import org.apache.isis.applib.value.Money;
+
+public class ClaimItem extends AbstractDomainObject {
+
+    // {{ Title
+    public String title() {
+        return getDescription();
+    }
+
+    // }}
+
+    // {{ DateIncurred
+    private Date dateIncurred;
+
+    @MemberOrder(sequence = "1")
+    public Date getDateIncurred() {
+        return dateIncurred;
+    }
+
+    public void setDateIncurred(final Date dateIncurred) {
+        this.dateIncurred = dateIncurred;
+    }
+
+    // }}
+
+    // {{ Description
+    private String description;
+
+    @MemberOrder(sequence = "2")
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+
+    // }}
+
+    // {{ Amount
+    private Money amount;
+
+    @MemberOrder(sequence = "3")
+    public Money getAmount() {
+        return amount;
+    }
+
+    public void setAmount(final Money price) {
+        this.amount = price;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimRepository.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimRepository.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimRepository.java
new file mode 100644
index 0000000..3132d57
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/ClaimRepository.java
@@ -0,0 +1,133 @@
+/*
+ *  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.example.application.claims.dom.claim;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.NotContributed;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
+import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.applib.value.Date;
+
+@Named("Claims")
+public class ClaimRepository extends AbstractFactoryAndRepository {
+
+    // {{ Id, iconName
+    @Override
+    public String getId() {
+        return "claims";
+    }
+
+    public String iconName() {
+        return "ClaimRepository";
+    }
+
+    // }}
+
+    // {{ action: allClaims
+    public List<Claim> allClaims() {
+        return allInstances(Claim.class);
+    }
+
+    // }}
+
+    // {{ action: findClaims
+    public List<Claim> findClaims(@Named("Description") String description) {
+        return allMatches(Claim.class, description);
+    }
+
+    // }}
+
+    // {{ action: claimsFor
+    public List<Claim> claimsFor(final Claimant claimant) {
+        final Claim pattern = newTransientInstance(Claim.class);
+        pattern.setDescription(null);
+        pattern.setApprover(null);
+        pattern.setStatus(null);
+        pattern.setDate(null);
+        pattern.setClaimant(claimant);
+        return allMatches(Claim.class, pattern);
+    }
+
+    // }}
+
+    // {{ action: newClaim
+    public Claim newClaim(final Claimant claimant) {
+        final Claim claim = newTransientInstance(Claim.class);
+        if (claimant != null) {
+            claim.setClaimant(claimant);
+            claim.setApprover(claimant.getDefaultApprover());
+        }
+        return claim;
+    }
+
+    // }}
+
+    // {{ action: newClaimWithDescription
+    @Named("New Claim")
+    public Claim newClaimWithDescription(Claimant claimant, String description) {
+        final Claim claim = newClaim(claimant);
+        claim.setDescription(description);
+        return claim;
+    }
+
+    // }}
+
+    // {{ action: claimsSince
+    @NotInServiceMenu
+    public List<Claim> claimsSince(final Claimant claimant, final Date since) {
+        return allMatches(Claim.class, new Filter<Claim>() {
+
+            @Override
+            public boolean accept(final Claim pojo) {
+                return pojo.getClaimant() == claimant && pojo.getDate() != null && pojo.getDate().isGreaterThan(since);
+            }
+        });
+    }
+
+    public String validateClaimsSince(final Claimant claimant, final Date since) {
+        final Date today = new Date();
+        return since.isGreaterThan(today) ? "cannot be after today" : null;
+    }
+
+    // }}
+
+    @NotContributed
+    int countClaimsFor(Claimant claimant) {
+        return claimsFor(claimant).size();
+    }
+
+    @NotContributed
+    Claim mostRecentClaim(Claimant claimant) {
+        final List<Claim> claims = claimsFor(claimant);
+        Collections.sort(claims, new Comparator<Claim>() {
+            @Override
+            public int compare(final Claim o1, final Claim o2) {
+                return o1.getDate().isLessThan(o2.getDate()) ? +1 : -1;
+            }
+        });
+        return claims.size() > 0 ? claims.get(0) : null;
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claimant.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claimant.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claimant.java
new file mode 100644
index 0000000..2d82053
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/claim/Claimant.java
@@ -0,0 +1,28 @@
+/*
+ *  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.example.application.claims.dom.claim;
+
+public interface Claimant {
+
+    Approver getDefaultApprover();
+
+    String title();
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/Employee.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/Employee.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/Employee.java
new file mode 100644
index 0000000..2ecba9d
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/Employee.java
@@ -0,0 +1,98 @@
+/*
+ *  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.example.application.claims.dom.employee;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.example.application.claims.dom.claim.Approver;
+import org.apache.isis.example.application.claims.dom.claim.Claimant;
+
+public class Employee extends AbstractDomainObject implements Claimant, Approver {
+
+    // {{ Title
+    @Override
+    public String title() {
+        return getName();
+    }
+
+    // }}
+
+    // {{ Icon
+    public String iconName() {
+        return getName().replaceAll(" ", "");
+    }
+
+    // }}
+
+    // {{ Name
+    private String name;
+
+    @MemberOrder(sequence = "1")
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String lastName) {
+        this.name = lastName;
+    }
+
+    // }}
+
+    // {{ Approver
+    private Approver defaultApprover;
+
+    @Override
+    @MemberOrder(sequence = "2")
+    public Approver getDefaultApprover() {
+        return defaultApprover;
+    }
+
+    public void setDefaultApprover(final Approver approver) {
+        this.defaultApprover = approver;
+    }
+
+    public String validateDefaultApprover(final Approver approver) {
+        if (approver == null) {
+            return null;
+        }
+        if (approver == this) {
+            return "Cannot act as own approver";
+        }
+        return null;
+    }
+
+    // }}
+
+    // {{ Limit
+    private Integer limit;
+
+    @Optional
+    @MemberOrder(sequence = "1")
+    public Integer getLimit() {
+        return limit;
+    }
+
+    public void setLimit(final Integer limit) {
+        this.limit = limit;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeRepository.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeRepository.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeRepository.java
new file mode 100644
index 0000000..739d621
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeRepository.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.example.application.claims.dom.employee;
+
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.Named;
+
+@Named("Employees")
+public class EmployeeRepository extends AbstractFactoryAndRepository {
+
+
+    // {{ Id, iconName
+    @Override
+    public String getId() {
+        return "claimants";
+    }
+
+    public String iconName() {
+        return "EmployeeRepository";
+    }
+    // }}
+
+    // {{ action: allEmployees
+    public List<Employee> allEmployees() {
+        return allInstances(Employee.class);
+    }
+
+    // }}
+
+    // {{ action: findEmployees
+    public List<Employee> findEmployees(@Named("Name") String name) {
+        return allMatches(Employee.class, name);
+    }
+    // }}
+    
+    // {{ action: newEmployee
+    public EmployeeTakeOn newEmployee() {
+        return newTransientInstance(EmployeeTakeOn.class);
+    }
+    // }}
+    
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeTakeOn.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeTakeOn.java b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeTakeOn.java
new file mode 100644
index 0000000..2feccfb
--- /dev/null
+++ b/mothballed/example/application/claims/dom/src/main/java/org/apache/isis/example/application/claims/dom/employee/EmployeeTakeOn.java
@@ -0,0 +1,150 @@
+/*
+ *  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.example.application.claims.dom.employee;
+
+import org.apache.isis.applib.AbstractDomainObject;
+import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.example.application.claims.dom.claim.Approver;
+
+public class EmployeeTakeOn extends AbstractDomainObject {
+
+    // {{ Lifecycle methods
+    public void created() {
+        state = "page1";
+    }
+
+    // }}
+
+    // {{ Name
+    private String name;
+
+    @MemberOrder(sequence = "1")
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    public boolean hideName() {
+        return !state.equals("page1") && isNotLast();
+    }
+
+    public String disableName() {
+        return disableToConfirmIfLast();
+    }
+
+    // }}
+
+    // {{ Approver
+    private Approver approver;
+
+    @MemberOrder(sequence = "2")
+    @Optional
+    public Approver getApprover() {
+        return approver;
+    }
+
+    public void setApprover(final Approver approver) {
+        this.approver = approver;
+    }
+
+    public boolean hideApprover() {
+        return !state.equals("page2") && isNotLast();
+    }
+
+    public String disableApprover() {
+        return disableToConfirmIfLast();
+    }
+
+    // }}
+
+    // {{ next
+    @MemberOrder(sequence = "1")
+    public EmployeeTakeOn next() {
+        if (state.equals("page1")) {
+            state = "page2";
+        } else if (state.equals("page2")) {
+            state = "page3";
+        }
+        return this;
+    }
+
+    public boolean hideNext() {
+        return isLast();
+    }
+
+    // }}
+
+    // {{ finish
+    @MemberOrder(sequence = "2")
+    public Employee finish() {
+        final Employee employee = newTransientInstance(Employee.class);
+        employee.setName(getName());
+        employee.setDefaultApprover(approver);
+        persist(employee);
+        return employee;
+    }
+
+    public boolean hideFinish() {
+        return isNotLast();
+    }
+
+    // }}
+
+    // {{ State
+    private String state;
+
+    @MemberOrder(sequence = "1")
+    @Hidden
+    public String getState() {
+        return state;
+    }
+
+    public void setState(final String state) {
+        this.state = state;
+    }
+
+    // }}
+
+    // {{ NotLast
+    @MemberOrder(sequence = "1")
+    @Hidden
+    public boolean isNotLast() {
+        return !isLast();
+    }
+
+    // }}
+
+    // {{ Last
+    @MemberOrder(sequence = "1")
+    @Hidden
+    public boolean isLast() {
+        return state.equals("page3");
+    }
+
+    private String disableToConfirmIfLast() {
+        return isLast() ? "confirm" : null;
+    }
+    // }}
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/Claim.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/Claim.gif b/mothballed/example/application/claims/dom/src/main/resources/images/Claim.gif
new file mode 100644
index 0000000..abe8c9c
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/Claim.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/ClaimItem.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/ClaimItem.gif b/mothballed/example/application/claims/dom/src/main/resources/images/ClaimItem.gif
new file mode 100644
index 0000000..8ec80df
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/ClaimItem.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/ClaimRepository.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/ClaimRepository.gif b/mothballed/example/application/claims/dom/src/main/resources/images/ClaimRepository.gif
new file mode 100644
index 0000000..a5fc6ff
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/ClaimRepository.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/Employee.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/Employee.gif b/mothballed/example/application/claims/dom/src/main/resources/images/Employee.gif
new file mode 100644
index 0000000..b2015dc
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/Employee.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/EmployeeRepository.gif
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/EmployeeRepository.gif b/mothballed/example/application/claims/dom/src/main/resources/images/EmployeeRepository.gif
new file mode 100644
index 0000000..dde9be8
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/EmployeeRepository.gif differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/FredSmith.jpg
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/FredSmith.jpg b/mothballed/example/application/claims/dom/src/main/resources/images/FredSmith.jpg
new file mode 100644
index 0000000..1f5c7ea
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/FredSmith.jpg differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/SamJones.jpg
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/SamJones.jpg b/mothballed/example/application/claims/dom/src/main/resources/images/SamJones.jpg
new file mode 100644
index 0000000..6aeadde
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/SamJones.jpg differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/dom/src/main/resources/images/TomBrown.jpg
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/dom/src/main/resources/images/TomBrown.jpg b/mothballed/example/application/claims/dom/src/main/resources/images/TomBrown.jpg
new file mode 100644
index 0000000..e24f534
Binary files /dev/null and b/mothballed/example/application/claims/dom/src/main/resources/images/TomBrown.jpg differ

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/fixture/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/fixture/pom.xml b/mothballed/example/application/claims/fixture/pom.xml
new file mode 100644
index 0000000..1116d28
--- /dev/null
+++ b/mothballed/example/application/claims/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.example.application</groupId>
+        <artifactId>claims</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+	<artifactId>claims-fixture</artifactId>
+	<name>Example Claims App Fixtures</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>claims-dom</artifactId>
+		</dependency>
+	</dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsFixture.java b/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsFixture.java
new file mode 100644
index 0000000..aaf9bb6
--- /dev/null
+++ b/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsFixture.java
@@ -0,0 +1,82 @@
+/*
+ *  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.example.application.claims.fixture;
+
+import org.apache.isis.applib.fixtures.AbstractFixture;
+import org.apache.isis.applib.value.Date;
+import org.apache.isis.applib.value.Money;
+import org.apache.isis.example.application.claims.dom.claim.Claim;
+import org.apache.isis.example.application.claims.dom.claim.ClaimItem;
+import org.apache.isis.example.application.claims.dom.employee.Employee;
+
+public class ClaimsFixture extends AbstractFixture {
+
+    @Override
+    public void install() {
+        final Employee fred = createEmployee("Fred Smith", null);
+        final Employee tom = createEmployee("Tom Brown", fred);
+        createEmployee("Sam Jones", fred);
+
+        Claim claim = createClaim(tom, -16, "Meeting with client");
+        addItem(claim, -16, 38.50, "Lunch with client");
+        addItem(claim, -16, 16.50, "Euston - Mayfair (return)");
+
+        claim = createClaim(tom, -18, "Meeting in city office");
+        addItem(claim, -16, 18.00, "Car parking");
+        addItem(claim, -16, 26.50, "Reading - London (return)");
+
+        claim = createClaim(fred, -14, "Meeting at clients");
+        addItem(claim, -14, 18.00, "Car parking");
+        addItem(claim, -14, 26.50, "Reading - London (return)");
+
+    }
+
+    private Employee createEmployee(final String name, final Employee approver) {
+        Employee claimant;
+        claimant = newTransientInstance(Employee.class);
+        claimant.setName(name);
+        claimant.setDefaultApprover(approver);
+        persist(claimant);
+        return claimant;
+    }
+
+    private Claim createClaim(final Employee claimant, final int days, final String description) {
+        final Claim claim = newTransientInstance(Claim.class);
+        claim.setClaimant(claimant);
+        claim.setDescription(description);
+        Date date = new Date();
+        date = date.add(0, 0, days);
+        claim.setDate(date);
+        persist(claim);
+        return claim;
+    }
+
+    private void addItem(final Claim claim, final int days, final double amount, final String description) {
+        final ClaimItem claimItem = newTransientInstance(ClaimItem.class);
+        Date date = new Date();
+        date = date.add(0, 0, days);
+        claimItem.setDateIncurred(date);
+        claimItem.setDescription(description);
+        claimItem.setAmount(new Money(amount, "USD"));
+        persist(claimItem);
+        claim.addToItems(claimItem);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsLogonFixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsLogonFixture.java b/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsLogonFixture.java
new file mode 100644
index 0000000..8ad749a
--- /dev/null
+++ b/mothballed/example/application/claims/fixture/src/main/java/org/apache/isis/example/application/claims/fixture/ClaimsLogonFixture.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.example.application.claims.fixture;
+
+import org.apache.isis.applib.fixtures.LogonFixture;
+
+public class ClaimsLogonFixture extends LogonFixture {
+
+    public ClaimsLogonFixture() {
+        super("bill");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/pom.xml b/mothballed/example/application/claims/pom.xml
new file mode 100644
index 0000000..b01af39
--- /dev/null
+++ b/mothballed/example/application/claims/pom.xml
@@ -0,0 +1,248 @@
+<?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>
+
+	<groupId>org.apache.isis.example.application</groupId>
+	<artifactId>claims</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+
+	<name>Example Claims</name>
+	<description>Example of a claims submitting application</description>
+
+	<packaging>pom</packaging>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+        <isis.version>1.3.0-SNAPSHOT</isis.version>
+        <isis-objectstore-xml.version>1.0.0-SNAPSHOT</isis-objectstore-xml.version>
+        <isis-profilestore-xml.version>1.0.0-SNAPSHOT</isis-profilestore-xml.version>
+        <isis-security-file.version>1.0.2-SNAPSHOT</isis-security-file.version>
+        <isis-viewer-dnd.version>1.0.0-SNAPSHOT</isis-viewer-dnd.version>
+        <isis-viewer-wicket.version>1.3.0-SNAPSHOT</isis-viewer-wicket.version>
+        <isis-viewer-scimpi.version>1.0.0-SNAPSHOT</isis-viewer-scimpi.version>
+        <datanucleus-core.version>3.2.7</datanucleus-core.version>
+    </properties>
+
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-compiler-plugin</artifactId>
+					<version>2.3.1</version>
+					<configuration>
+						<source>1.6</source>
+						<target>1.6</target>
+					</configuration>
+					<executions>
+						<execution>
+							<id>source</id>
+							<phase>compile</phase>
+						</execution>
+						<execution>
+							<id>test</id>
+							<phase>test-compile</phase>
+						</execution>
+					</executions>
+				</plugin>
+
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-surefire-plugin</artifactId>
+					<version>2.5</version>
+					<configuration>
+						<excludes>
+							<exclude>**/Test*.java</exclude>
+						</excludes>
+						<useFile>true</useFile>
+						<printSummary>false</printSummary>
+						<outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
+					</configuration>
+				</plugin>
+
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-surefire-report-plugin</artifactId>
+					<version>2.5</version>
+					<configuration>
+						<excludes>
+							<exclude>**/Test*.java</exclude>
+						</excludes>
+						<showSuccess>false</showSuccess>
+					</configuration>
+					<executions>
+						<execution>
+							<phase>test</phase>
+						</execution>
+					</executions>
+				</plugin>
+
+				<plugin>
+					<groupId>org.mortbay.jetty</groupId>
+					<artifactId>maven-jetty-plugin</artifactId>
+					<version>6.1.25</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-shade-plugin</artifactId>
+					<version>1.4</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-antrun-plugin</artifactId>
+					<version>1.6</version>
+					<executions>
+						<execution>
+							<goals>
+								<goal>run</goal>
+							</goals>
+						</execution>
+					</executions>
+				</plugin>
+				
+				<!-- http://simplericity.com/2009/11/10/1257880778509.html -->
+                <plugin>
+                    <groupId>org.simplericity.jettyconsole</groupId>
+                    <artifactId>jetty-console-maven-plugin</artifactId>
+                    <version>1.43</version>
+                </plugin>
+  			</plugins>
+
+		</pluginManagement>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-report-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+	<modules>
+		<module>dom</module>
+		<module>fixture</module>
+        <module>viewer-scimpi</module>
+		<module>viewer-wicket</module>
+		<module>viewer-dnd</module>
+	</modules>
+
+    <dependencyManagement>
+        <dependencies>
+
+            <dependency>
+                <groupId>org.apache.isis.core</groupId>
+                <artifactId>isis</artifactId>
+                <version>${isis.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.objectstore</groupId>
+                <artifactId>isis-objectstore-xml</artifactId>
+                <version>${isis-objectstore-xml.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.profilestore</groupId>
+                <artifactId>isis-profilestore-xml</artifactId>
+                <version>${isis-profilestore-xml.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.viewer</groupId>
+                <artifactId>isis-viewer-dnd</artifactId>
+                <version>${isis-viewer-dnd.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.viewer</groupId>
+                <artifactId>isis-viewer-wicket</artifactId>
+                <version>${isis-viewer-wicket.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.isis.viewer</groupId>
+                <artifactId>isis-viewer-scimpi</artifactId>
+                <version>${isis-viewer-scimpi.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+
+            <dependency>
+                <groupId>org.apache.isis.security</groupId>
+                <artifactId>isis-security-file</artifactId>
+                <version>${isis-security-file.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+
+			<!-- this project's own modules -->
+			<dependency>
+				<groupId>${project.groupId}</groupId>
+				<artifactId>claims-dom</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+			<dependency>
+				<groupId>${project.groupId}</groupId>
+				<artifactId>claims-fixture</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+			<dependency>
+				<groupId>${project.groupId}</groupId>
+				<artifactId>viewer-html</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+			<dependency>
+				<groupId>${project.groupId}</groupId>
+				<artifactId>tests-unit</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>claims-viewer-dnd</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+
+			<dependency>
+				<groupId>${project.groupId}</groupId>
+				<artifactId>viewer-scimpi</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+
+		</dependencies>
+	</dependencyManagement>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/pom.xml b/mothballed/example/application/claims/viewer-bdd/pom.xml
new file mode 100644
index 0000000..38cb7db
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/pom.xml
@@ -0,0 +1,107 @@
+<?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.example.application</groupId>
+        <artifactId>claims</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+	<artifactId>claims-viewer-bdd</artifactId>
+
+	<name>Example Claims App: BDD (Concordion) Tests</name>
+    
+    <properties>
+        <maven.test.skip>true</maven.test.skip>
+    </properties>
+
+    <build>
+		<plugins>
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <concordion.output.dir>${project.build.directory}/concordion</concordion.output.dir>
+                    </systemPropertyVariables>
+                    <includes>
+                         <include>**/AllStories.java</include>
+                    </includes>
+                </configuration>
+            </plugin>
+		</plugins>
+    </build>
+	
+	<dependencies>
+
+		<!-- this project's dependencies -->
+		<dependency>
+			<groupId>org.apache.isis.example.application</groupId>
+            <artifactId>claims-dom</artifactId>
+        </dependency>
+
+        <!-- isis core -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-metamodel</artifactId>
+        </dependency>
+
+        <!-- isis default runtime -->
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-bytecode-cglib</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-objectstore</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.objectstore</groupId>
+            <artifactId>isis-objectstore-xml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-profilestore</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-security</artifactId>
+        </dependency>
+
+
+		<!-- BDD Viewers concordion dependencies -->
+		<dependency>
+			<groupId>org.apache.isis.viewer</groupId>
+            <artifactId>isis-viewer-bdd-concordion</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!--  direct dependency required because is LGPL licensed -->
+        <dependency>
+            <groupId>xom</groupId>
+            <artifactId>xom</artifactId>
+            <version>1.2.5</version>
+        </dependency>
+
+	</dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/main/resources/isis.properties
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/main/resources/isis.properties b/mothballed/example/application/claims/viewer-bdd/src/main/resources/isis.properties
new file mode 100644
index 0000000..3d8a4bd
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/main/resources/isis.properties
@@ -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.
+isis.services.prefix = org.apache.isis.example.claims.objstore.dflt
+isis.services = employee.EmployeeRepositoryDefault, claim.ClaimRepositoryDefault
+
+isis.fixtures.prefix= org.apache.isis.example.claims.fixture
+isis.fixtures= ClaimsFixture
+
+isis.exploration.users=sven, dick, bob
+
+
+isis.reflector.class-substitutor=org.apache.isis.runtimes.dflt.bytecode.dflt.classsubstitutor.CglibClassSubstitutor
+#isis.reflector.class-substitutor=org.apache.isis.runtimes.dflt.bytecode.javassist.classsubstitutor.JavassistClassSubstitutor
+#isis.reflector.class-substitutor=org.apache.isis.runtimes.dflt.bytecode.identity.classsubstitutor.ClassSubstitutorIdentity
+
+isis.persistor.object-factory=org.apache.isis.runtimes.dflt.bytecode.dflt.objectfactory.CglibObjectFactory
+#isis.persistor.object-factory=org.apache.isis.runtimes.dflt.bytecode.javassist.objectfactory.JavassistObjectFactory
+#isis.persistor.object-factory=org.apache.isis.runtimes.dflt.bytecode.identity.objectfactory.ObjectFactoryBasic
+
+
+isis.persistor.domain-object-container=org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
+#isis.persistor.domain-object-container=org.apache.isis.progmodel.wrapper.metamodel.DomainObjectContainerWrapperFactory
+
+
+#isis.reflector.facets.include=org.apache.isis.runtimes.dflt.runtime.authorization.standard.AuthorizationFacetFactoryImpl
+#isis.authorization.learn=true
+
+isis.persistor=in-memory
+#isis.xmlos.dir=/tmp/xml
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/AbstractApplicationStory.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/AbstractApplicationStory.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/AbstractApplicationStory.java
new file mode 100644
index 0000000..05a5481
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/AbstractApplicationStory.java
@@ -0,0 +1,34 @@
+/*
+ *  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.example.application.claims;
+
+import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
+
+public abstract class AbstractApplicationStory extends AbstractIsisConcordionScenario {
+
+    /**
+     * This superclass also acts as the marker for the location of the custom
+     * CSS.
+     */
+    @Override
+    protected Class<?> customCssPackage() {
+        return AbstractApplicationStory.class;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInExplorationMode.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInExplorationMode.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInExplorationMode.java
new file mode 100644
index 0000000..0accb3f
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInExplorationMode.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.common;
+
+import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
+
+public class BootstrapInExplorationMode extends AbstractIsisConcordionScenario {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInPrototypeMode.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInPrototypeMode.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInPrototypeMode.java
new file mode 100644
index 0000000..6b269d9
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/BootstrapInPrototypeMode.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.common;
+
+import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
+
+public class BootstrapInPrototypeMode extends AbstractIsisConcordionScenario {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/Employees.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/Employees.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/Employees.java
new file mode 100644
index 0000000..d3be0f4
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/common/Employees.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.common;
+
+import org.apache.isis.viewer.bdd.concordion.AbstractIsisConcordionScenario;
+
+public class Employees extends AbstractIsisConcordionScenario {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/AllStories.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/AllStories.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/AllStories.java
new file mode 100644
index 0000000..2506c86
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/AllStories.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.stories;
+
+import org.apache.isis.example.application.claims.AbstractApplicationStory;
+
+public class AllStories extends AbstractApplicationStory {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Fixture.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Fixture.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Fixture.java
new file mode 100644
index 0000000..5155ad2
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Fixture.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.stories.newClaim;
+
+import org.apache.isis.example.application.claims.AbstractApplicationStory;
+
+public class Fixture extends AbstractApplicationStory {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Index.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Index.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Index.java
new file mode 100644
index 0000000..8a3b5a6
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/Index.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.stories.newClaim;
+
+import org.apache.isis.example.application.claims.AbstractApplicationStory;
+
+public class Index extends AbstractApplicationStory {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioDefaultsOk.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioDefaultsOk.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioDefaultsOk.java
new file mode 100644
index 0000000..3a28731
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioDefaultsOk.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.stories.newClaim;
+
+import org.apache.isis.example.application.claims.AbstractApplicationStory;
+
+public class ScenarioDefaultsOk extends AbstractApplicationStory {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioOnceCreatedShowsUpForClaimant.java
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioOnceCreatedShowsUpForClaimant.java b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioOnceCreatedShowsUpForClaimant.java
new file mode 100644
index 0000000..7238d57
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/java/org/apache/isis/example/application/claims/stories/newClaim/ScenarioOnceCreatedShowsUpForClaimant.java
@@ -0,0 +1,25 @@
+/*
+ *  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.example.application.claims.stories.newClaim;
+
+import org.apache.isis.example.application.claims.AbstractApplicationStory;
+
+public class ScenarioOnceCreatedShowsUpForClaimant extends AbstractApplicationStory {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/3df42bf4/mothballed/example/application/claims/viewer-bdd/src/test/resources/dtd/xhtml-lat1.ent
----------------------------------------------------------------------
diff --git a/mothballed/example/application/claims/viewer-bdd/src/test/resources/dtd/xhtml-lat1.ent b/mothballed/example/application/claims/viewer-bdd/src/test/resources/dtd/xhtml-lat1.ent
new file mode 100644
index 0000000..ffee223
--- /dev/null
+++ b/mothballed/example/application/claims/viewer-bdd/src/test/resources/dtd/xhtml-lat1.ent
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+    <!ENTITY % HTMLlat1 PUBLIC
+       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
+    %HTMLlat1;
+-->
+
+<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
+                                  U+00A0 ISOnum -->
+<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
+                                  U+00A6 ISOnum -->
+<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
+                                  U+00A8 ISOdia -->
+<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
+                                  = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
+                                  U+00AC ISOnum -->
+<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
+                                  U+00AD ISOnum -->
+<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
+                                  U+00AE ISOnum -->
+<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
+                                  = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
+                                  U+00B1 ISOnum -->
+<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
+                                  = squared, U+00B2 ISOnum -->
+<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
+                                  = cubed, U+00B3 ISOnum -->
+<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
+                                  U+00B4 ISOdia -->
+<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
+                                  U+00B6 ISOnum -->
+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
+                                  = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
+                                  U+00B9 ISOnum -->
+<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
+                                  U+00BA ISOnum -->
+<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
+                                  = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
+                                  = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
+                                  = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
+                                  = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;"> <!-- inverted question mark
+                                  = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
+                                  = latin capital letter A grave,
+                                  U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
+                                  U+00C1 ISOlat1 -->
+<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
+                                  U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
+                                  U+00C3 ISOlat1 -->
+<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
+                                  U+00C4 ISOlat1 -->
+<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
+                                  = latin capital letter A ring,
+                                  U+00C5 ISOlat1 -->
+<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
+                                  = latin capital ligature AE,
+                                  U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
+                                  U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
+                                  U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
+                                  U+00C9 ISOlat1 -->
+<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
+                                  U+00CA ISOlat1 -->
+<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
+                                  U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
+                                  U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
+                                  U+00CD ISOlat1 -->
+<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
+                                  U+00CE ISOlat1 -->
+<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
+                                  U+00CF ISOlat1 -->
+<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
+                                  U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
+                                  U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
+                                  U+00D3 ISOlat1 -->
+<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
+                                  U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
+                                  U+00D5 ISOlat1 -->
+<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
+                                  U+00D6 ISOlat1 -->
+<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
+                                  = latin capital letter O slash,
+                                  U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
+                                  U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
+                                  U+00DA ISOlat1 -->
+<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
+                                  U+00DB ISOlat1 -->
+<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
+                                  U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
+                                  U+00DD ISOlat1 -->
+<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
+                                  U+00DE ISOlat1 -->
+<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
+                                  U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
+                                  = latin small letter a grave,
+                                  U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
+                                  U+00E1 ISOlat1 -->
+<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
+                                  U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
+                                  U+00E3 ISOlat1 -->
+<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
+                                  U+00E4 ISOlat1 -->
+<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
+                                  = latin small letter a ring,
+                                  U+00E5 ISOlat1 -->
+<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
+                                  = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
+                                  U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
+                                  U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
+                                  U+00E9 ISOlat1 -->
+<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
+                                  U+00EA ISOlat1 -->
+<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
+                                  U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
+                                  U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
+                                  U+00ED ISOlat1 -->
+<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
+                                  U+00EE ISOlat1 -->
+<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
+                                  U+00EF ISOlat1 -->
+<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
+                                  U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
+                                  U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
+                                  U+00F3 ISOlat1 -->
+<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
+                                  U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
+                                  U+00F5 ISOlat1 -->
+<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
+                                  U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
+                                  = latin small letter o slash,
+                                  U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
+                                  U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
+                                  U+00FA ISOlat1 -->
+<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
+                                  U+00FB ISOlat1 -->
+<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
+                                  U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
+                                  U+00FD ISOlat1 -->
+<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
+                                  U+00FE ISOlat1 -->
+<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
+                                  U+00FF ISOlat1 -->