ISIS-928: recreating todoapp archetype
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/853f6213 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/853f6213 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/853f6213 Branch: refs/heads/master Commit: 853f62137a6d7c15b0a8e54b7094b22721c06cd6 Parents: 2fa4bcf Author: Dan Haywood <[email protected]> Authored: Fri Nov 14 13:10:32 2014 +0000 Committer: Dan Haywood <[email protected]> Committed: Fri Nov 14 13:10:32 2014 +0000 ---------------------------------------------------------------------- example/archetype/todoapp/pom.xml | 2 +- .../dom/src/main/java/app/ToDoAppDashboard.png | Bin 684 -> 834 bytes .../dom/src/main/java/app/ToDoItemAnalysis.java | 5 +- .../java/app/ToDoItemsByCategoryViewModel.png | Bin 0 -> 684 bytes .../java/app/ToDoItemsByDateRangeViewModel.png | Bin 0 -> 613 bytes .../dom/src/main/java/dom/todo/ToDoItem.java | 26 +++++++- .../src/main/java/dom/todo/ToDoItem.layout.json | 57 +++++++++++----- .../java/dom/todo/ToDoItemContributions.java | 4 +- .../java/dom/todo/ToDoItemSubscriptions.java | 66 +++++++++++++++---- .../dom/src/main/java/dom/todo/ToDoItems.java | 5 ++ .../fixture/todo/ToDoItemsFixturesService.java | 14 ++-- .../archetype-resources/integtests/pom.xml | 2 +- .../integration/tests/ToDoItemIntegTest.java | 28 ++++---- .../main/resources/archetype-resources/pom.xml | 4 +- .../archetype-resources/webapp/pom.xml | 4 -- .../src/main/java/webapp/ToDoApplication.java | 19 +++++- .../prototyping/ExternalLinksService.java | 3 +- .../src/main/webapp/WEB-INF/isis.properties | 2 + .../WEB-INF/viewer_restfulobjects.properties | 42 +++++++++++- .../webapp/WEB-INF/viewer_wicket.properties | 45 +++++++++---- .../projects/basic/archetype.properties | 2 +- 21 files changed, 254 insertions(+), 76 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/pom.xml ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/pom.xml b/example/archetype/todoapp/pom.xml index 1922cdb..a1ce46a 100644 --- a/example/archetype/todoapp/pom.xml +++ b/example/archetype/todoapp/pom.xml @@ -17,7 +17,7 @@ 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/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>org.apache.isis.archetype</groupId> <artifactId>todoapp-archetype</artifactId> http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.png ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.png b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.png index c22ab2b..fe6e6a1 100644 Binary files a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.png and b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoAppDashboard.png differ http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java index 5f7eeef..fdf23e3 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemAnalysis.java @@ -47,7 +47,9 @@ public class ToDoItemAnalysis { } //endregion + //region > byCategory (action) + @CssClassFa("fa fa-pie-chart") @Named("By Category") @Bookmarkable @ActionSemantics(Of.SAFE) @@ -77,7 +79,8 @@ public class ToDoItemAnalysis { Later, Unknown, } - + + @CssClassFa("fa fa-calendar") @Named("By Date Range") @Bookmarkable @ActionSemantics(Of.SAFE) http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.png ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.png b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.png new file mode 100644 index 0000000..c22ab2b Binary files /dev/null and b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByCategoryViewModel.png differ http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.png ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.png b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.png new file mode 100644 index 0000000..034a1f9 Binary files /dev/null and b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/app/ToDoItemsByDateRangeViewModel.png differ http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java index c32b3a8..74a84f1 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java @@ -137,7 +137,7 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> { @javax.jdo.annotations.Column(allowsNull="false", length=100) @PropertyInteraction() - @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*") + @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*") public String getDescription() { return description; } @@ -600,7 +600,7 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> { container.informUser("Deleted " + container.titleOf(this)); // invalid to return 'this' (cannot render a deleted object) - return toDoItems.notYetComplete(); + return toDoItems.notYetComplete(); } //endregion @@ -692,6 +692,25 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> { //region > object-level validation /** + * Prevent user from viewing another user's data. + */ + public boolean hidden() { + // uncomment to enable. As things stand, the disabled() method below instead will make object "read-only". + //return !Objects.equal(getOwnedBy(), container.getUser().getName()); + return false; + } + + /** + * Prevent user from modifying any other user's data. + */ + public String disabled(Identifier.Type type){ + final UserMemento currentUser = container.getUser(); + final String currentUserName = currentUser.getName(); + if(Objects.equal(getOwnedBy(), currentUserName)) { return null; } + return "This object is owned by '" + getOwnedBy() + "' and cannot be modified by you"; + } + + /** * In a real app, if this were actually a rule, then we'd expect that * invoking the {@link ${symbol_pound}completed() done} action would clear the {@link ${symbol_pound}getDueBy() dueBy} * property (rather than require the user to have to clear manually). @@ -702,8 +721,11 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> { } return null; } + + //endregion + //region > programmatic helpers @Programmatic // excluded from the framework's metamodel public boolean isDue() { http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json index f15424d..4ad0a90 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.layout.json @@ -22,18 +22,26 @@ "General": { "members": { "description": { - "typicalLength": { "value": 50 } + "typicalLength": { "value": 50 }, + "labelAt": { "value": "TOP" } }, "category": { + "named": { "value": "Category/subcategory" }, + "labelAt": { "value": "TOP" } }, "subcategory": { + "labelAt": { "value": "NONE" }, "actions": { "updateCategory": { "named": { "value": "Update" } }, - "analyseCategory": {} + "analyseCategory": { + "cssClassFa": { + "value": "fa fa-pie-chart" + } + } } }, "ownedBy": { @@ -44,12 +52,16 @@ "completed": { "named": { "value": "Done" }, "describedAs": { - "value": "Mark this todo item as having been completed" + "value": "Update this todo item as complete" }, - "cssClass": { "value": "x-highlight" } + "cssClassFa": { "value": "fa fa-thumbs-up" } }, "notYetCompleted": { - "named": { "value": "Not done" } + "named": { "value": "Not done" }, + "describedAs": { + "value": "Update this todo item as not yet complete" + }, + "cssClassFa": { "value": "fa fa-thumbs-down" } }, "scheduleExplicitly": { }, @@ -84,8 +96,12 @@ "members": { "relativePriority": { "actions": { - "previous": {}, - "next": {} + "previous": { + "cssClassFa": { "value": "fa fa-step-backward" } + }, + "next": { + "cssClassFa": { "value": "fa fa-step-forward" } + } } }, "dueBy": { @@ -98,9 +114,8 @@ "cost": { "actions": { "updateCost":{ - "named": { - "value": "Update" - } + "named": { "value": "Update" }, + "cssClassFa": { "value": "fa fa-dollar" } } } }, @@ -110,7 +125,8 @@ }, "hidden": { "where": "ALL_TABLES" - } + }, + "labelAt": { "value": "TOP" } }, "attachment": { "hidden": { @@ -135,9 +151,12 @@ "dependencies": { "disabled": {}, "actions": { - "add":{}, + "add":{ + "cssClassFa": { "value": "fa fa-plus-square" } + }, "remove": { - "cssClass": { "value": "x-caution" } + "cssClass": { "value": "x-caution btn-danger" }, + "cssClassFa": { "value": "fa fa-minus-square" } } }, "paged": { @@ -162,15 +181,17 @@ "actions": { "totalCost": {}, "delete": { - "cssClass": { "value": "x-caution" } + "cssClass": { "value": "btn btn-danger" }, + "cssClassFa": { "value": "fa fa-trash fa-lg" } }, "duplicate": { - "named": { - "value": "Clone" - }, + "named": { + "value": "Clone" + }, "describedAs": { "value": "Create a new todo item from this one" - } + }, + "cssClassFa": { "value": "fa fa-copy fa-lg" } } } } http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java index 789796d..51ce968 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemContributions.java @@ -118,7 +118,7 @@ public class ToDoItemContributions extends AbstractFactoryAndRepository { } // ////////////////////////////////////// - + @DescribedAs("The previous item not yet completed") @NotInServiceMenu @ActionSemantics(Of.SAFE) @@ -164,7 +164,7 @@ public class ToDoItemContributions extends AbstractFactoryAndRepository { @NotContributed(As.ACTION) public List<ToDoItem> similarTo(final ToDoItem toDoItem) { final List<ToDoItem> similarToDoItems = allMatches( - new QueryDefault<ToDoItem>(ToDoItem.class, + new QueryDefault<ToDoItem>(ToDoItem.class, "findByOwnedByAndCategory", "ownedBy", currentUserName(), "category", toDoItem.getCategory())); http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java index 1230090..fe641f5 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java @@ -23,6 +23,8 @@ package dom.todo; import java.util.EventObject; import java.util.List; +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.Lists; @@ -40,6 +42,16 @@ import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Iterables.transform; import static com.google.common.collect.Lists.newArrayList; +/** + * Subscribes to changes made to the {@link dom.todo.ToDoItem} entity. + * + * <p> + * (For demo purposes) the behaviour can be influenced using {@link ${symbol_pound}subscriberBehaviour(dom.todo.ToDoItemSubscriptions.Behaviour)}. + * In particular, the subscriber can be used to hide/disable/validate actions, or just to perform pre- or post-execute + * tasks. This also includes being set to throw an exception during the execution of the action (also in effect + * vetoing the change). + * </p> + */ @DomainService public class ToDoItemSubscriptions { @@ -47,6 +59,38 @@ public class ToDoItemSubscriptions { private final static org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(ToDoItemSubscriptions.class); //endregion + //region > postConstruct, preDestroy + + /** + * Registers this service with the {@link org.apache.isis.applib.services.eventbus.EventBusService}. + * + * <p> + * Because this service is a singleton, this is called during initial bootstrap. + * </p> + */ + @Programmatic + @PostConstruct + public void postConstruct() { + LOG.info("postConstruct: registering to event bus"); + eventBusService.register(this); + } + + /** + * Unregisters this service from the {@link org.apache.isis.applib.services.eventbus.EventBusService}. + * + * <p> + * Because this service is a singleton, this is only done when the system is shutdown. + * </p> + */ + @Programmatic + @PreDestroy + public void preDestroy() { + LOG.info("preDestroy: unregistering from event bus"); + eventBusService.unregister(this); + } + //endregion + + //region > on(Event)... public static enum Behaviour { @@ -68,6 +112,10 @@ public class ToDoItemSubscriptions { DependenciesCollectionInvalidateRemove, SimilarToCollectionHide } + + /** + * The desired behaviour of this service. + */ private Behaviour behaviour = Behaviour.AnyExecuteAccept; /** @@ -76,13 +124,13 @@ public class ToDoItemSubscriptions { @Prototype @MemberOrder(name = "Prototyping", sequence = "80") @Named("Set subscriber behaviour") + @NotContributed @ActionSemantics(ActionSemantics.Of.IDEMPOTENT) - public ToDoItem subscriberBehaviour(ToDoItem toDoItem, @Named("Behaviour") Behaviour behaviour) { + public void subscriberBehaviour(@Named("Behaviour") Behaviour behaviour) { this.behaviour = behaviour; container.informUser("Subscriber behaviour set to: " + behaviour); - return toDoItem; } - public Behaviour default1SubscriberBehaviour() { + public Behaviour default0SubscriberBehaviour() { return this.behaviour; } @@ -95,7 +143,7 @@ public class ToDoItemSubscriptions { throw new RecoverableException("Rejecting event (recoverable exception thrown)"); } if(behaviour == Behaviour.AnyExecuteVetoWithNonRecoverableException) { - throw new NonRecoverableException("Rejecting event (recoverable exception thrown)"); + throw new NonRecoverableException("Rejecting event (non-recoverable exception thrown)"); } if(behaviour == Behaviour.AnyExecuteVetoWithOtherException) { throw new RuntimeException("Throwing some other exception"); @@ -148,7 +196,7 @@ public class ToDoItemSubscriptions { case VALIDATE: if(getSubscriberBehaviour() == Behaviour.UpdateCostActionInvalidate && ev.getIdentifier().getMemberName().equals("updateCost")) { - ev.disable("ToDoItemSubscriptions says: can't invoke updateCostaction with these args!"); + ev.invalidate("ToDoItemSubscriptions says: can't invoke updateCost action with these args!"); } break; case EXECUTING: @@ -304,7 +352,7 @@ public class ToDoItemSubscriptions { @Programmatic public void reset() { receivedEvents.clear(); - subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteAccept); + subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteAccept); } //endregion @@ -312,12 +360,8 @@ public class ToDoItemSubscriptions { @javax.inject.Inject private DomainObjectContainer container; - @SuppressWarnings("unused") + @javax.inject.Inject private EventBusService eventBusService; - @Programmatic - public final void injectEventBusService(EventBusService eventBusService) { - eventBusService.register(this); - } //endregion http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java index 07d3c66..8ed6957 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItems.java @@ -39,6 +39,7 @@ import org.apache.isis.applib.services.clock.ClockService; public class ToDoItems { //region > notYetComplete (action) + @CssClassFa("fa fa-thumbs-down") @Bookmarkable @ActionSemantics(Of.SAFE) @MemberOrder(sequence = "10") @@ -60,6 +61,7 @@ public class ToDoItems { //endregion //region > complete (action) + @CssClassFa("fa fa-thumbs-up") @ActionSemantics(Of.SAFE) @MemberOrder(sequence = "20") public List<ToDoItem> complete() { @@ -84,6 +86,7 @@ public class ToDoItems { @Bookmarkable @ActionSemantics(Of.SAFE) @MemberOrder(sequence = "40") + @CssClassFa("fa fa-question") public List<ToDoItem> categorized( @Named("Category") final Category category, @Named("Subcategory") final Subcategory subcategory, @@ -117,6 +120,7 @@ public class ToDoItems { //endregion //region > newToDo (action) + @CssClassFa("fa fa-plus") @MemberOrder(sequence = "5") public ToDoItem newToDo( final @RegEx(validation = "${symbol_escape}${symbol_escape}w[@&:${symbol_escape}${symbol_escape}-${symbol_escape}${symbol_escape},${symbol_escape}${symbol_escape}.${symbol_escape}${symbol_escape}+ ${symbol_escape}${symbol_escape}w]*") @Named("Description") String description, @@ -148,6 +152,7 @@ public class ToDoItems { //endregion //region > allToDos (action) + @CssClassFa("fa fa-globe") @Prototype @ActionSemantics(Of.SAFE) @MemberOrder(sequence = "50") http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/archetype/todoapp/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java index dcaa956..0396bba 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java @@ -24,10 +24,7 @@ package fixture.todo; import fixture.todo.scenarios.RecreateToDoItemsAndCompleteSeveralForCurrent; import java.util.List; -import org.apache.isis.applib.annotation.DomainService; -import org.apache.isis.applib.annotation.MemberOrder; -import org.apache.isis.applib.annotation.Named; -import org.apache.isis.applib.annotation.Prototype; +import org.apache.isis.applib.annotation.*; import org.apache.isis.applib.fixturescripts.FixtureResult; import org.apache.isis.applib.fixturescripts.FixtureScript; import org.apache.isis.applib.fixturescripts.FixtureScripts; @@ -43,6 +40,12 @@ public class ToDoItemsFixturesService extends FixtureScripts { super("fixture.todo"); } + @CssClassFa("fa fa-bolt") + @Override + public List<FixtureResult> runFixtureScript(FixtureScript fixtureScript, @Named("Parameters") @DescribedAs("Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)") @MultiLine(numberOfLines = 10) @Optional String parameters) { + return super.runFixtureScript(fixtureScript, parameters); + } + @Override public FixtureScript default0RunFixtureScript() { return findFixtureScriptFor(RecreateToDoItemsAndCompleteSeveralForCurrent.class); @@ -61,8 +64,9 @@ public class ToDoItemsFixturesService extends FixtureScripts { @Prototype + @CssClassFa("fa fa-list") @MemberOrder(sequence="20") - public Object recreateToDoItemsForCurrentAndReturnFirst() { + public Object recreateToDoItemsReturnFirst() { final List<FixtureResult> run = findFixtureScriptFor(RecreateToDoItemsAndCompleteSeveralForCurrent.class).run(null); return run.get(0).getObject(); } http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/pom.xml ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/pom.xml b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/pom.xml index 1396994..1ec97ae 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/pom.xml +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/pom.xml @@ -77,7 +77,7 @@ </dependency> <dependency> <groupId>org.apache.isis.core</groupId> - <artifactId>isis-core-objectstore-jdo-datanucleus</artifactId> + <artifactId>isis-core-runtime</artifactId> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoItemIntegTest.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoItemIntegTest.java b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoItemIntegTest.java index ccfd19c..90bb098 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoItemIntegTest.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/integtests/src/test/java/integration/tests/ToDoItemIntegTest.java @@ -236,7 +236,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); // then expectedExceptions.expect(RecoverableException.class); @@ -249,7 +249,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithNonRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); // then expectedExceptions.expect(NonRecoverableException.class); @@ -262,7 +262,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberThrowingOtherExceptionIsIgnored() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); // when toDoItem.completed(); @@ -295,8 +295,12 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { scenarioExecution().replaceService(originalEventBusService, mockEventBusService); scenarioExecution().closeSession(); scenarioExecution().openSession(); + + final List<ToDoItem> all = toDoItems.notYetComplete(); + toDoItem = wrap(all.get(0)); } + @After public void reinstateOriginalEventBusService() throws Exception { scenarioExecution().replaceService(mockEventBusService, originalEventBusService); @@ -535,7 +539,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); // then expectedExceptions.expect(RecoverableException.class); @@ -548,7 +552,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithNonRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); // then expectedExceptions.expect(NonRecoverableException.class); @@ -561,7 +565,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberThrowingOtherExceptionIsIgnored() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); // when toDoItem.add(otherToDoItem); @@ -633,7 +637,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); // then expectedExceptions.expect(RecoverableException.class); @@ -646,7 +650,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithNonRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); // then expectedExceptions.expect(NonRecoverableException.class); @@ -659,7 +663,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberThrowingOtherExceptionIsIgnored() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); // when toDoItem.remove(otherToDoItem); @@ -872,7 +876,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithRecoverableException); // then expectedExceptions.expect(RecoverableException.class); @@ -886,7 +890,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberVetoesEventWithNonRecoverableException() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithNonRecoverableException); // then expectedExceptions.expect(NonRecoverableException.class); @@ -900,7 +904,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest { public void subscriberThrowingOtherExceptionIsIgnored() throws Exception { // given - toDoItemSubscriptions.subscriberBehaviour(null, ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); + toDoItemSubscriptions.subscriberBehaviour(ToDoItemSubscriptions.Behaviour.AnyExecuteVetoWithOtherException); // when toDoItem.setDescription("Buy bread and butter"); http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/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 97fd96f..0c91870 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/pom.xml @@ -64,8 +64,8 @@ <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> - <source>1.6</source> - <target>1.6</target> + <source>1.7</source> + <target>1.7</target> </configuration> <executions> <execution> http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/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 c4bdfc4..406385b 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 @@ -156,10 +156,6 @@ <!-- other isis components --> <dependency> - <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> http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java index 459970c..299f3f9 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/java/webapp/ToDoApplication.java @@ -21,6 +21,11 @@ */ package webapp; +import de.agilecoders.wicket.core.Bootstrap; +import de.agilecoders.wicket.core.settings.IBootstrapSettings; +import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme; +import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider; + import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; @@ -63,15 +68,23 @@ public class ToDoApplication extends IsisWicketApplication { private static final long serialVersionUID = 1L; /** - * uncomment for a (slightly hacky) way of allowing logins using query args, eg: + * set to true for a (slightly hacky) way of allowing logins using query args, eg: * * <tt>?user=sven&pass=pass</tt> * * <p> - * for demos only, obvious. + * for demos only, obviously. */ private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false; - + + @Override + protected void init() { + super.init(); + + IBootstrapSettings settings = Bootstrap.getSettings(); + settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly)); + } + @Override public Session newSession(final Request request, final Response response) { if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) { http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/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 c3b6be3..7697ea8 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 @@ -48,7 +48,8 @@ public class ExternalLinksService { return title; } } - + + @CssClassFa("fa-external-link") @Prototype @ActionSemantics(Of.SAFE) @MemberOrder(name="Prototyping", sequence="91.1") http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties index 6961bb1..b9cf19e 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/isis.properties @@ -196,3 +196,5 @@ ${symbol_pound} ${symbol_pound}isis.viewers.paged.standalone=30 ${symbol_pound}isis.viewers.paged.parented=10 +${symbol_pound}isis.viewers.labelAt.property=LEFT +${symbol_pound}isis.viewers.labelAt.parameter=LEFT http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties index 10cbce9..85e658a 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties @@ -26,4 +26,44 @@ ${symbol_pound} the baseUrl for hrefs in the events generated by the RO EventSer isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/ ${symbol_pound} renders param details in the (incorrect) form that they were for GSOC2013 viewers -${symbol_pound} isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true \ No newline at end of file +${symbol_pound} isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true + +${symbol_pound} whether to honor UI hints, in particular Render(EAGERLY). Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.honorUiHints=false + + + +${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound} +${symbol_pound} Non-standard configuration settings. +${symbol_pound} +${symbol_pound} If enabled of the following are enabled then the viewer is deviating from the +${symbol_pound} RO spec standard; compatibility may be compromised with RO clients. +${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound} + +${symbol_pound} whether to show only object properties for object members +${symbol_pound} (on the object representation only) +${symbol_pound} Takes precedence over the other 'suppress' below. +${symbol_pound}isis.viewer.restfulobjects.objectPropertyValuesOnly=true + +${symbol_pound} whether to suppress "describedby" links. Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.suppressDescribedByLinks=true + +${symbol_pound} whether to suppress "update" links. Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.suppressUpdateLink=true + +${symbol_pound} whether to suppress "id" json-prop for object members. Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.suppressMemberId=true + +${symbol_pound} whether to suppress "links" json-prop for object members +${symbol_pound} (on the object representation only). Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.suppressMemberLinks=true + +${symbol_pound} whether to suppress "extensions" json-prop for object members +${symbol_pound} (on the object representation only). Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.suppressMemberExtensions=true + +${symbol_pound} whether to suppress "disabledReason" json-prop for object members +${symbol_pound} (on the object representation only). Defaults to false. +${symbol_pound}isis.viewer.restfulobjects.suppressMemberDisabledReason=true + +${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbo l_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound} http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties index 9e4fb9d..84e8f10 100644 --- a/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties +++ b/example/archetype/todoapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties @@ -35,32 +35,55 @@ isis.viewer.wicket.maxTitleLengthInStandaloneTables=0 isis.viewer.wicket.maxTitleLengthInParentedTables=0 -isis.viewer.wicket.datePattern=dd-MM-yyyy -isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm -isis.viewer.wicket.datePickerPattern=dd-mm-yy +${symbol_pound}isis.viewer.wicket.datePattern=dd-MM-yyyy +${symbol_pound}isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm +${symbol_pound}isis.viewer.wicket.datePickerPattern=DD-MM-YYYY ${symbol_pound}isis.viewer.wicket.datePattern=dd/MM/yy ${symbol_pound}isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm -${symbol_pound}isis.viewer.wicket.datePickerPattern=dd/mm/y +${symbol_pound}isis.viewer.wicket.datePickerPattern=DD/MM/YY -${symbol_pound} default is for wicket tags to be stripped in production (Isis SERVER mode == Wicket deployment mode), -${symbol_pound} not stripped otherwise (Isis' PROTOTYPE mode == Wicket's DEVELOPMENT mode) -${symbol_pound} isis.viewer.wicket.stripWicketTags=false +${symbol_pound} +${symbol_pound} whether to strip wicket tags from markup (default is true, as they may break some CSS rules) +${symbol_pound} +${symbol_pound}isis.viewer.wicket.stripWicketTags=false -${symbol_pound}isis.viewer.wicket.suppressRememberMe=true + +${symbol_pound} +${symbol_pound} whether to suppress the 'rememberMe' checkbox on the login page (default is false) +${symbol_pound} +${symbol_pound}isis.viewer.wicket.suppressRememberMe=false ${symbol_pound} ${symbol_pound} if user attempts to access a protected URL before signing in, then as a convenience the viewer will continue ${symbol_pound} through to that destination after successful login. If you consider this to be a security risk then this flag -${symbol_pound} disables that behaviour. +${symbol_pound} disables that behaviour (default is false). ${symbol_pound} ${symbol_pound}isis.viewer.wicket.clearOriginalDestination=true -${symbol_pound}isis.viewer.wicket.disableModalDialogs=true +${symbol_pound} +${symbol_pound} whether to show action dialogs on their own page rather than as a modal dialog (default is false) +${symbol_pound} +${symbol_pound}isis.viewer.wicket.disableModalDialogs=false + + +${symbol_pound} +${symbol_pound} the maximum number of pages to list in bookmark (default is 15) +${symbol_pound} ${symbol_pound}isis.viewer.wicket.bookmarkedPages.maxSize=15 -${symbol_pound}isis.viewer.wicket.regularCase=false +${symbol_pound} +${symbol_pound} whether to show the bootstrap theme chooser (defaults false) +${symbol_pound} +${symbol_pound}isis.viewer.wicket.themes.showChooser=false +isis.viewer.wicket.themes.showChooser=true + +${symbol_pound} +${symbol_pound} comma-separated list of themes to choose from (default is to show all themes from bootswatch.com). +${symbol_pound} +${symbol_pound}isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United +isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United http://git-wip-us.apache.org/repos/asf/isis/blob/853f6213/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties ---------------------------------------------------------------------- diff --git a/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties b/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties index d48dc88..0d38840 100644 --- a/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties +++ b/example/archetype/todoapp/src/test/resources/projects/basic/archetype.properties @@ -1,4 +1,4 @@ -#Mon Oct 13 23:45:24 BST 2014 +#Fri Nov 14 13:10:25 GMT 2014 package=it.pkg version=0.1-SNAPSHOT groupId=archetype.it
