Author: buildbot
Date: Tue Feb 24 06:40:38 2015
New Revision: 941273
Log:
Staging update by buildbot for isis
Modified:
websites/staging/isis/trunk/cgi-bin/ (props changed)
websites/staging/isis/trunk/content/ (props changed)
websites/staging/isis/trunk/content/components/viewers/wicket/brand-logo.html
websites/staging/isis/trunk/content/components/viewers/wicket/how-to-tweak-the-ui-using-css-classes.html
websites/staging/isis/trunk/content/core/specsupport-and-integtestsupport.html
websites/staging/isis/trunk/content/documentation.html
websites/staging/isis/trunk/content/intro/tutorials/apacheconeu-2014.html
websites/staging/isis/trunk/content/reference/services/background-service.html
websites/staging/isis/trunk/content/reference/services/event-bus-service.html
Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Feb 24 06:40:38 2015
@@ -1 +1 @@
-1661847
+1661851
Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Feb 24 06:40:38 2015
@@ -1 +1 @@
-1661847
+1661851
Modified:
websites/staging/isis/trunk/content/components/viewers/wicket/brand-logo.html
==============================================================================
---
websites/staging/isis/trunk/content/components/viewers/wicket/brand-logo.html
(original)
+++
websites/staging/isis/trunk/content/components/viewers/wicket/brand-logo.html
Tue Feb 24 06:40:38 2015
@@ -427,7 +427,7 @@ display a png logo instead.</p>
<h2>Screenshots</h2>
-<p>The screenshot below shows the todo application with a 'brand logo' image
in its header:</p>
+<p>The screenshot below shows the Isis addons example <a
href="https://github.com/isisaddons/isis-app-todoapp/">todoapp</a> (not ASF)
with a 'brand logo' image in its header:</p>
<p><img src="images/brand-logo.png" alt="" /></p>
Modified:
websites/staging/isis/trunk/content/components/viewers/wicket/how-to-tweak-the-ui-using-css-classes.html
==============================================================================
---
websites/staging/isis/trunk/content/components/viewers/wicket/how-to-tweak-the-ui-using-css-classes.html
(original)
+++
websites/staging/isis/trunk/content/components/viewers/wicket/how-to-tweak-the-ui-using-css-classes.html
Tue Feb 24 06:40:38 2015
@@ -446,7 +446,7 @@
<h2>Targetting individual members</h2>
-<p>For example, the <code>ToDoItem</code> object of the Isis addons <a
href="../../../intro/getting-started/quickstart-archetype.html">ToDo app</a>
has a <code>notes</code> property. The HTML for this will be something
like:</p>
+<p>For example, the <code>ToDoItem</code> object of the Isis addons example <a
href="https://github.com/isisaddons/isis-app-todoapp/">todoapp</a> (not ASF)
has a <code>notes</code> property. The HTML for this will be something
like:</p>
<pre><code><div>
<div class="property ToDoItem-notes">
Modified:
websites/staging/isis/trunk/content/core/specsupport-and-integtestsupport.html
==============================================================================
---
websites/staging/isis/trunk/content/core/specsupport-and-integtestsupport.html
(original)
+++
websites/staging/isis/trunk/content/core/specsupport-and-integtestsupport.html
Tue Feb 24 06:40:38 2015
@@ -680,16 +680,16 @@ public class RunSpecs {
}
</code></pre>
-<p>The JSON formatter allows integration with enhanced reports, for example as
provided by <a
href="http://www.masterthought.net/section/cucumber-reporting">Masterthought.net</a>
(screenshots at end of page). (Commented out) configuration for this is
provided in the example todo app <code>integtests</code> module's <a
href="https://github.com/apache/isis/blob/master/example/application/todoapp/integtests/pom.xml">pom.xml</a>.</p>
+<p>The JSON formatter allows integration with enhanced reports, for example as
provided by <a
href="http://www.masterthought.net/section/cucumber-reporting">Masterthought.net</a>
(screenshots at end of page). (Commented out) configuration for this is
provided in the <a
href="../intro/getting-started/simpleapp-archetype.html">simpleapp</a>
<code>integtests</code> module's <a
href="https://github.com/apache/isis/blob/07fe61ef3fb029ae36427f60da2afeeb931e4f88/example/application/simpleapp/integtests/pom.xml#L52">pom.xml</a>.</p>
-<p>The bootstrapping of Isis can be moved into a <a
href="https://github.com/apache/isis/blob/master/example/application/todoapp/integtests/src/test/java/integration/glue/BootstrappingGlue.java"><code>BootstrappingGlue</code></a>
step definition:</p>
+<p>The bootstrapping of Isis can be moved into a <a
href="https://github.com/apache/isis/blob/07fe61ef3fb029ae36427f60da2afeeb931e4f88/example/application/simpleapp/integtests/src/test/java/domainapp/integtests/specglue/BootstrappingGlue.java#L26"><code>BootstrappingGlue</code></a>
step definition:</p>
<pre><code>public class BootstrappingGlue extends CukeGlueAbstract {
@Before(value={"@integration"}, order=100)
public void beforeScenarioIntegrationScope() {
PropertyConfigurator.configure("logging.properties");
- ToDoSystemInitializer.initIsft();
+ SimpleAppSystemInitializer.initIsft();
before(ScenarioExecutionScope.INTEGRATION);
}
@@ -704,88 +704,44 @@ public class RunSpecs {
}
</code></pre>
-<p>The fixture to run also lives in its own step definition, <a
href="https://github.com/apache/isis/blob/master/example/application/todoapp/integtests/src/test/java/integration/glue/CatalogOfFixturesGlue.java"><code>CatalogOfFixturesGlue</code></a>:</p>
+<p>The fixture to run also lives in its own step definition, <a
href="https://github.com/apache/isis/blob/07fe61ef3fb029ae36427f60da2afeeb931e4f88/example/application/simpleapp/integtests/src/test/java/domainapp/integtests/specglue/CatalogOfFixturesGlue.java#L24"><code>CatalogOfFixturesGlue</code></a>:</p>
<pre><code>public class CatalogOfFixturesGlue extends CukeGlueAbstract {
- @Before(value={"@integration", "@ToDoItemsFixture"}, order=20000)
+ @Before(value={"@integration", "@SimpleObjectsFixture"}, order=20000)
public void integrationFixtures() throws Throwable {
- scenarioExecution().install(new ToDoItemsFixture());
- }
-
- // fixture for @unit, @ToDoItemsFixture omitted
+ scenarioExecution().install(new RecreateSimpleObjects());
+ }
}
</code></pre>
-<p>Note that this is annotated with a tag (<code>@ToDoItemsFixture</code>) so
that the correct fixture runs. (We might have a whole variety of these).</p>
-
-<p>The step definitions pertaining to <code>ToDoItem</code> then reside in the
<a
href="https://github.com/apache/isis/blob/master/example/application/todoapp/integtests/src/test/java/integration/glue/todoitem/ToDoItemGlue.java"><code>ToDoItemGlue</code></a>
class. This is where the heavy lifting gets done:</p>
-
-<pre><code>public class ToDoItemGlue extends CukeGlueAbstract {
+<p>Note that this is annotated with a tag (<code>@SimpleObjectsFixture</code>)
so that the correct fixture runs. (We might have a whole variety of these).</p>
- @Given("^there are a number of incomplete ToDo items$")
- public void there_are_a_number_of_incomplete_ToDo_items() throws Throwable
{
- final List<ToDoItem> notYetComplete =
service(ToDoItems.class).notYetComplete();
- assertThat(notYetComplete.isEmpty(), is(false));
- putVar("list", "notYetCompleteItems", notYetComplete);
- }
-
- @When("^I choose the first of the incomplete items$")
- public void I_choose_the_first_one() throws Throwable {
- List<ToDoItem> notYetComplete = getVar(null,
"notYetCompleteItems", List.class);
- assertThat(notYetComplete.isEmpty(), is(false));
+<p>The step definitions pertaining to <code>SimpleObject</code> domain entity
then reside in the <a
href="https://github.com/apache/isis/blob/07fe61ef3fb029ae36427f60da2afeeb931e4f88/example/application/simpleapp/integtests/src/test/java/domainapp/integtests/specglue/modules/simple/SimpleObjectGlue.java#L31"><code>SimpleObjectGlue</code></a>
class. This is where the heavy lifting gets done:</p>
- putVar("todo", "toDoItem", notYetComplete.get(0));
- }
+<pre><code>public class SimpleObjectGlue extends CukeGlueAbstract {
- @When("^mark the item as complete$")
- public void mark_it_as_complete() throws Throwable {
- ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
- wrap(toDoItem).completed();
- }
+ @Given("^there are.* (\\d+) simple objects$")
+ public void there_are_N_simple_objects(int n) throws Throwable {
+ try {
+ final List<SimpleObject> findAll =
service(SimpleObjects.class).listAll();
+ assertThat(findAll.size(), is(n));
+ putVar("list", "all", findAll);
- @Then("^the item is no longer listed as incomplete$")
- public void the_item_is_no_longer_listed_as_incomplete() throws Throwable {
- ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
- whetherNotYetCompletedContains(toDoItem, false);
- }
-
- @Given("^.*completed .*item$")
- public void a_completed_ToDo_item() throws Throwable {
- final List<ToDoItem> allToDos =
service(ToDoItems.class).allToDos();
- for (ToDoItem toDoItem : allToDos) {
- if(toDoItem.isComplete()) {
- putVar("todo", "toDoItem", toDoItem);
- return;
- }
+ } finally {
+ assertMocksSatisfied();
}
- Assert.fail("could not locate any completed ToDo items");
}
- @When("^I mark the .*item as not yet complete$")
- public void I_mark_it_as_not_yet_complete() throws Throwable {
- ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
- assertThat(toDoItem.isComplete(), is(true));
-
- toDoItem.setComplete(false);
+ @When("^I create a new simple object$")
+ public void I_create_a_new_simple_object() throws Throwable {
+ service(SimpleObjects.class).create(UUID.randomUUID().toString());
}
- @Then("^the .*item is listed as incomplete$")
- public void the_item_is_listed_as_incomplete() throws Throwable {
- ToDoItem toDoItem = getVar(null, "toDoItem", ToDoItem.class);
- whetherNotYetCompletedContains(toDoItem, true);
- }
-
- private void whetherNotYetCompletedContains(ToDoItem toDoItem, final
boolean whetherContained) {
- final List<ToDoItem> notYetComplete =
service(ToDoItems.class).notYetComplete();
- assertThat(notYetComplete.contains(toDoItem), is(whetherContained));
- }
}
</code></pre>
-<p>If you look at the code in the github repo, you will see that the code is
slightly more complex than this, because it also uses mocks to enable it to run
under <code>@unit</code> scope. </p>
-
<h2>BDD Tooling</h2>
<p>To help write feature files and generate step definitions, we recommend <a
href="https://github.com/rlogiacco/Natural">Roberto Lo Giacco's Eclipse
plugin</a>. For more information, see Dan's short <a
href="http://danhaywood.com/2013/07/05/cucumber-editors-in-eclipse/">blog
post</a>. It works very well. Of interest: this is implemented using <a
href="http://www.eclipse.org/Xtext/">XText</a>. </p>
Modified: websites/staging/isis/trunk/content/documentation.html
==============================================================================
--- websites/staging/isis/trunk/content/documentation.html (original)
+++ websites/staging/isis/trunk/content/documentation.html Tue Feb 24 06:40:38
2015
@@ -436,7 +436,7 @@
<ul>
<li><strong><a href="intro/elevator-pitch/isis-in-pictures.html">What's
Isis?</a> ... in pictures</strong></li>
<li><a href="intro/elevator-pitch/common-use-cases.html">Common Use Cases</a>
<a href="intro/elevator-pitch/common-use-cases.html#screencast"><img
src="./images/tv_show-25.png"></a></li>
-<li><a href="http://isisdemo.mmyco.co.uk/">Online demo</a> (ToDo App)</li>
+<li><a href="http://isisdemo.mmyco.co.uk/">Online demo</a> (todoapp)</li>
</ul>
<h4><a name="getting-started">Archetypes and Apps</a></h4>
Modified:
websites/staging/isis/trunk/content/intro/tutorials/apacheconeu-2014.html
==============================================================================
--- websites/staging/isis/trunk/content/intro/tutorials/apacheconeu-2014.html
(original)
+++ websites/staging/isis/trunk/content/intro/tutorials/apacheconeu-2014.html
Tue Feb 24 06:40:38 2015
@@ -660,7 +660,7 @@ mvn clean install
<li>optional: add an action to a return subset of objects
<ul>
<li>use <code>@Query</code> annotation</li>
-<li>see for example the todo app, see <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L93">here</a>
and <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java#L63">here</a></li>
+<li>see for example the Isisaddons example <a
href="https://github.com/isisaddons/isis-app-todoapp">todoapp</a> (not ASF),
see <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L93">here</a>
and <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java#L63">here</a></li>
</ul></li>
</ul>
@@ -743,7 +743,7 @@ mvn clean install
<li>use <a
href="http://isis.apache.org/components/objectstores/jdo/mapping-bigdecimals.html">bigdecimals</a>
properties</li>
<li>use <a
href="http://isis.apache.org/components/objectstores/jdo/mapping-blobs.html">blob/clobs</a>
properties</li>
<li>specify whether <a
href="http://isis.apache.org/components/objectstores/jdo/mapping-mandatory-and-optional-properties.html">optional
or mandatory</a></li>
-<li>enums (eg as used in the example Todo app, see <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L207">here</a>
and <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L266">here</a></li>
+<li>enums (eg as used in the Isis addons example <a
href="https://github.com/isisaddons/isis-app-todoapp">todoapp</a> (not ASF),
see <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L207">here</a>
and <a
href="https://github.com/apache/isis/blob/b3e936c9aae28754fb46c2df52b1cb9b023f9ab8/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java#L266">here</a></li>
</ul></li>
<li>update the corresponding domain service for creating new instances
<ul>
Modified:
websites/staging/isis/trunk/content/reference/services/background-service.html
==============================================================================
---
websites/staging/isis/trunk/content/reference/services/background-service.html
(original)
+++
websites/staging/isis/trunk/content/reference/services/background-service.html
Tue Feb 24 06:40:38 2015
@@ -659,18 +659,6 @@ org.quartz.plugin.jobInitializer.failOnF
</servlet>
</code></pre>
-<p><!--
-All of this stuff is configured in the example todo app, found on github (as
of Isis 1.5.0):</p>
-
-<ul>
-<li><a
href="https://github.com/apache/isis/blob/isis-1.5.0/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/scheduler/BackgroundCommandExecutionQuartzJob.java">BackgroundCommandExecutionQuartzJob</a></li>
-<li><a
href="https://github.com/apache/isis/blob/isis-1.5.0/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/scheduler/AbstractIsisQuartzJob.java">AbstractIsisQuartzJob</a></li>
-<li><a
href="https://github.com/apache/isis/blob/isis-1.5.0/example/application/quickstart_wicket_restful_jdo/webapp/src/main/resources/webapp/scheduler/quartz-config.xml">quartz-config.xml</a></li>
-<li><a
href="https://github.com/apache/isis/blob/isis-1.5.0/example/application/quickstart_wicket_restful_jdo/webapp/src/main/resources/webapp/scheduler/quartz.properties">quartz.properties</a></li>
-<li><a
href="https://github.com/apache/isis/blob/isis-1.5.0/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/web.xml#L308">web.xml</a>
---></li>
-</ul>
-
<h2>Registering the Services</h2>
<p>Assuming that the <code>configuration-and-annotation</code> services
installer is configured:</p>
Modified:
websites/staging/isis/trunk/content/reference/services/event-bus-service.html
==============================================================================
---
websites/staging/isis/trunk/content/reference/services/event-bus-service.html
(original)
+++
websites/staging/isis/trunk/content/reference/services/event-bus-service.html
Tue Feb 24 06:40:38 2015
@@ -474,7 +474,7 @@
</ul></li>
</ul>
-<p>For example, in the todo app a custom event is raised when an item is
completed:</p>
+<p>For example, in the Isis addons example <a
href="https://github.com/isisaddons/isis-app-todoapp/">todoapp</a> (not ASF) a
custom event is raised when an item is completed:</p>
<pre><code>public static class CompletedEvent extends
AbstractActionDomainEvent {
private static final long serialVersionUID = 1L;