For regression testing of Apache Isis framework.
Java HTML Groovy CSS Kotlin Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
dom
fixture
images
tests-e2e
tests-integ
webapp
.gitattributes
.gitignore
.travis.yml
LICENSE
README.adoc
bumpver.sh
bumpver_isis.sh
pom-jdo-enhance-all.xml
pom.xml

README.adoc

isis-kitchensink

An app to act as a regression suite for Apache Isis.

000 home page

Getting started (IntelliJ)

  • Import into IntelliJ, using File > New > Module from Existing Sources

  • in the kitchensinkapp-webapp, locate ide/intellij/launch directory

  • as per the README says, copy files into workspace\.idea\runConfigurations directory, and adjust file paths for Maven tasks.

Running the app

The -with-fixtures run configuration runs the app using an additional system property that instructs Isis to run the fixture script defined in WEB-INF/isis.properties.

Login using sven/pass.

Eager Loading Demo (ISIS-1232)

The script below was used in this screencast to show how the x-ro-follow-links query argument can be used to support uses cases such as table grids (avoiding the "N+1" problem).

  • parent object:

    http://localhost:8080/restful/objects/PARENT/0

  • children of parent:

    http://localhost:8080/restful/objects/PARENT/0/collections/children

  • expand the children (follow each of their links):

    http://localhost:8080/restful/objects/PARENT/0/collections/children?x-ro-follow-links=value.href

  • show parent and its children (titles)

    http://localhost:8080/restful/objects/PARENT/0?x-ro-follow-links=members[children].value

  • show parent and its children (full details)

    http://localhost:8080/restful/objects/PARENT/0?x-ro-follow-links=members[children].value.href

  • for child

    http://localhost:8080/restful/objects/CHILD/0

  • child’s parent (title)

    http://localhost:8080/restful/objects/CHILD/0?x-ro-follow-links=members[parent].value

  • parent, to child, to grandchildren

    http://localhost:8080/restful/objects/PARENT/0?x-ro-follow-links=members[children].value.href.members[grandchildren]

  • child’s siblings (up to its parent, down to children)

    http://localhost:8080/restful/objects/CHILD/0?x-ro-follow-links=members[parent].value.members[children].value

  • action invocations

    http://localhost:8080/restful/services/HierarchyObjects/actions/findParent/invoke?title="Parent 1"&x-ro-follow-links=members[children].value.href