You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/08/13 00:23:11 UTC
[11/21] ISIS-839: updating todoapp archetype
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
deleted file mode 100644
index 3423a34..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_add.java
+++ /dev/null
@@ -1,181 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.colls;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItemSubscriptions;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.NonRecoverableException;
-import org.apache.isis.applib.RecoverableException;
-import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
-
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-public class ToDoItemTest_dependencies_add extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
-
- @Inject
- private ToDoItems toDoItems;
- @Inject
- private ToDoItemSubscriptions toDoItemSubscriptions;
-
- private ToDoItem toDoItem;
- private ToDoItem otherToDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> items = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(items.get(0));
- otherToDoItem = wrap(items.get(1));
- }
-
- @After
- public void tearDown() throws Exception {
- unwrap(toDoItem).getDependencies().clear();
- toDoItemSubscriptions.reset();
- }
-
- @Test
- public void happyCase() throws Exception {
-
- // given
- assertThat(toDoItem.getDependencies().size(), is(0));
-
- // when
- toDoItem.add(otherToDoItem);
-
- // then
- assertThat(toDoItem.getDependencies().size(), is(1));
- assertThat(toDoItem.getDependencies().first(), is(unwrap(otherToDoItem)));
-
- // and then
- @SuppressWarnings("unchecked")
- final CollectionAddedToEvent<ToDoItem,ToDoItem> ev = toDoItemSubscriptions.mostRecentlyReceivedEvent(CollectionAddedToEvent.class);
- assertThat(ev, is(not(nullValue())));
-
- ToDoItem source = ev.getSource();
- assertThat(source, is(equalTo(unwrap(toDoItem))));
- assertThat(ev.getIdentifier().getMemberName(), is("dependencies"));
- assertThat(ev.getValue(), is(unwrap(otherToDoItem)));
- }
-
-
- @Test
- public void cannotDependOnSelf() throws Exception {
-
- // then
- expectedExceptions.expectMessage("Can't set up a dependency to self");
-
- // when
- toDoItem.add(toDoItem);
- }
-
- @Test
- public void cannotAddDependencyIfComplete() throws Exception {
-
- // given
- unwrap(toDoItem).setComplete(true);
-
- // then
- expectedExceptions.expectMessage("Cannot add dependencies for items that are complete");
-
- // when
- toDoItem.add(otherToDoItem);
- }
-
-
- @Test
- public void subscriberReceivesEvent() throws Exception {
-
- // given
- assertThat(toDoItemSubscriptions.getSubscriberBehaviour(), is(ToDoItemSubscriptions.Behaviour.AcceptEvents));
-
- // when
- toDoItem.add(otherToDoItem);
-
- // then
- @SuppressWarnings("unchecked")
- final CollectionAddedToEvent<ToDoItem,ToDoItem> ev = toDoItemSubscriptions.mostRecentlyReceivedEvent(CollectionAddedToEvent.class);
- assertThat(ev, is(not(nullValue())));
-
- ToDoItem source = ev.getSource();
- assertThat(source, is(equalTo(unwrap(toDoItem))));
- assertThat(ev.getIdentifier().getMemberName(), is("dependencies"));
- assertThat(ev.getValue(), is(unwrap(otherToDoItem)));
- }
-
- @Test
- public void subscriberVetoesEventWithRecoverableException() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.RejectEventsWithRecoverableException);
-
- // then
- expectedExceptions.expect(RecoverableException.class);
-
- // when
- toDoItem.add(otherToDoItem);
- }
-
- @Test
- public void subscriberVetoesEventWithNonRecoverableException() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.RejectEventsWithNonRecoverableException);
-
- // then
- expectedExceptions.expect(NonRecoverableException.class);
-
- // when
- toDoItem.add(otherToDoItem);
- }
-
- @Test
- public void subscriberThrowingOtherExceptionIsIgnored() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.ThrowOtherException);
-
- // when
- toDoItem.add(otherToDoItem);
-
- // then
- // (no expectedExceptions setup, expect to continue)
- assertTrue(true);
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
deleted file mode 100644
index de8fb37..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/colls/ToDoItemTest_dependencies_remove.java
+++ /dev/null
@@ -1,176 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.colls;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItemSubscriptions;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.NonRecoverableException;
-import org.apache.isis.applib.RecoverableException;
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
-
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-public class ToDoItemTest_dependencies_remove extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
- @Inject
- private ToDoItemSubscriptions toDoItemSubscriptions;
-
- private ToDoItem toDoItem;
- private ToDoItem otherToDoItem;
- private ToDoItem yetAnotherToDoItem;
-
-
- @Before
- public void setUp() throws Exception {
-
- final List<ToDoItem> items = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(items.get(0));
- otherToDoItem = wrap(items.get(1));
- yetAnotherToDoItem = wrap(items.get(2));
-
- toDoItem.add(otherToDoItem);
- }
-
- @After
- public void tearDown() throws Exception {
- unwrap(toDoItem).getDependencies().clear();
- toDoItemSubscriptions.reset();
- }
-
- @Test
- public void happyCase() throws Exception {
-
- // given
- assertThat(toDoItem.getDependencies().size(), is(1));
-
- // when
- toDoItem.remove(otherToDoItem);
-
- // then
- assertThat(toDoItem.getDependencies().size(), is(0));
- }
-
-
- @Test
- public void cannotRemoveItemIfNotADependency() throws Exception {
-
- // then
- expectedExceptions.expectMessage("Not a dependency");
-
- // when
- toDoItem.remove(yetAnotherToDoItem);
- }
-
- @Test
- public void cannotRemoveDependencyIfComplete() throws Exception {
-
- // given
- unwrap(toDoItem).setComplete(true);
-
- // then
- expectedExceptions.expectMessage("Cannot remove dependencies for items that are complete");
-
- // when
- toDoItem.remove(otherToDoItem);
- }
-
- @Test
- public void subscriberReceivesEvent() throws Exception {
-
- // given
- assertThat(toDoItemSubscriptions.getSubscriberBehaviour(), is(ToDoItemSubscriptions.Behaviour.AcceptEvents));
- assertThat(toDoItem.getDependencies().size(), is(1));
-
- // when
- toDoItem.remove(otherToDoItem);
-
- // then
- @SuppressWarnings("unchecked")
- final CollectionRemovedFromEvent<ToDoItem,ToDoItem> ev = toDoItemSubscriptions.mostRecentlyReceivedEvent(CollectionRemovedFromEvent.class);
- assertThat(ev, is(not(nullValue())));
-
- ToDoItem source = ev.getSource();
- assertThat(source, is(equalTo(unwrap(toDoItem))));
- assertThat(ev.getIdentifier().getMemberName(), is("dependencies"));
- assertThat(ev.getValue(), is(unwrap(otherToDoItem)));
- }
-
- @Test
- public void subscriberVetoesEventWithRecoverableException() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.RejectEventsWithRecoverableException);
-
- // then
- expectedExceptions.expect(RecoverableException.class);
-
- // when
- toDoItem.remove(otherToDoItem);
- }
-
- @Test
- public void subscriberVetoesEventWithNonRecoverableException() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.RejectEventsWithNonRecoverableException);
-
- // then
- expectedExceptions.expect(NonRecoverableException.class);
-
- // when
- toDoItem.remove(otherToDoItem);
- }
-
- @Test
- public void subscriberThrowingOtherExceptionIsIgnored() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.ThrowOtherException);
-
- // when
- toDoItem.remove(otherToDoItem);
-
- // then
- // (no expectedExceptions setup, expect to continue)
- assertTrue(true);
- }
-
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
deleted file mode 100644
index 6f358c7..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemContributionsTest_priority.java
+++ /dev/null
@@ -1,75 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItemContributions;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemContributionsTest_priority extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
- @Inject
- private ToDoItemContributions toDoItemContributions;
-
- private List<ToDoItem> notYetComplete;
-
- @Before
- public void setUp() throws Exception {
- notYetComplete = wrap(toDoItems).notYetComplete();
- }
-
- @Test
- public void happyCase() throws Exception {
- assertPriority(0, 1);
- assertPriority(1, 2);
- assertPriority(2, 4);
- assertPriority(3, 6);
- assertPriority(4, 5);
- assertPriority(5, 7);
- assertPriority(6, 9);
- assertPriority(7, 8);
- assertPriority(8, 3);
- assertPriority(9, 10);
- }
-
- private void assertPriority(final int n, final int priority) {
- assertThat(toDoItemContributions.relativePriority(notYetComplete.get(n)), is(Integer.valueOf(priority)));
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
deleted file mode 100644
index 0e08405..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_attachment.java
+++ /dev/null
@@ -1,82 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.nio.charset.Charset;
-import java.util.List;
-import javax.activation.MimeType;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.value.Blob;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemTest_attachment extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- }
-
- @Test
- public void happyCase() throws Exception {
-
- byte[] bytes = "{${symbol_escape}"foo${symbol_escape}": ${symbol_escape}"bar${symbol_escape}"}".getBytes(Charset.forName("UTF-8"));
- final Blob newAttachment = new Blob("myfile.json", new MimeType("application/json"), bytes);
-
- // when
- toDoItem.setAttachment(newAttachment);
-
- // then
- assertThat(toDoItem.getAttachment(), is(newAttachment));
- }
-
- @Test
- public void canBeNull() throws Exception {
-
- // when
- toDoItem.setAttachment((Blob)null);
-
- // then
- assertThat(toDoItem.getAttachment(), is((Blob)null));
- }
-
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
deleted file mode 100644
index 75b907b..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_category.java
+++ /dev/null
@@ -1,62 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItem.Category;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.containsString;
-
-public class ToDoItemTest_category extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- }
-
- @Test
- public void cannotModify() throws Exception {
-
- // when, then
- expectedExceptions.expectMessage(containsString("Reason: Use action to update both category and subcategory."));
- toDoItem.setCategory(Category.Professional);
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
deleted file mode 100644
index f9f2278..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_cost.java
+++ /dev/null
@@ -1,100 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.math.BigDecimal;
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemTest_cost extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
- private BigDecimal cost;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- cost = toDoItem.getCost();
- }
-
- @Test
- public void happyCaseUsingProperty() throws Exception {
-
- final BigDecimal newCost = new BigDecimal("123.45");
-
- // when
- toDoItem.updateCost(newCost);
-
- // then
- assertThat(toDoItem.getCost(), is(newCost));
- }
-
- @Test
- public void happyCaseUsingAction() throws Exception {
-
- final BigDecimal newCost = new BigDecimal("123.45");
-
- // when
- toDoItem.updateCost(newCost);
-
- // then
- assertThat(toDoItem.getCost(), is(newCost));
- }
-
- @Test
- public void canBeNull() throws Exception {
-
- // when
- toDoItem.updateCost((BigDecimal)null);
-
- // then
- assertThat(toDoItem.getCost(), is((BigDecimal)null));
- }
-
- @Test
- public void defaultForAction() throws Exception {
-
- // then
- assertThat(unwrap(toDoItem).default0UpdateCost(), is(cost));
- }
-
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
deleted file mode 100644
index 619520a..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
+++ /dev/null
@@ -1,220 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItemSubscriptions;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.NonRecoverableException;
-import org.apache.isis.applib.RecoverableException;
-import org.apache.isis.applib.services.eventbus.PropertyChangedEvent;
-
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-public class ToDoItemTest_description extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
- @Inject
- private ToDoItemSubscriptions toDoItemSubscriptions;
-
- private ToDoItem toDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- }
-
- @After
- public void tearDown() throws Exception {
- toDoItemSubscriptions.reset();
- }
-
- @Test
- public void happyCase() throws Exception {
-
- // given
- assertThat(toDoItem.getDescription(), is("Buy bread"));
-
- // when
- toDoItem.setDescription("Buy bread and butter");
-
- // then
- assertThat(toDoItem.getDescription(), is("Buy bread and butter"));
- }
-
-
- @Test
- public void failsRegex() throws Exception {
-
- // when
- expectedExceptions.expectMessage("Doesn't match pattern");
- toDoItem.setDescription("exclamation marks are not allowed!!!");
- }
-
- @Test
- public void cannotBeNull() throws Exception {
-
- // when, then
- expectedExceptions.expectMessage("Mandatory");
- toDoItem.setDescription(null);
- }
-
- @Test
- public void cannotUseModify() throws Exception {
-
- expectedExceptions.expectMessage("Cannot invoke supporting method for 'Description'; use only property accessor/mutator");
-
- // given
- assertThat(toDoItem.getDescription(), is("Buy bread"));
-
- // when
- toDoItem.modifyDescription("Buy bread and butter");
-
- // then
- assertThat(toDoItem.getDescription(), is("Buy bread"));
- }
-
- @Test
- public void cannotUseClear() throws Exception {
-
- expectedExceptions.expectMessage("Cannot invoke supporting method for 'Description'; use only property accessor/mutator");
-
- // given
- assertThat(toDoItem.getDescription(), is("Buy bread"));
-
- // when
- toDoItem.clearDescription();
-
- // then
- assertThat(toDoItem.getDescription(), is("Buy bread"));
- }
-
-
- @Test
- public void onlyJustShortEnough() throws Exception {
-
- // when, then
- toDoItem.setDescription(characters(100));
- }
-
- @Test
- public void tooLong() throws Exception {
-
- // then
- expectedExceptions.expectMessage("The value proposed exceeds the maximum length of 100");
-
- // when
- toDoItem.setDescription(characters(101));
- }
-
-
- @Test
- public void subscriberReceivesEvent() throws Exception {
-
- // given
- assertThat(toDoItemSubscriptions.getSubscriberBehaviour(), is(ToDoItemSubscriptions.Behaviour.AcceptEvents));
- assertThat(toDoItem.getDescription(), is("Buy bread"));
-
- // when
- toDoItem.setDescription("Buy bread and butter");
-
- // then published and received
- @SuppressWarnings("unchecked")
- final PropertyChangedEvent<ToDoItem,String> ev = toDoItemSubscriptions.mostRecentlyReceivedEvent(PropertyChangedEvent.class);
- assertThat(ev, is(not(nullValue())));
-
- ToDoItem source = ev.getSource();
- assertThat(source, is(equalTo(unwrap(toDoItem))));
- assertThat(ev.getIdentifier().getMemberName(), is("description"));
- assertThat(ev.getOldValue(), is("Buy bread"));
- assertThat(ev.getNewValue(), is("Buy bread and butter"));
- }
-
- @Test
- public void subscriberVetoesEventWithRecoverableException() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.RejectEventsWithRecoverableException);
-
- // then
- expectedExceptions.expect(RecoverableException.class);
-
- // when
- toDoItem.setDescription("Buy bread and butter");
- }
-
-
- @Test
- public void subscriberVetoesEventWithNonRecoverableException() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.RejectEventsWithNonRecoverableException);
-
- // then
- expectedExceptions.expect(NonRecoverableException.class);
-
- // when
- toDoItem.setDescription("Buy bread and butter");
- }
-
-
- @Test
- public void subscriberThrowingOtherExceptionIsIgnored() throws Exception {
-
- // given
- toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.ThrowOtherException);
-
- // when
- toDoItem.setDescription("Buy bread and butter");
-
- // then
- // (no expectedExceptions setup, expect to continue)
- assertTrue(true);
- }
-
-
- private static String characters(final int n) {
- StringBuffer buf = new StringBuffer();
- for(int i=0; i<n; i++) {
- buf.append("a");
- }
- return buf.toString();
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
deleted file mode 100644
index f9b043f..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_dueBy.java
+++ /dev/null
@@ -1,106 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.joda.time.LocalDate;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.applib.services.clock.ClockService;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemTest_dueBy extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ClockService clockService;
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- }
-
- @Test
- public void happyCase() throws Exception {
-
- // when
- final LocalDate fiveDaysFromNow = clockService.now().plusDays(5);
- toDoItem.setDueBy(fiveDaysFromNow);
-
- // then
- assertThat(toDoItem.getDueBy(), is(fiveDaysFromNow));
- }
-
-
- @Test
- public void canBeNull() throws Exception {
-
- // when
- toDoItem.setDueBy((LocalDate)null);
-
- // then
- assertThat(toDoItem.getDueBy(), is((LocalDate)null));
- }
-
- @Test
- public void canBeUpToSixDaysInPast() throws Exception {
-
- final LocalDate nowAsLocalDate = clockService.now();
- final LocalDate sixDaysAgo = nowAsLocalDate.plusDays(-5);
-
- // when
- toDoItem.setDueBy(sixDaysAgo);
-
- // then
- assertThat(toDoItem.getDueBy(), is(sixDaysAgo));
- }
-
-
- @Test
- public void cannotBeMoreThanSixDaysInPast() throws Exception {
-
- final LocalDate sevenDaysAgo = Clock.getTimeAsLocalDate().plusDays(-7);
-
- // when, then
- expectedExceptions.expectMessage("Due by date cannot be more than one week old");
- toDoItem.setDueBy(sevenDaysAgo);
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
deleted file mode 100644
index e8b9a00..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_notes.java
+++ /dev/null
@@ -1,90 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItemSubscriptions;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.services.eventbus.PropertyChangedEvent;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemTest_notes extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- private ToDoItem toDoItem;
- private ToDoItemSubscriptions toDoItemSubscriptions;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(service(ToDoItems.class)).notYetComplete();
- toDoItem = wrap(all.get(0));
- toDoItemSubscriptions = service(ToDoItemSubscriptions.class);
- }
-
- @After
- public void tearDown() throws Exception {
- toDoItemSubscriptions.reset();
- }
-
- @Test
- public void happyCase() throws Exception {
-
- final String newNotes = "Lorem ipsum yada yada";
-
- // when
- toDoItem.setNotes(newNotes);
-
- // then
- assertThat(toDoItem.getNotes(), is(newNotes));
-
- // and then not published so not received
- @SuppressWarnings("unchecked")
- final PropertyChangedEvent<ToDoItem,String> ev = toDoItemSubscriptions.mostRecentlyReceivedEvent(PropertyChangedEvent.class);
- assertThat(ev, is(nullValue()));
- }
-
- @Test
- public void canBeNull() throws Exception {
-
- // when
- toDoItem.setNotes((String)null);
-
- // then
- assertThat(toDoItem.getNotes(), is((String)null));
- }
-
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
deleted file mode 100644
index caeb116..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_ownedBy.java
+++ /dev/null
@@ -1,61 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ToDoItemTest_ownedBy extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- }
-
- @Test
- public void cannotModify() throws Exception {
-
- // when, then
- expectedExceptions.expectMessage("Always hidden");
- toDoItem.setOwnedBy("other");
- }
-
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
deleted file mode 100644
index 20579b2..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/props/ToDoItemTest_subcategory.java
+++ /dev/null
@@ -1,62 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.props;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItem.Subcategory;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.containsString;
-
-public class ToDoItemTest_subcategory extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
- }
-
- @Test
- public void cannotModify() throws Exception {
-
- // when, then
- expectedExceptions.expectMessage(containsString("Reason: Use action to update both category and subcategory."));
- toDoItem.setSubcategory(Subcategory.Chores);
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
deleted file mode 100644
index 03681ff..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_finders.java
+++ /dev/null
@@ -1,84 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.repo;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.hamcrest.Matchers;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemsTest_finders extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private int notYetCompletedSize;
- private int completedSize;
-
- @Before
- public void setUp() throws Exception {
- final List<ToDoItem> notYetCompleteItems = wrap(toDoItems).notYetComplete();
- final List<ToDoItem> completedItems = wrap(toDoItems).complete();
-
- notYetCompletedSize = notYetCompleteItems.size();
- completedSize = completedItems.size();
-
- assertThat(notYetCompletedSize, is(Matchers.greaterThan(5)));
- }
-
- @Test
- public void complete_and_notYetComplete() throws Exception {
-
- // given
- List<ToDoItem> notYetCompleteItems = wrap(service(ToDoItems.class)).notYetComplete();
- final ToDoItem toDoItem = wrap(notYetCompleteItems.get(0));
-
- // when
- toDoItem.completed();
-
- // then
- assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(notYetCompletedSize-1));
- assertThat(wrap(service(ToDoItems.class)).complete().size(), is(completedSize+1));
-
- // and when
- toDoItem.notYetCompleted();
-
- // then
- assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(notYetCompletedSize));
- assertThat(wrap(service(ToDoItems.class)).complete().size(), is(completedSize));
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
deleted file mode 100644
index 6b8e94d..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/repo/ToDoItemsTest_newToDo_and_delete.java
+++ /dev/null
@@ -1,68 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.repo;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItem.Category;
-import dom.todo.ToDoItem.Subcategory;
-import dom.todo.ToDoItems;
-import integration.tests.ToDoIntegTest;
-
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemsTest_newToDo_and_delete extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- // none
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- @Test
- public void happyCase() throws Exception {
-
- // given
- int size = wrap(toDoItems).notYetComplete().size();
-
- // when
- final ToDoItem newToDo = wrap(service(ToDoItems.class)).newToDo("new todo", Category.Professional, Subcategory.OpenSource, null, null);
-
- // then
- assertThat(newToDo.getDescription(), is("new todo"));
- assertThat(newToDo.getCategory(), is(Category.Professional));
- assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(size+1));
-
- // when
- newToDo.delete();
-
- // then
- assertThat(wrap(service(ToDoItems.class)).notYetComplete().size(), is(size));
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
deleted file mode 100644
index afbc6b7..0000000
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/smoke/ToDoItemTest_title.java
+++ /dev/null
@@ -1,116 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * 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 integration.tests.smoke;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-import fixture.todo.integtests.ToDoItemsIntegTestFixture;
-import integration.tests.ToDoIntegTest;
-
-import java.util.List;
-import javax.inject.Inject;
-import org.joda.time.LocalDate;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.isis.applib.clock.Clock;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
-
-public class ToDoItemTest_title extends ToDoIntegTest {
-
- @Before
- public void setUpData() throws Exception {
- scenarioExecution().install(new ToDoItemsIntegTestFixture());
- }
-
- @Inject
- private ToDoItems toDoItems;
-
- private ToDoItem toDoItem;
- private LocalDate dueBy;
-
- @Before
- public void setUp() throws Exception {
-
- final List<ToDoItem> all = wrap(toDoItems).notYetComplete();
- toDoItem = wrap(all.get(0));
-
- dueBy = toDoItem.getDueBy();
- }
-
-
- @Test
- public void includesDescription() throws Exception {
-
- // given
- assertThat(container().titleOf(toDoItem), containsString("Buy bread due by"));
-
- // when
- unwrap(toDoItem).setDescription("Buy bread and butter");
-
- // then
- assertThat(container().titleOf(toDoItem), containsString("Buy bread and butter due by"));
- }
-
- @Test
- public void includesDueDateIfAny() throws Exception {
-
- // given
- assertThat(container().titleOf(toDoItem), containsString("due by " + dueBy.toString("yyyy-MM-dd")));
-
- // when
- final LocalDate fiveDaysFromNow = Clock.getTimeAsLocalDate().plusDays(5);
- unwrap(toDoItem).setDueBy(fiveDaysFromNow);
-
- // then
- assertThat(container().titleOf(toDoItem), containsString("due by " + fiveDaysFromNow.toString("yyyy-MM-dd")));
- }
-
-
- @Test
- public void ignoresDueDateIfNone() throws Exception {
-
- // when
- // (since wrapped, will call clearDueBy)
- toDoItem.setDueBy(null);
-
- // then
- assertThat(container().titleOf(toDoItem), not(containsString("due by")));
- }
-
- @Test
- public void usesWhetherCompleted() throws Exception {
-
- // given
- assertThat(container().titleOf(toDoItem), not(containsString("Completed!")));
-
- // when
- toDoItem.completed();
-
- // then
- assertThat(container().titleOf(toDoItem), not(containsString("due by")));
- assertThat(container().titleOf(toDoItem), containsString("Buy bread - Completed!"));
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml b/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml
index 1ba2a5a..8b6ee60 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml
@@ -23,7 +23,7 @@
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
- <name>Quickstart Wicket/Restful/JDO App</name>
+ <name>ToDo App</name>
<packaging>pom</packaging>
@@ -32,11 +32,8 @@
</prerequisites>
<properties>
- <isis.version>1.5.0</isis.version>
- <isis-objectstore-jdo.version>1.5.0</isis-objectstore-jdo.version>
- <isis-viewer-wicket.version>1.5.0</isis-viewer-wicket.version>
- <isis-viewer-restfulobjects.version>2.3.0</isis-viewer-restfulobjects.version>
- <isis-security-shiro.version>1.5.0</isis-security-shiro.version>
+ <isis.version>1.6.0</isis.version>
+ <isis-viewer-wicket.version>1.6.0</isis-viewer-wicket.version>
<!-- must be consistent with the versions defined by the JDO Objectstore -->
<datanucleus-accessplatform-jdo-rdbms.version>3.3.6</datanucleus-accessplatform-jdo-rdbms.version>
@@ -90,13 +87,9 @@
<version>2.16</version>
<configuration>
<includes>
- <include>**/*Test.java</include>
- <include>**/*Test_*.java</include>
- <include>**/*Spec*.java</include>
+ <include>**/*.java</include>
</includes>
<excludes>
- <exclude>**/Test*.java</exclude>
- <exclude>**/*ForTesting.java</exclude>
<exclude>**/*Abstract*.java</exclude>
</excludes>
<useFile>true</useFile>
@@ -310,14 +303,6 @@
</dependency>
<dependency>
- <groupId>org.apache.isis.objectstore</groupId>
- <artifactId>isis-objectstore-jdo</artifactId>
- <version>${isis-objectstore-jdo.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>
@@ -325,22 +310,6 @@
<scope>import</scope>
</dependency>
- <dependency>
- <groupId>org.apache.isis.viewer</groupId>
- <artifactId>isis-viewer-restfulobjects</artifactId>
- <version>${isis-viewer-restfulobjects.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.security</groupId>
- <artifactId>isis-security-shiro</artifactId>
- <version>${isis-security-shiro.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
<!-- this project's own modules -->
<dependency>
@@ -360,7 +329,6 @@
</dependency>
-
<!-- quartz scheduler integration -->
<dependency>
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
index 358e3d9..87bfd3b 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
@@ -20,7 +20,7 @@
<stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
<stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
<stringAttribute value="--port 8080 --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
- <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+ <stringAttribute value="quickstart_wicket_restful_jdo-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
<stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
<stringAttribute value="${jrebel_args} -Drebel.log=false -Drebel.check_class_hash=true -Drebel.packages_exclude=org.apache.isis -Dproject.root=${project_loc}/.. -Dtarget.dir=target-ide -Drebel.plugins=C:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar -Disis-jrebel-plugin.packagePrefix=dom.todo,org.apache.isis.objectstore.jdo.applib -Disis-jrebel-plugin.loggingLevel=warn -XX:MaxPermSize=128m" key="org.eclipse.jdt.launching.VM_ARGUMENTS"/>
</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-with-fixtures.launch
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-with-fixtures.launch b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-with-fixtures.launch
index 3376620..456dc66 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-with-fixtures.launch
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-with-fixtures.launch
@@ -17,6 +17,6 @@
<stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
<stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
<stringAttribute value="--port 8080 -D isis.persistor.datanucleus.install-fixtures=true --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
- <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+ <stringAttribute value="quickstart_wicket_restful_jdo-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
<stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch
index 4fd7be2..cd6c8a8 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch
@@ -20,6 +20,6 @@
<stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
<stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
<stringAttribute value="--port 8080 --type SERVER_PROTOTYPE" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
- <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+ <stringAttribute value="quickstart_wicket_restful_jdo-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
<stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch
index 2e2e0ea..3577cbc 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch
@@ -20,6 +20,6 @@
<stringAttribute value="org.eclipse.m2e.launchconfig.classpathProvider" key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"/>
<stringAttribute value="org.apache.isis.WebServer" key="org.eclipse.jdt.launching.MAIN_TYPE"/>
<stringAttribute value="--port 8080 --type SERVER" key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"/>
- <stringAttribute value="${rootArtifactId}-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
+ <stringAttribute value="quickstart_wicket_restful_jdo-webapp" key="org.eclipse.jdt.launching.PROJECT_ATTR"/>
<stringAttribute value="org.eclipse.m2e.launchconfig.sourcepathProvider" key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"/>
</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
index fd82d02..346ddc2 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/pom.xml
@@ -26,7 +26,7 @@
</parent>
<artifactId>${artifactId}</artifactId>
- <name>Quickstart Wicket/Restful/JDO Webapp</name>
+ <name>ToDo App Webapp</name>
<description>This module runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
@@ -156,20 +156,20 @@
<!-- other isis components -->
<dependency>
- <groupId>org.apache.isis.objectstore</groupId>
- <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-objectstore-jdo-datanucleus</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.viewer</groupId>
<artifactId>isis-viewer-wicket-impl</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.isis.viewer</groupId>
- <artifactId>isis-viewer-restfulobjects-server</artifactId>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-viewer-restfulobjects-server</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.isis.security</groupId>
- <artifactId>isis-security-shiro</artifactId>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-security-shiro</artifactId>
</dependency>
@@ -179,8 +179,8 @@
<artifactId>isis-core-runtime</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-wrapper</artifactId>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-wrapper</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.core</groupId>
@@ -190,7 +190,39 @@
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-security</artifactId>
</dependency>
-
+
+
+ <!-- isis modules -->
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-background</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-devutils-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-audit-jdo</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-command-jdo</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-publishing-jdo</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-publishingeventserializer-ro</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.module</groupId>
+ <artifactId>isis-module-settings-impl-jdo</artifactId>
+ </dependency>
+
+
<!-- to run using WebServer (optional) -->
<dependency>
<groupId>org.apache.isis.core</groupId>
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/Admin.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/Admin.java b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/Admin.java
index 748b29e..9130c31 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/Admin.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/Admin.java
@@ -33,6 +33,7 @@ import org.apache.isis.objectstore.jdo.applib.service.command.CommandServiceJdoR
import org.apache.isis.objectstore.jdo.applib.service.publish.PublishedEventJdo;
import org.apache.isis.objectstore.jdo.applib.service.publish.PublishingServiceJdoRepository;
+@DomainService(menuOrder = "35")
public class Admin extends AbstractService {
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/AdminContributions.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/AdminContributions.java b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/AdminContributions.java
index a4b6707..1267098 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/AdminContributions.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/admin/AdminContributions.java
@@ -28,12 +28,8 @@ import org.joda.time.LocalDate;
import org.apache.isis.applib.AbstractService;
import org.apache.isis.applib.ViewModel;
-import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.*;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.annotation.NotInServiceMenu;
-import org.apache.isis.applib.annotation.Optional;
import org.apache.isis.applib.services.HasTransactionId;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -46,6 +42,7 @@ import org.apache.isis.objectstore.jdo.applib.service.command.CommandServiceJdoR
import org.apache.isis.objectstore.jdo.applib.service.publish.PublishedEventJdo;
import org.apache.isis.objectstore.jdo.applib.service.publish.PublishingServiceJdoRepository;
+@DomainService
public class AdminContributions extends AbstractService {
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
index f9bf99e..a75ecdb 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/DeveloperUtilities.java
@@ -19,8 +19,7 @@
*/
package webapp.prototyping;
-import fixture.todo.ToDoItemsFixturesService;
-
+import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.value.Blob;
import org.apache.isis.applib.value.Clob;
@@ -28,8 +27,9 @@ import org.apache.isis.core.metamodel.services.devutils.DeveloperUtilitiesServic
/**
* These overrides are simply to 'move' the action underneath the
- * {@link ToDoItemsFixturesService fixtures} menu.
+ * 'Prototyping' menu.
*/
+@DomainService(menuOrder = "40.2")
public class DeveloperUtilities extends DeveloperUtilitiesServiceDefault {
@MemberOrder(name="Prototyping", sequence="90.1")
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
index a7326a8..b947ec1 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
@@ -22,17 +22,15 @@ package webapp.prototyping;
import java.net.MalformedURLException;
import java.net.URL;
-import org.apache.isis.applib.annotation.ActionSemantics;
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.annotation.Prototype;
+import org.apache.isis.applib.annotation.*;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
-import org.apache.isis.applib.annotation.MemberOrder;
+@DomainService(menuOrder = "40.3")
public class ExternalLinksService {
public static enum ExternalLink {
ISIS_DOCUMENTATION("Apache Isis docs", "http://isis.apache.org/documentation.html"),
- PROJECT_ON_GITHUB("Project source code on Github", "https://github.com/apache/isis/tree/master/example/application/${parentArtifactId}/");
+ PROJECT_ON_GITHUB("Project source code on Github", "https://github.com/apache/isis/tree/master/example/application/quickstart_wicket_restful_jdo/");
private final String title;
private final String url;
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java
new file mode 100644
index 0000000..5c7678f
--- /dev/null
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java
@@ -0,0 +1,42 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+/**
+ * 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 webapp.prototyping;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.viewer.wicket.viewer.applib.WicketDeveloperUtilitiesService;
+
+/**
+ * These overrides are simply to 'move' the action underneath the
+ * 'Prototyping' menu.
+ */
+@DomainService(menuOrder = "40.3")
+public class WicketDeveloperUtilities extends WicketDeveloperUtilitiesService {
+
+ @Named("Clear i18n Cache")
+ @MemberOrder(name="Prototyping", sequence="90.3")
+ @Override
+ public void resetI18nCache() {
+ super.resetI18nCache();
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/ToDoApplication_en.properties
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/ToDoApplication_en.properties b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/ToDoApplication_en.properties
new file mode 100644
index 0000000..65dc6ea
--- /dev/null
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/ToDoApplication_en.properties
@@ -0,0 +1,54 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound}
+${symbol_pound} Licensed to the Apache Software Foundation (ASF) under one
+${symbol_pound} or more contributor license agreements. See the NOTICE file
+${symbol_pound} distributed with this work for additional information
+${symbol_pound} regarding copyright ownership. The ASF licenses this file
+${symbol_pound} to you under the Apache License, Version 2.0 (the
+${symbol_pound} "License"); you may not use this file except in compliance
+${symbol_pound} with the License. You may obtain a copy of the License at
+${symbol_pound}
+${symbol_pound} http://www.apache.org/licenses/LICENSE-2.0
+${symbol_pound}
+${symbol_pound} Unless required by applicable law or agreed to in writing,
+${symbol_pound} software distributed under the License is distributed on an
+${symbol_pound} "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+${symbol_pound} KIND, either express or implied. See the License for the
+${symbol_pound} specific language governing permissions and limitations
+${symbol_pound} under the License.
+${symbol_pound}
+
+
+${symbol_pound} override WicketSignInPage.properties
+loginHeader=Login
+
+${symbol_pound} override PageAbstract.properties
+aboutLabel=About
+logoutLabel=Logout
+
+${symbol_pound} override EntityPropertiesForm.properties and also
+${symbol_pound} override ActionParametersFormPanel.properties
+okLabel=OK
+cancelLabel=Cancel
+editLabel=Edit
+
+
+
+
+${symbol_pound}
+${symbol_pound} 3rd-party components
+${symbol_pound}
+
+${symbol_pound} Select2Choice
+
+${symbol_pound}noMatches=...
+${symbol_pound}inputTooShortSingular=...
+${symbol_pound}inputTooShortPlural=...
+${symbol_pound}loadMore=...
+${symbol_pound}searching=...
+
+${symbol_pound} datatables
+${symbol_pound}no-records-found=...
+
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/realm1.ini
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/realm1.ini b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/realm1.ini
index 13246ad..311694b 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/realm1.ini
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/realm1.ini
@@ -38,6 +38,18 @@ bob = pass, user_role, self-install_role
+#
+# some additional users/roles
+# require IsisPermissionResolver to be configured in shiro.ini, and
+# require additional role/perms to be configured below in [roles]
+#
+
+# # fred should have access to everything except the analysis features
+# fred = pass,isisperms_all_but_analysis_role
+# # bill should have access to everything (the admin role 'trumps' the vetos)
+# bill = pass,isisperms_all_but_analysis_role,isisperms_admin_role
+
+
# -----------------------------------------------------------------------------
# Roles with assigned permissions
#
@@ -66,3 +78,17 @@ analysis_role = *:ToDoItemAnalysis:*:*,\
self-install_role = *:ToDoItemsFixturesService:installFixtures:*
admin_role = *
+
+
+
+#
+# some additional role/perms
+# require IsisPermissionResolver to be configured in shiro.ini
+#
+
+# isisperms_all_but_analysis_role = aba/*,\
+# !aba/*:ToDoItemAnalysis:*,\
+# !aba/*:ToDoItemsByCategoryViewModel:*:*,\
+# !aba/*:ToDoItemsByDateRangeViewModel:*:*
+# isisperms_admin_role = adm/*
+
http://git-wip-us.apache.org/repos/asf/isis/blob/04e8ba20/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
----------------------------------------------------------------------
diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
index a71ec99..e9155b0 100644
--- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
+++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/resources/webapp/welcome.html
@@ -30,7 +30,7 @@
which configures Isis' most commonly used components in a straightforward "todo" app.
<br/>
<br/>
- The core domain functionality class is provided by the <a href="https://github.com/apache/isis/blob/master/example/application/${parentArtifactId}/dom/src/main/java/dom/todo/ToDoItem.java" target="_blank">ToDoItem</a> domain class.
+ The core domain functionality class is provided by the <a href="https://github.com/apache/isis/blob/master/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java" target="_blank">ToDoItem</a> domain class.
Supporting services provide additional capabilities.
<br/>
<br/>