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 2019/12/02 23:02:08 UTC
[isis-app-simpleapp] branch master created (now f21d636)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git.
at f21d636 translations, lockdowns and README
This branch includes the following new commits:
new cc93a37 ISIS-2148 - Initial take-on (moved out from apache/isis)
new 4c95924 combines application and webapp modules
new 3b20379 fixes up lockdown tests
new 9f7c75c moves domainapp.application to domainapp.webapp.application
new 1de02f5 simplifies test package hierarchy for webapp
new 3bc126c Re-enables metamodel validation integ test
new 29f5db0 removes stale action from menubars (fixture scripts refactoring)
new 2051730 cleans up the two lockdown tests/integ tests. Removes ASF license statements.
new f21d636 translations, lockdowns and README
The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[isis-app-simpleapp] 09/09: translations, lockdowns and README
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit f21d636f3da92004be6c83824974522028378667
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 23:01:37 2019 +0000
translations, lockdowns and README
---
README.adoc | 114 +++-
.../modules/simple/dom/impl/SimpleObject.java | 3 +
.../integtests/SimpleModuleIntegTestAbstract.java | 6 +-
webapp/log4j2-test.xml | 12 +-
webapp/pom.xml | 8 +-
webapp/src/main/webapp/WEB-INF/translations-en.po | 674 -------------------
webapp/src/main/webapp/WEB-INF/translations-es.po | 727 +++++++++------------
webapp/src/main/webapp/WEB-INF/translations-nl.po | 674 -------------------
webapp/src/main/webapp/WEB-INF/translations.po | 687 +++++++++----------
.../integtests/ApplicationIntegTestAbstract.java | 10 +-
.../lockdown/LockDownMetaModel_IntegTest.java | 59 +-
...ainapp.modules.simple.dom.impl.SimpleObject.xml | 6 +
.../lockdown/{received => current}/.gitignore | 0
.../webapp/integtests/smoke/Smoke_IntegTest.java | 14 +-
.../mavendeps/lockdown/LockDownMavenDeps_Test.java | 10 +-
.../lockdown/{received => current}/.gitignore | 0
...va => CurrentVsApprovedApprovalTextWriter.java} | 6 +-
17 files changed, 790 insertions(+), 2220 deletions(-)
diff --git a/README.adoc b/README.adoc
index 1d27310..1d43c6a 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,4 +1,5 @@
= SimpleApp
+:toc:
This is a simple link:http://isis.apache.org[Apache Isis] application, but structured so it can be used as a starting point for developing your own applications.
@@ -28,7 +29,6 @@ Login using:
The app runs with H2 running in-memory, with sample data set up using link:https://isis.apache.org/guides/ugtst.html#_ugtst_fixture-scripts[fixture scripts].
-
== Application Structure
The following table explains the contents of each of the directories:
@@ -56,7 +56,7 @@ The `pom.xml` also provides goals to run the app from the command line, or to be
|====================
-== In Development
+== Development
Apache Isis uses DataNucleus as its ORM, which requires that any entities are "enhanced", a post-compile process.
@@ -74,49 +74,82 @@ TIP: You can also use `enhance-all.sh`
== Testing
-To disable the running of unit tests: +
+The application has three types of tests.
+Each of these generates its own set of tests, and each can be disabled through a system property.
-[source,bash]
-----
-mvn -DskipUTs
-----
+.Testing types
+[cols="5a,12m,6m,3m", options="header"]
+|===
-[TIP]
-====
-By default, output of unit tests are in `target/surefire-unittest-reports` (in the ``module-simple`` modules).
-====
+| Test type
+| Report
+| Phase
+| Skip using
-To disable the running of integration tests: +
-[source,bash]
-----
-mvn -DskipITs
-----
+| Unit test
+| target/surefire-unittest-reports
+| test
+| -DskipUTs
-[TIP]
-====
-By default, output of integration tests are in `target/surefire-integtest-reports` (in the ``application`` and ``module-simple`` modules).
-====
+| Integ test
+| target/surefire-integtest-reports
+| integration-test
+| -DskipITs
+
+| BDD (Cucumber) specs
+| target/surefire-integbddspecs-reports
+| integration-test
+| -DskipBS
+
+
+|===
+
+The test reports format are in XML and basic HTML format.
+In addition:
-To disable the running of BDD specs: +
+`target/cucumber-html-reports/overview-features.html`::
+BDD (Cucumber) specification reports, as an interactive website
+These outputs can for example be processed within/published by a continuous pipeline pipeline.
+
+
+=== Lockdown Tests
+
+Lockdown tests capture the state of the system, so that changes to that system can be captured and confirmed.
+There are two lockdown tests:
+
+* the metamodel (serialized as XML)
++
+This is expected to change whenever the domain logic is changed, but generally should _not_ change when the Apache Isis framework is upgraded.
+
+* Maven dependencies (serialized as flat files)
++
+This should only change when dependencies are bumped or new dependencies added.
+
+The lockdown tests are implemented as link:https://approvaltests.com/[approval test]s, meaning that the current state is compared to an "approved" state.
+If there are no differences then the test passes.
+If there are differences then the test fails, and a diff is shown using any available `diff` tool.
+
+The lockdown tests are disabled by default, and are enabled with system properties.
+
+* to compare the current metamodel with the previously approved metamodel:
++
[source,bash]
----
-mvn -DskipBSs
+mvn integration-test -Dmetamodel.lockdown
----
-[TIP]
-====
-By default, output of integration tests are in `target/surefire-integbddspecs-reports` (in the ``application`` module).
-====
-
-* To disable the running of all tests and BDD specs: +
+* to compare the current Maven dependencies with the previously approved dependencies:
+
[source,bash]
----
-mvn -DskipTests
+mvn test -Dmavendeps.lockdown
----
+When there are differences, the current state is written to the `current` subdirectory.
+If the current state is approved, it should be copied over to the corresponding `approved` subdirectory.
+
== Docker
@@ -157,9 +190,28 @@ docker container run -d -p 8080:8080 apacheisis/simpleapp:latest
This can then be accessed at link:http://localhost:8080[localhost:8080].
-== Externalized Configuration
+=== Externalized Configuration
-The application is configured to run in the `/run/secrets` directory.
+The Docker image is configured to run in the `/run/secrets` directory.
Configuration can be therefore be externalized by defining an `application.properties` secret for the Kubernetes or Docker Swarm cluster.
Spring Boot will use these settings in preference to the configuration properties defined in `classpath:config/application.properties`, see link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config[Spring docs].
+
+
+== Translations
+
+Apache Isis supports i18n using link:https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html[GNU .po file]s.
+The `WEB-INF/translations.po` is the fallback (an empty value means that the key is used "as-is"), while `WEB-INF/translations-XX.po` files provide translations for each "XX" locale.
+
+Translations are required for all domain classes and all members (actions, properties and collections) of all classes.
+This information is available from the metamodel, and so a new template `translations.po` is generated as a side-effect of running the integration tests (through a log4j2 logger).
+A good integration test to run is `ValidateDomainModel_IntegTest`.
+
+In addition, translations are required for any validation messages triggered by the test.
+Running an integration tests that trigger validations will result in these messages being captured as keys, for example `Smoke_IntegTest`.
+
+The generated file should be merged with any existing translations in `WEB-INF/translations.po`, and translations obtained for any new keys (there are numerous online services that support the format).
+
+
+
+
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
index 4da7a9f..c198177 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
@@ -60,6 +60,9 @@ public class SimpleObject implements Comparable<SimpleObject> {
public String default0UpdateName() {
return getName();
}
+ public String validate0UpdateName(String name) {
+ return name.contains("!") ? "Exclamation mark is not allowed" : null;
+ }
@Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE)
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
index 2e1b410..7a8c403 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -15,13 +15,15 @@ import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
-@SpringBootTest(classes = SimpleModuleIntegTestAbstract.AppManifest.class)
+@SpringBootTest(
+ classes = SimpleModuleIntegTestAbstract.AppManifest.class,
+ properties = {"logging.config=log4j2-test.xml" }
+)
public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
@Configuration
@PropertySources({
@PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
- @PropertySource(IsisPresets.Log4j2Test),
@PropertySource(IsisPresets.DataNucleusAutoCreate),
})
@Import({
diff --git a/webapp/log4j2-test.xml b/webapp/log4j2-test.xml
index 56e8ad6..6f10339 100644
--- a/webapp/log4j2-test.xml
+++ b/webapp/log4j2-test.xml
@@ -12,6 +12,11 @@
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
</Console>
+ <File name="TranslationsPoFile" fileName="translations.po" append="false" immediateFlush="true">
+ <PatternLayout>
+ <Pattern>%m%n</Pattern>
+ </PatternLayout>
+ </File>
</Appenders>
<Loggers>
<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
@@ -22,7 +27,7 @@
<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
-
+
<logger name="org.apache.directory" level="warn"/>
<logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
@@ -34,6 +39,11 @@
<Root level="info">
<AppenderRef ref="Console" />
</Root>
+
+ <logger name="org.apache.isis.runtime.services.i18n.po.PoWriter" level="info">
+ <AppenderRef ref="TranslationsPoFile"/>
+ </logger>
+
</Loggers>
</Configuration>
diff --git a/webapp/pom.xml b/webapp/pom.xml
index 33f4524..1373bd7 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -135,10 +135,10 @@
<profiles>
<profile>
- <id>lockdown</id>
+ <id>mavendeps-lockdown</id>
<activation>
<property>
- <name>lockdown</name>
+ <name>mavendeps.lockdown</name>
</property>
</activation>
<build>
@@ -153,7 +153,7 @@
<goal>list</goal>
</goals>
<configuration>
- <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/received/LockDownMavenDeps_Test.list.txt</outputFile>
+ <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.list.txt</outputFile>
</configuration>
</execution>
<execution>
@@ -163,7 +163,7 @@
<goal>tree</goal>
</goals>
<configuration>
- <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/received/LockDownMavenDeps_Test.tree.txt</outputFile>
+ <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.tree.txt</outputFile>
</configuration>
</execution>
</executions>
diff --git a/webapp/src/main/webapp/WEB-INF/translations-en.po b/webapp/src/main/webapp/WEB-INF/translations-en.po
deleted file mode 100644
index 4e59ee2..0000000
--- a/webapp/src/main/webapp/WEB-INF/translations-en.po
+++ /dev/null
@@ -1,674 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"POT-Creation-Date: 2016-06-16 15:34:40+\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
-msgid ".csv file name"
-msgstr ""
-
-
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
-msgid ".jdo file name"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
-msgid ".pot file name"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
-msgid "Action"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Are you sure?"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "AutoLabel.CSS.required"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Cancel"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
-#: domainapp.dom.simple.SimpleObject#clearHints()
-msgid "Clear Hints"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
-msgid "Clear translation cache"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
-msgid "Collection"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
-msgstr "Table"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsUnresolvedPanel.Hide"
-msgstr "Hide"
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
-msgid "Complete"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
-msgid "Configuration"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Confirm"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#create()
-msgid "Create"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
-msgid "Current"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#delete()
-msgid "Delete"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
-msgid "Download Jdo Metadata"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
-#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
-msgid "Download Layout Xml"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
-msgid "Download Layouts (XML)"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
-msgid "Download Meta Model (CSV)"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
-msgid "Download Swagger Spec"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
-msgid "Download Translations"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
-msgid "File name"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Exclamation mark is not allowed"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
-msgid "Filename"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#findByName()
-msgid "Find By Name"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
-msgid "Fixture script"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
-#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
-msgid "Friendly Name"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "General"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageService#homePage()
-msgid "Home Page"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
-msgid "Id"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
-msgid "Idempotent"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
-msgid "Idempotent Are You Sure"
-msgstr "Are you sure?"
-
-
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
-msgid "Ignore"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
-msgid "Include"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
-msgid "Json"
-msgstr "JSON"
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#key
-msgid "Key"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#listAll()
-msgid "List All"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
-msgid "Lookup"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
-#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
-msgid "Metadata"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
-msgid "Minimal"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-#: domainapp.dom.simple.SimpleObject#name
-#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
-msgid "Name"
-msgstr ""
-
-
-#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
-msgid "New Application Feature"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
-msgid "Non Idempotent"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
-msgid "Non Idempotent Are You Sure"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
-msgid "Normalized"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
-msgid "Number"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
-msgid "Object"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#title()
-msgid "Object: {name}"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#objects
-msgid "Objects"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Parameters"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
-msgid "Private"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
-msgid "Private With Prototyping"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
-msgid "Property"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
-msgid "Prototyping"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
-msgid "Public"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
-#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
-msgid "Rebuild Metamodel"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
-msgid "Recreate Objects And Return First"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#object
-msgid "Result"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#className
-msgid "Result class"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#key
-msgid "Result key"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
-msgid "Run Fixture Script"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
-msgid "Safe"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
-msgid "Safe And Request Cacheable"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
-#: org.apache.isis.applib.fixturescripts.FixtureScript
-msgid "Script"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#title()
-msgid "Simple Objects"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
-msgid "Switch To Reading Translations"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
-msgid "Switch To Writing Translations"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Update Name"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#value
-msgid "Value"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
-msgid "Version"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
-msgid "Yaml"
-msgstr "YAML"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "aboutLabel"
-msgstr "About"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "cancelLabel"
-msgstr "Cancel"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "datanucleusIdLong"
-msgstr "Id"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortPlural"
-msgstr "Please enter {number} more characters"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortSingular"
-msgstr "Please enter 1 more character"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "loadMore"
-msgstr "Load more"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "loginHeader"
-msgstr "Login"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "logoutLabel"
-msgstr "Logout"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "name"
-msgstr ""
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "noMatches"
-msgstr "No matches"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel
-msgid "objects"
-msgstr "Objects"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "okLabel"
-msgstr "OK"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "rememberMeLabel"
-msgstr "Remember Me"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "resetButtonLabel"
-msgstr "Reset"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "searching"
-msgstr "Searching..."
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigPlural"
-msgstr "You can only select {limit} items"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigSingular"
-msgstr "You can only select 1 item"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signInButtonLabel"
-msgstr "Sign in"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#title()
-msgid "{num} objects"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "confirmPasswordLabel"
-msgstr "Confirm password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "datatable.no-records-found"
-msgstr "No Records Found"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "editLabel"
-msgstr "Edit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailIsNotAvailable"
-msgstr "The given email is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailPlaceholder"
-msgstr "Enter your email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailPlaceholder"
-msgstr "Enter an email for the new account"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailLabel"
-msgstr "Email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailSentMessage"
-msgstr "An email has been sent to '${email}' for verification."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "forgotPasswordLinkLabel"
-msgstr "Forgot your password?"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeSuccessful"
-msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeUnsuccessful"
-msgstr "There was a problem while updating the password. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordPlaceholder"
-msgstr "Enter password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetExpiredOrInvalidToken"
-msgstr "You are trying to reset the password for an expired or invalid token"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetHeader"
-msgstr "Forgot password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetSubmitLabel"
-msgstr "Submit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "registerButtonLabel"
-msgstr "Register"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "registerHeader"
-msgstr "Register"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noSuchUserByEmail"
-msgstr "There is no account with this email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noUserForAnEmailValidToken"
-msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signUpButtonLabel"
-msgstr "Don't have an account? Sign up now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "signUpButtonLabel"
-msgstr "Verify email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-msgid "signUpHeader"
-msgstr "Sign Up"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameIsNotAvailable"
-msgstr "The provided username is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernamePlaceholder"
-msgstr "Username"
-
diff --git a/webapp/src/main/webapp/WEB-INF/translations-es.po b/webapp/src/main/webapp/WEB-INF/translations-es.po
index d519350..d34ea00 100644
--- a/webapp/src/main/webapp/WEB-INF/translations-es.po
+++ b/webapp/src/main/webapp/WEB-INF/translations-es.po
@@ -1,91 +1,123 @@
+
+
+##############################################################################
+#
+# .pot file
+#
+# Translate this file to each required language and place in WEB-INF, eg:
+#
+# /WEB-INF/translations-en_US.po
+# /WEB-INF/translations-en.po
+# /WEB-INF/translations-fr_FR.po
+# /WEB-INF/translations-fr.po
+# /WEB-INF/translations.po
+#
+# If the app uses TranslatableString (eg for internationalized validation
+# messages), or if the app calls the TranslationService directly, then ensure
+# that all text to be translated has been captured by running a full
+# integration test suite that exercises all relevant behaviour
+#
+##############################################################################
+
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2016-06-16 15:34:40+\n"
+"POT-Creation-Date: 2019-12-02 18:55:20+\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelCsv(java.lang.String)
msgid ".csv file name"
+msgstr "fichero .csv"
+
+
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr "fichero .pot"
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid ".xml file name"
+msgstr "fichero .xml"
+
+
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act()
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act()
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act()
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi#act()
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel#act()
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolder_lookup#act()
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata#act()
+msgid "Act"
msgstr ""
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
-msgid ".jdo file name"
+#: org.apache.isis.applib.domain.DomainObjectList#actionArguments
+msgid "Action Arguments"
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
-msgid ".pot file name"
-msgstr "fichero .pot"
+#: org.apache.isis.applib.domain.DomainObjectList#actionId
+msgid "Action Id"
+msgstr ""
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
-msgid "Action"
+#: org.apache.isis.applib.domain.DomainObjectList#actionOwningType
+msgid "Action Owning Type"
msgstr ""
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+#: org.apache.isis.runtime.system.session.IsisSessionFactory
msgid "Are you sure?"
msgstr "¿Estas seguro?"
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "AutoLabel.CSS.required"
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#beanClass
+msgid "Bean Class"
msgstr ""
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Cancel"
-msgstr "Cancelar"
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#beanProvider
+msgid "Bean Provider"
+msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
-#: domainapp.dom.simple.SimpleObject#clearHints()
-msgid "Clear Hints"
-msgstr ""
+#: org.apache.isis.runtime.system.session.IsisSessionFactory
+msgid "Cancel"
+msgstr "Cancelar"
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
msgid "Clear translation cache"
msgstr "Limpiar la caché de traducciones"
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
-msgid "Collection"
+#: org.apache.isis.schema.cmd.v1.CommandsDto#commandDto
+msgid "Command Dto"
msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
-msgstr "Table"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsUnresolvedPanel.Hide"
-msgstr "Hide"
-
-
#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
msgid "Complete"
msgstr ""
-#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
+#: org.apache.isis.applib.services.confview.ConfigurationMenu#configuration()
msgid "Configuration"
msgstr ""
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+#: org.apache.isis.runtime.system.session.IsisSessionFactory
msgid "Confirm"
msgstr "Confirmar"
-#: domainapp.dom.simple.SimpleObjects#create()
+#: domainapp.modules.simple.dom.impl.SimpleObjects#create()
msgid "Create"
msgstr "Crear"
@@ -95,139 +127,193 @@ msgid "Current"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#delete()
+#: org.apache.isis.applib.services.menu.MenuBarsService$Type#DEFAULT
+msgid "Default"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#delete()
msgid "Delete"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadJdoMetadata()
msgid "Download Jdo Metadata"
msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
-#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()
+#: org.apache.isis.applib.domain.DomainObjectList#downloadLayoutXml()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#downloadLayoutXml()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#downloadLayoutXml()
+#: org.apache.isis.schema.cmd.v1.CommandDto#downloadLayoutXml()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#downloadLayoutXml()
msgid "Download Layout Xml"
msgstr ""
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
-msgid "Download Layouts (XML)"
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout()
+msgid "Download Menu Bars Layout (XML)"
msgstr ""
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelCsv()
msgid "Download Meta Model (CSV)"
msgstr ""
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
-msgid "Download Swagger Spec"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml()
+msgid "Download Meta Model (XML)"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadMetaModelXml()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#downloadMetaModelXml()
+#: org.apache.isis.applib.domain.DomainObjectList#downloadMetaModelXml()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#downloadMetaModelXml()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#downloadMetaModelXml()
+#: org.apache.isis.schema.cmd.v1.CommandDto#downloadMetaModelXml()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#downloadMetaModelXml()
+msgid "Download Meta Model Xml"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
+msgid "Download Object Layouts (ZIP)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition()
+msgid "Download Swagger Schema Definition"
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
msgid "Download Translations"
msgstr "Descargar traducciones"
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
-msgid "File name"
+#: org.apache.isis.applib.domain.DomainObjectList#elementObjectType
+msgid "Element Object Type"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#updateName()
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName()
msgid "Exclamation mark is not allowed"
msgstr "No se admite el signo de exclamación"
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+#: org.apache.isis.applib.services.menu.MenuBarsService$Type#FALLBACK
+msgid "Fallback"
+msgstr ""
+
+
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act(java.lang.String)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout(java.lang.String,org.apache.isis.applib.services.menu.MenuBarsService$Type)
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata#act(java.lang.String)
+msgid "File name"
+msgstr ""
+
+
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act(java.lang.String)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)
+msgid "File name extension can be omitted."
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
msgid "Filename"
msgstr ""
-#: domainapp.dom.simple.SimpleObjects#findByName()
+#: domainapp.modules.simple.dom.impl.SimpleObjects#findByName()
msgid "Find By Name"
msgstr "Buscar por Nombre"
-#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#fixtureScriptByFriendlyName
+msgid "Fixture Script By Friendly Name"
+msgstr ""
+
+
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#fixtureScriptClassName
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript(java.lang.String,java.lang.String)
msgid "Fixture script"
msgstr "Script de Instalación"
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
-#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
-msgid "Friendly Name"
-msgstr "Nombre común"
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Format"
+msgstr ""
-#: domainapp.dom.simple.SimpleObject
-msgid "General"
+#: org.apache.isis.runtime.services.hsqldb.HsqlDbManagerMenu#hsqlDbManager()
+msgid "HSQL DB Manager"
msgstr ""
-#: domainapp.app.services.homepage.HomePageService#homePage()
-msgid "Home Page"
-msgstr "Página de Inicio"
+#: domainapp.modules.simple.dom.impl.SimpleObject#datanucleusIdLong()
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#id
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong#prop()
+msgid "Id"
+msgstr ""
-#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
-msgid "Id"
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts$NonPersistedObjectsStrategy#IGNORE
+msgid "Ignore"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
-msgid "Idempotent"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid "Ignore Interfaces"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
-msgid "Idempotent Are You Sure"
-msgstr "¿Estas seguro?"
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
+msgid "Include"
+msgstr ""
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
-msgid "Ignore"
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#instance
+msgid "Instance"
msgstr ""
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
-msgid "Include"
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+msgid "Isis Schemas"
msgstr ""
#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
msgid "Json"
-msgstr "JSON"
+msgstr ""
-#: org.apache.isis.applib.services.config.ConfigurationProperty#key
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#key
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#key
msgid "Key"
msgstr ""
-#: domainapp.dom.simple.SimpleObjects#listAll()
+#: domainapp.modules.simple.dom.impl.SimpleObjects#listAll()
msgid "List All"
-msgstr "Listar Todos"
+msgstr ""
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
-msgid "Lookup"
-msgstr "Buscar"
+#: org.apache.isis.schema.cmd.v1.CommandDto#majorVersion
+msgid "Major Version"
+msgstr ""
-#: domainapp.dom.simple.SimpleObject
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
-#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
-msgid "Metadata"
+#: org.apache.isis.schema.cmd.v1.CommandDto#member
+msgid "Member"
msgstr ""
@@ -236,60 +322,92 @@ msgid "Minimal"
msgstr ""
-#: domainapp.dom.simple.SimpleObject
-#: domainapp.dom.simple.SimpleObject#name
-#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
+#: org.apache.isis.schema.cmd.v1.CommandDto#minorVersion
+msgid "Minor Version"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#name
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName(java.lang.String)
+#: domainapp.modules.simple.dom.impl.SimpleObjects#create(java.lang.String)
+#: domainapp.modules.simple.dom.impl.SimpleObjects#findByName(java.lang.String)
msgid "Name"
msgstr "Nombre"
-#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
-msgid "New Application Feature"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#nonPersistedObjectsStrategy
+msgid "Non Persisted Objects Strategy"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
-msgid "Non Idempotent"
+#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
+msgid "Normalized"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
-msgid "Non Idempotent Are You Sure"
-msgstr "¿Estas seguro?"
+#: domainapp.modules.simple.dom.impl.SimpleObject#notes
+msgid "Notes"
+msgstr ""
-#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
-msgid "Normalized"
+#: domainapp.modules.simple.dom.impl.SimpleObject#objectIdentifier()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#objectIdentifier()
+#: org.apache.isis.applib.domain.DomainObjectList#objectIdentifier()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#objectIdentifier()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#objectIdentifier()
+#: org.apache.isis.schema.cmd.v1.CommandDto#objectIdentifier()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#objectIdentifier()
+msgid "Object Identifier"
msgstr ""
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
-msgid "Number"
+#: domainapp.modules.simple.dom.impl.SimpleObject#objectType()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#objectType()
+#: org.apache.isis.applib.domain.DomainObjectList#objectType()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#objectType()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#objectType()
+#: org.apache.isis.schema.cmd.v1.CommandDto#objectType()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#objectType()
+msgid "Object Type"
msgstr ""
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
-msgid "Object"
-msgstr "Objeto"
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#objects
+#: org.apache.isis.applib.domain.DomainObjectList#objects
+msgid "Objects"
+msgstr "Objetos"
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#openRestApi()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#openRestApi()
+#: org.apache.isis.applib.domain.DomainObjectList#openRestApi()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#openRestApi()
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#openRestApi()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#openRestApi()
+#: org.apache.isis.schema.cmd.v1.CommandDto#openRestApi()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#openRestApi()
+msgid "Open Rest Api"
+msgstr ""
-#: domainapp.dom.simple.SimpleObject#title()
-msgid "Object: {name}"
-msgstr "Objeto: {name}"
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#openSwaggerUi()
+msgid "Open Swagger Ui"
+msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#objects
-msgid "Objects"
-msgstr "Objetos"
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid "Packages"
+msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript(java.lang.String,java.lang.String)
msgid "Parameters"
-msgstr "Parámetros"
+msgstr ""
+
+
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts$NonPersistedObjectsStrategy#PERSIST
+msgid "Persist"
+msgstr ""
#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
@@ -302,16 +420,19 @@ msgid "Private With Prototyping"
msgstr ""
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
-msgid "Property"
+#: org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier#prop()
+#: org.apache.isis.applib.mixins.metamodel.Object_objectType#prop()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolder_object#prop()
+msgid "Prop"
msgstr ""
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
#: org.apache.isis.applib.services.layout.LayoutServiceMenu
#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts
+#: org.apache.isis.runtime.services.hsqldb.HsqlDbManagerMenu
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu
msgid "Prototyping"
msgstr "Prototipo"
@@ -321,353 +442,159 @@ msgid "Public"
msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
-#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
+#: domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()
+#: org.apache.isis.applib.domain.DomainObjectList#rebuildMetamodel()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#rebuildMetamodel()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#rebuildMetamodel()
+#: org.apache.isis.schema.cmd.v1.CommandDto#rebuildMetamodel()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#rebuildMetamodel()
msgid "Rebuild Metamodel"
msgstr ""
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#recreateObjectsAndReturnFirst()
msgid "Recreate Objects And Return First"
msgstr "Recrear Objetos y Devolver el Primero"
-#: org.apache.isis.applib.fixturescripts.FixtureResult#object
+#: org.apache.isis.extensions.fixtures.modules.ModuleFixtureService#refDataSetupFixture
+msgid "Ref Data Setup Fixture"
+msgstr ""
+
+
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#object
msgid "Result"
msgstr "Resultado"
-#: org.apache.isis.applib.fixturescripts.FixtureResult#name
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#className
msgid "Result class"
msgstr "Clase del resultado"
-#: org.apache.isis.applib.fixturescripts.FixtureResult#key
-msgid "Result key"
-msgstr "Clave del Resultado"
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript()
msgid "Run Fixture Script"
msgstr "Ejecutar Script de Instalación"
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
-msgid "Safe"
-msgstr ""
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript(java.lang.String,java.lang.String)
+msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
+msgstr "Parámetros específicos del Script (si hay alguno). El formato depende de la implementación del script (por ejemplo, clave=valor, CSV, JSON, XML, etc.)"
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
-msgid "Safe And Request Cacheable"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#specification
+msgid "Specification"
msgstr ""
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
-#: org.apache.isis.applib.fixturescripts.FixtureScript
-msgid "Script"
-msgstr "Script"
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
-msgstr "Parámetros específicos del Script (si hay alguno). El formato depende de la implementación del script (por ejemplo, clave=valor, CSV, JSON, XML, etc.)"
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts(org.apache.isis.applib.services.layout.LayoutService$Style)
+msgid "Style"
+msgstr ""
-#: domainapp.dom.simple.SimpleObjects#title()
-msgid "Simple Objects"
-msgstr "Objetos básicos"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid "Subset of the complete meta model, only including packages starting with given prefix."
+msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
msgid "Switch To Reading Translations"
msgstr "Cambiar a Lectura de Traducciones"
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
msgid "Switch To Writing Translations"
msgstr "Cambiar a Escritura de Traducciones"
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Update Name"
-msgstr "Nombre de la Actualización"
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#value
-msgid "Value"
+#: org.apache.isis.schema.cmd.v1.CommandDto#targets
+msgid "Targets"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
-msgid "Version"
+#: org.apache.isis.extensions.fixtures.modules.ModuleFixtureService#teardownFixture
+msgid "Teardown Fixture"
msgstr ""
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
-msgid "Yaml"
-msgstr "YAML"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "aboutLabel"
-msgstr "About"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "cancelLabel"
-msgstr "Cancel"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "datanucleusIdLong"
-msgstr "Id"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortPlural"
-msgstr "Please enter {number} more characters"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortSingular"
-msgstr "Please enter 1 more character"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "loadMore"
-msgstr "Load more"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "loginHeader"
-msgstr "Login"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "logoutLabel"
-msgstr "Logout"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "name"
+#: org.apache.isis.schema.cmd.v1.CommandDto#timestamp
+msgid "Timestamp"
msgstr ""
-#: org.wicketstuff.select2.Select2Choice
-msgid "noMatches"
-msgstr "No matches"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel
-msgid "objects"
-msgstr "Objects"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "okLabel"
-msgstr "OK"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "rememberMeLabel"
-msgstr "Remember Me"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "resetButtonLabel"
-msgstr "Reset"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "searching"
-msgstr "Searching..."
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigPlural"
-msgstr "You can only select {limit} items"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigSingular"
-msgstr "You can only select 1 item"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signInButtonLabel"
-msgstr "Sign in"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#title()
-msgid "{num} objects"
+#: org.apache.isis.schema.cmd.v1.CommandDto#timings
+msgid "Timings"
msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "confirmPasswordLabel"
-msgstr "Confirm password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "datatable.no-records-found"
-msgstr "No Records Found"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "editLabel"
-msgstr "Edit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailIsNotAvailable"
-msgstr "The given email is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailPlaceholder"
-msgstr "Enter your email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailPlaceholder"
-msgstr "Enter an email for the new account"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailLabel"
-msgstr "Email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailSentMessage"
-msgstr "An email has been sent to '${email}' for verification."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "forgotPasswordLinkLabel"
-msgstr "Forgot your password?"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeSuccessful"
-msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeUnsuccessful"
-msgstr "There was a problem while updating the password. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordPlaceholder"
-msgstr "Enter password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetExpiredOrInvalidToken"
-msgstr "You are trying to reset the password for an expired or invalid token"
-
+#: org.apache.isis.schema.cmd.v1.CommandDto#transactionId
+msgid "Transaction Id"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetHeader"
-msgstr "Forgot password"
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout(java.lang.String,org.apache.isis.applib.services.menu.MenuBarsService$Type)
+msgid "Type"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetSubmitLabel"
-msgstr "Submit"
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName()
+msgid "Update Name"
+msgstr "Nombre de la Actualización"
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "registerButtonLabel"
-msgstr "Register"
+#: org.apache.isis.schema.cmd.v1.CommandDto#user
+msgid "User"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "registerHeader"
-msgstr "Register"
+#: org.apache.isis.schema.cmd.v1.CommandDto#userData
+msgid "User Data"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noSuchUserByEmail"
-msgstr "There is no account with this email"
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#value
+msgid "Value"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noUserForAnEmailValidToken"
-msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
+#: domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionLong()
+#: domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionTimestamp()
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong#prop()
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp#prop()
+msgid "Version"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signUpButtonLabel"
-msgstr "Don't have an account? Sign up now."
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Visibility"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "signUpButtonLabel"
-msgstr "Verify email"
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
+msgid "Yaml"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-msgid "signUpHeader"
-msgstr "Sign Up"
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml
+#: org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier
+#: org.apache.isis.applib.mixins.metamodel.Object_objectType
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata
+msgid "metadata"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameIsNotAvailable"
-msgstr "The provided username is already in use"
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameLabel"
-msgstr "Username"
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernamePlaceholder"
-msgstr "Username"
+##############################################################################
+# end of .pot file
+##############################################################################
diff --git a/webapp/src/main/webapp/WEB-INF/translations-nl.po b/webapp/src/main/webapp/WEB-INF/translations-nl.po
deleted file mode 100644
index af4babf..0000000
--- a/webapp/src/main/webapp/WEB-INF/translations-nl.po
+++ /dev/null
@@ -1,674 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"POT-Creation-Date: 2016-06-16 15:34:40+\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
-msgid ".csv file name"
-msgstr ""
-
-
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
-msgid ".jdo file name"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
-msgid ".pot file name"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
-msgid "Action"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Are you sure?"
-msgstr "Weet je het zeker?"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "AutoLabel.CSS.required"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Cancel"
-msgstr "Annuleer"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
-#: domainapp.dom.simple.SimpleObject#clearHints()
-msgid "Clear Hints"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
-msgid "Clear translation cache"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
-msgid "Collection"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
-msgstr "Table"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsUnresolvedPanel.Hide"
-msgstr "Hide"
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
-msgid "Complete"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
-msgid "Configuration"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Confirm"
-msgstr "Bevestigen"
-
-
-#: domainapp.dom.simple.SimpleObjects#create()
-msgid "Create"
-msgstr "Creëren"
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
-msgid "Current"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#delete()
-msgid "Delete"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
-msgid "Download Jdo Metadata"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
-#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
-msgid "Download Layout Xml"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
-msgid "Download Layouts (XML)"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
-msgid "Download Meta Model (CSV)"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
-msgid "Download Swagger Spec"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
-msgid "Download Translations"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
-msgid "File name"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Exclamation mark is not allowed"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
-msgid "Filename"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#findByName()
-msgid "Find By Name"
-msgstr "Zoek op Naam"
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
-msgid "Fixture script"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
-#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
-msgid "Friendly Name"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "General"
-msgstr "Algemeen"
-
-
-#: domainapp.app.services.homepage.HomePageService#homePage()
-msgid "Home Page"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
-msgid "Id"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
-msgid "Idempotent"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
-msgid "Idempotent Are You Sure"
-msgstr "Weet je het zeker?"
-
-
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
-msgid "Ignore"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
-msgid "Include"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
-msgid "Json"
-msgstr "JSON"
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#key
-msgid "Key"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#listAll()
-msgid "List All"
-msgstr "Lijst Alle"
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
-msgid "Lookup"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
-#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
-msgid "Metadata"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
-msgid "Minimal"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject
-#: domainapp.dom.simple.SimpleObject#name
-#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
-msgid "Name"
-msgstr "Naam"
-
-
-#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
-msgid "New Application Feature"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
-msgid "Non Idempotent"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
-msgid "Non Idempotent Are You Sure"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
-msgid "Normalized"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
-msgid "Number"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
-msgid "Object"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#title()
-msgid "Object: {name}"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#objects
-msgid "Objects"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Parameters"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
-msgid "Private"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
-msgid "Private With Prototyping"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
-msgid "Property"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
-msgid "Prototyping"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
-msgid "Public"
-msgstr ""
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
-#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
-msgid "Rebuild Metamodel"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
-msgid "Recreate Objects And Return First"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#object
-msgid "Result"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#className
-msgid "Result class"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#key
-msgid "Result key"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
-msgid "Run Fixture Script"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
-msgid "Safe"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
-msgid "Safe And Request Cacheable"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
-#: org.apache.isis.applib.fixturescripts.FixtureScript
-msgid "Script"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObjects#title()
-msgid "Simple Objects"
-msgstr "Eenvoudige Objecten"
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
-msgid "Switch To Reading Translations"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
-msgid "Switch To Writing Translations"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Update Name"
-msgstr "Updaten Naam"
-
-
-#: org.apache.isis.applib.services.config.ConfigurationProperty#value
-msgid "Value"
-msgstr ""
-
-
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
-msgid "Version"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
-msgid "Yaml"
-msgstr "YAML"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "aboutLabel"
-msgstr "About"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "cancelLabel"
-msgstr "Cancel"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "datanucleusIdLong"
-msgstr "Id"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortPlural"
-msgstr "Please enter {number} more characters"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortSingular"
-msgstr "Please enter 1 more character"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "loadMore"
-msgstr "Load more"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "loginHeader"
-msgstr "Login"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "logoutLabel"
-msgstr "Logout"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "name"
-msgstr ""
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "noMatches"
-msgstr "No matches"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel
-msgid "objects"
-msgstr "Objects"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "okLabel"
-msgstr "OK"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "rememberMeLabel"
-msgstr "Remember Me"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "resetButtonLabel"
-msgstr "Reset"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "searching"
-msgstr "Searching..."
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigPlural"
-msgstr "You can only select {limit} items"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigSingular"
-msgstr "You can only select 1 item"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signInButtonLabel"
-msgstr "Sign in"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#title()
-msgid "{num} objects"
-msgstr ""
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "confirmPasswordLabel"
-msgstr "Confirm password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "datatable.no-records-found"
-msgstr "No Records Found"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "editLabel"
-msgstr "Edit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailIsNotAvailable"
-msgstr "The given email is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailPlaceholder"
-msgstr "Enter your email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailPlaceholder"
-msgstr "Enter an email for the new account"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailLabel"
-msgstr "Email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailSentMessage"
-msgstr "An email has been sent to '${email}' for verification."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "forgotPasswordLinkLabel"
-msgstr "Forgot your password?"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeSuccessful"
-msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeUnsuccessful"
-msgstr "There was a problem while updating the password. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordPlaceholder"
-msgstr "Enter password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetExpiredOrInvalidToken"
-msgstr "You are trying to reset the password for an expired or invalid token"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetHeader"
-msgstr "Forgot password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetSubmitLabel"
-msgstr "Submit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "registerButtonLabel"
-msgstr "Register"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "registerHeader"
-msgstr "Register"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noSuchUserByEmail"
-msgstr "There is no account with this email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noUserForAnEmailValidToken"
-msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signUpButtonLabel"
-msgstr "Don't have an account? Sign up now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "signUpButtonLabel"
-msgstr "Verify email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-msgid "signUpHeader"
-msgstr "Sign Up"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameIsNotAvailable"
-msgstr "The provided username is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernamePlaceholder"
-msgstr "Username"
-
diff --git a/webapp/src/main/webapp/WEB-INF/translations.po b/webapp/src/main/webapp/WEB-INF/translations.po
index adae60c..54a8b43 100644
--- a/webapp/src/main/webapp/WEB-INF/translations.po
+++ b/webapp/src/main/webapp/WEB-INF/translations.po
@@ -1,73 +1,105 @@
+
+
+##############################################################################
+#
+# .pot file
+#
+# Translate this file to each required language and place in WEB-INF, eg:
+#
+# /WEB-INF/translations-en_US.po
+# /WEB-INF/translations-en.po
+# /WEB-INF/translations-fr_FR.po
+# /WEB-INF/translations-fr.po
+# /WEB-INF/translations.po
+#
+# If the app uses TranslatableString (eg for internationalized validation
+# messages), or if the app calls the TranslationService directly, then ensure
+# that all text to be translated has been captured by running a full
+# integration test suite that exercises all relevant behaviour
+#
+##############################################################################
+
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2016-06-16 15:34:40+\n"
+"POT-Creation-Date: 2019-12-02 18:55:20+\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelCsv(java.lang.String)
msgid ".csv file name"
msgstr ""
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
-msgid ".jdo file name"
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
-msgid ".pot file name"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid ".xml file name"
msgstr ""
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
-msgid "Action"
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act()
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act()
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act()
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi#act()
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel#act()
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolder_lookup#act()
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata#act()
+msgid "Act"
msgstr ""
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Are you sure?"
+#: org.apache.isis.applib.domain.DomainObjectList#actionArguments
+msgid "Action Arguments"
msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "AutoLabel.CSS.required"
+#: org.apache.isis.applib.domain.DomainObjectList#actionId
+msgid "Action Id"
msgstr ""
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
-msgid "Cancel"
+#: org.apache.isis.applib.domain.DomainObjectList#actionOwningType
+msgid "Action Owning Type"
msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
-#: domainapp.dom.simple.SimpleObject#clearHints()
-msgid "Clear Hints"
+#: org.apache.isis.runtime.system.session.IsisSessionFactory
+msgid "Are you sure?"
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
-msgid "Clear translation cache"
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#beanClass
+msgid "Bean Class"
msgstr ""
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
-msgid "Collection"
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#beanProvider
+msgid "Bean Provider"
msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
-msgstr "Table"
+#: org.apache.isis.runtime.system.session.IsisSessionFactory
+msgid "Cancel"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "CollectionContentsAsUnresolvedPanel.Hide"
-msgstr "Hide"
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: org.apache.isis.schema.cmd.v1.CommandsDto#commandDto
+msgid "Command Dto"
+msgstr ""
#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
@@ -75,17 +107,17 @@ msgid "Complete"
msgstr ""
-#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
+#: org.apache.isis.applib.services.confview.ConfigurationMenu#configuration()
msgid "Configuration"
msgstr ""
-#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+#: org.apache.isis.runtime.system.session.IsisSessionFactory
msgid "Confirm"
msgstr ""
-#: domainapp.dom.simple.SimpleObjects#create()
+#: domainapp.modules.simple.dom.impl.SimpleObjects#create()
msgid "Create"
msgstr ""
@@ -95,139 +127,193 @@ msgid "Current"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#delete()
+#: org.apache.isis.applib.services.menu.MenuBarsService$Type#DEFAULT
+msgid "Default"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#delete()
msgid "Delete"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadJdoMetadata()
msgid "Download Jdo Metadata"
msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
-#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()
+#: org.apache.isis.applib.domain.DomainObjectList#downloadLayoutXml()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#downloadLayoutXml()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#downloadLayoutXml()
+#: org.apache.isis.schema.cmd.v1.CommandDto#downloadLayoutXml()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#downloadLayoutXml()
msgid "Download Layout Xml"
msgstr ""
-#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
-msgid "Download Layouts (XML)"
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout()
+msgid "Download Menu Bars Layout (XML)"
msgstr ""
-#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelCsv()
msgid "Download Meta Model (CSV)"
msgstr ""
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
-msgid "Download Swagger Spec"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml()
+msgid "Download Meta Model (XML)"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadMetaModelXml()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#downloadMetaModelXml()
+#: org.apache.isis.applib.domain.DomainObjectList#downloadMetaModelXml()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#downloadMetaModelXml()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#downloadMetaModelXml()
+#: org.apache.isis.schema.cmd.v1.CommandDto#downloadMetaModelXml()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#downloadMetaModelXml()
+msgid "Download Meta Model Xml"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
+msgid "Download Object Layouts (ZIP)"
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition()
+msgid "Download Swagger Schema Definition"
+msgstr ""
+
+
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
msgid "Download Translations"
msgstr ""
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
-msgid "File name"
+#: org.apache.isis.applib.domain.DomainObjectList#elementObjectType
+msgid "Element Object Type"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#updateName()
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName()
msgid "Exclamation mark is not allowed"
msgstr ""
-#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
-msgid "Filename"
+#: org.apache.isis.applib.services.menu.MenuBarsService$Type#FALLBACK
+msgid "Fallback"
msgstr ""
-#: domainapp.dom.simple.SimpleObjects#findByName()
-msgid "Find By Name"
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act(java.lang.String)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout(java.lang.String,org.apache.isis.applib.services.menu.MenuBarsService$Type)
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata#act(java.lang.String)
+msgid "File name"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
-msgid "Fixture script"
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act(java.lang.String)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)
+msgid "File name extension can be omitted."
msgstr ""
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
-#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
-msgid "Friendly Name"
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Filename"
msgstr ""
-#: domainapp.dom.simple.SimpleObject
-msgid "General"
+#: domainapp.modules.simple.dom.impl.SimpleObjects#findByName()
+msgid "Find By Name"
msgstr ""
-#: domainapp.app.services.homepage.HomePageService#homePage()
-msgid "Home Page"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#fixtureScriptByFriendlyName
+msgid "Fixture Script By Friendly Name"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
-msgid "Id"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#fixtureScriptClassName
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript(java.lang.String,java.lang.String)
+msgid "Fixture script"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Format"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
-msgid "Idempotent"
+#: org.apache.isis.runtime.services.hsqldb.HsqlDbManagerMenu#hsqlDbManager()
+msgid "HSQL DB Manager"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
-msgid "Idempotent Are You Sure"
-msgstr "Are you sure?"
+#: domainapp.modules.simple.dom.impl.SimpleObject#datanucleusIdLong()
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#id
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong#prop()
+msgid "Id"
+msgstr ""
#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts$NonPersistedObjectsStrategy#IGNORE
msgid "Ignore"
msgstr ""
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid "Ignore Interfaces"
+msgstr ""
+
+
#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
msgid "Include"
msgstr ""
+#: org.apache.isis.commons.internal.ioc.spring.BeanAdapterSpring#instance
+msgid "Instance"
+msgstr ""
+
+
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+msgid "Isis Schemas"
+msgstr ""
+
+
#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
msgid "Json"
-msgstr "JSON"
+msgstr ""
-#: org.apache.isis.applib.services.config.ConfigurationProperty#key
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#key
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#key
msgid "Key"
msgstr ""
-#: domainapp.dom.simple.SimpleObjects#listAll()
+#: domainapp.modules.simple.dom.impl.SimpleObjects#listAll()
msgid "List All"
msgstr ""
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
-msgid "Lookup"
+#: org.apache.isis.schema.cmd.v1.CommandDto#majorVersion
+msgid "Major Version"
msgstr ""
-#: domainapp.dom.simple.SimpleObject
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
-#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
-msgid "Metadata"
+#: org.apache.isis.schema.cmd.v1.CommandDto#member
+msgid "Member"
msgstr ""
@@ -236,62 +322,94 @@ msgid "Minimal"
msgstr ""
-#: domainapp.dom.simple.SimpleObject
-#: domainapp.dom.simple.SimpleObject#name
-#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
-#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
+#: org.apache.isis.schema.cmd.v1.CommandDto#minorVersion
+msgid "Minor Version"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#name
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName(java.lang.String)
+#: domainapp.modules.simple.dom.impl.SimpleObjects#create(java.lang.String)
+#: domainapp.modules.simple.dom.impl.SimpleObjects#findByName(java.lang.String)
msgid "Name"
msgstr ""
-#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
-msgid "New Application Feature"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#nonPersistedObjectsStrategy
+msgid "Non Persisted Objects Strategy"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
-msgid "Non Idempotent"
+#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
+msgid "Normalized"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
-msgid "Non Idempotent Are You Sure"
+#: domainapp.modules.simple.dom.impl.SimpleObject#notes
+msgid "Notes"
msgstr ""
-#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
-msgid "Normalized"
+#: domainapp.modules.simple.dom.impl.SimpleObject#objectIdentifier()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#objectIdentifier()
+#: org.apache.isis.applib.domain.DomainObjectList#objectIdentifier()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#objectIdentifier()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#objectIdentifier()
+#: org.apache.isis.schema.cmd.v1.CommandDto#objectIdentifier()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#objectIdentifier()
+msgid "Object Identifier"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#objectType()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#objectType()
+#: org.apache.isis.applib.domain.DomainObjectList#objectType()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#objectType()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#objectType()
+#: org.apache.isis.schema.cmd.v1.CommandDto#objectType()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#objectType()
+msgid "Object Type"
msgstr ""
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
-msgid "Number"
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#objects
+#: org.apache.isis.applib.domain.DomainObjectList#objects
+msgid "Objects"
msgstr ""
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
-msgid "Object"
+#: domainapp.modules.simple.dom.impl.SimpleObject#openRestApi()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#openRestApi()
+#: org.apache.isis.applib.domain.DomainObjectList#openRestApi()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#openRestApi()
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#openRestApi()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#openRestApi()
+#: org.apache.isis.schema.cmd.v1.CommandDto#openRestApi()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#openRestApi()
+msgid "Open Rest Api"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#title()
-msgid "Object: {name}"
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#openSwaggerUi()
+msgid "Open Swagger Ui"
msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#objects
-msgid "Objects"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid "Packages"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript(java.lang.String,java.lang.String)
msgid "Parameters"
msgstr ""
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts$NonPersistedObjectsStrategy#PERSIST
+msgid "Persist"
+msgstr ""
+
+
#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
msgid "Private"
msgstr ""
@@ -302,16 +420,19 @@ msgid "Private With Prototyping"
msgstr ""
-#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
-msgid "Property"
+#: org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier#prop()
+#: org.apache.isis.applib.mixins.metamodel.Object_objectType#prop()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolder_object#prop()
+msgid "Prop"
msgstr ""
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
#: org.apache.isis.applib.services.layout.LayoutServiceMenu
#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts
+#: org.apache.isis.runtime.services.hsqldb.HsqlDbManagerMenu
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu
msgid "Prototyping"
msgstr ""
@@ -321,353 +442,159 @@ msgid "Public"
msgstr ""
-#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
-#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
+#: domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()
+#: domainapp.webapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()
+#: org.apache.isis.applib.domain.DomainObjectList#rebuildMetamodel()
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#rebuildMetamodel()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#rebuildMetamodel()
+#: org.apache.isis.schema.cmd.v1.CommandDto#rebuildMetamodel()
+#: org.apache.isis.schema.cmd.v1.CommandsDto#rebuildMetamodel()
msgid "Rebuild Metamodel"
msgstr ""
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#recreateObjectsAndReturnFirst()
msgid "Recreate Objects And Return First"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureResult#object
-msgid "Result"
+#: org.apache.isis.extensions.fixtures.modules.ModuleFixtureService#refDataSetupFixture
+msgid "Ref Data Setup Fixture"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureResult#className
-msgid "Result class"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#object
+msgid "Result"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureResult#key
-msgid "Result key"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureResult#className
+msgid "Result class"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript()
msgid "Run Fixture Script"
msgstr ""
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
-msgid "Safe"
-msgstr ""
-
-
-#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
-msgid "Safe And Request Cacheable"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#runFixtureScript(java.lang.String,java.lang.String)
+msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
msgstr ""
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
-#: org.apache.isis.applib.fixturescripts.FixtureScript
-msgid "Script"
+#: org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts#specification
+msgid "Specification"
msgstr ""
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
-msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts(org.apache.isis.applib.services.layout.LayoutService$Style)
+msgid "Style"
msgstr ""
-#: domainapp.dom.simple.SimpleObjects#title()
-msgid "Simple Objects"
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModelXml(java.lang.String,java.util.List,boolean)
+msgid "Subset of the complete meta model, only including packages starting with given prefix."
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
msgid "Switch To Reading Translations"
msgstr ""
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+#: org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
msgid "Switch To Writing Translations"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#updateName()
-msgid "Update Name"
+#: org.apache.isis.schema.cmd.v1.CommandDto#targets
+msgid "Targets"
msgstr ""
-#: org.apache.isis.applib.services.config.ConfigurationProperty#value
-msgid "Value"
+#: org.apache.isis.extensions.fixtures.modules.ModuleFixtureService#teardownFixture
+msgid "Teardown Fixture"
msgstr ""
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
-#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
-#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
-msgid "Version"
+#: org.apache.isis.schema.cmd.v1.CommandDto#timestamp
+msgid "Timestamp"
msgstr ""
-#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
-msgid "Yaml"
-msgstr "YAML"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "aboutLabel"
-msgstr "About"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "cancelLabel"
-msgstr "Cancel"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "datanucleusIdLong"
-msgstr "Id"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortPlural"
-msgstr "Please enter {number} more characters"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "inputTooShortSingular"
-msgstr "Please enter 1 more character"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "loadMore"
-msgstr "Load more"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "loginHeader"
-msgstr "Login"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "logoutLabel"
-msgstr "Logout"
-
-
-#: domainapp.dom.simple.SimpleObject
-msgid "name"
+#: org.apache.isis.schema.cmd.v1.CommandDto#timings
+msgid "Timings"
msgstr ""
-#: org.wicketstuff.select2.Select2Choice
-msgid "noMatches"
-msgstr "No matches"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel
-msgid "objects"
-msgstr "Objects"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "okLabel"
-msgstr "OK"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "rememberMeLabel"
-msgstr "Remember Me"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "resetButtonLabel"
-msgstr "Reset"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "searching"
-msgstr "Searching..."
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigPlural"
-msgstr "You can only select {limit} items"
-
-
-#: org.wicketstuff.select2.Select2Choice
-msgid "selectionTooBigSingular"
-msgstr "You can only select 1 item"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signInButtonLabel"
-msgstr "Sign in"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "usernameLabel"
-msgstr "Username"
-
-
-#: domainapp.app.services.homepage.HomePageViewModel#title()
-msgid "{num} objects"
+#: org.apache.isis.schema.cmd.v1.CommandDto#transactionId
+msgid "Transaction Id"
msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "confirmPasswordLabel"
-msgstr "Confirm password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "datatable.no-records-found"
-msgstr "No Records Found"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
-msgid "editLabel"
-msgstr "Edit"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailIsNotAvailable"
-msgstr "The given email is already in use"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailPlaceholder"
-msgstr "Enter your email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "emailPlaceholder"
-msgstr "Enter an email for the new account"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailLabel"
-msgstr "Email"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "emailSentMessage"
-msgstr "An email has been sent to '${email}' for verification."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "forgotPasswordLinkLabel"
-msgstr "Forgot your password?"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeSuccessful"
-msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordChangeUnsuccessful"
-msgstr "There was a problem while updating the password. Please try again."
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordLabel"
-msgstr "Password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordPlaceholder"
-msgstr "Enter password"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetExpiredOrInvalidToken"
-msgstr "You are trying to reset the password for an expired or invalid token"
-
-
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetHeader"
-msgstr "Forgot password"
-
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout(java.lang.String,org.apache.isis.applib.services.menu.MenuBarsService$Type)
+msgid "Type"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "passwordResetSubmitLabel"
-msgstr "Submit"
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName()
+msgid "Update Name"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "registerButtonLabel"
-msgstr "Register"
+#: org.apache.isis.schema.cmd.v1.CommandDto#user
+msgid "User"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-msgid "registerHeader"
-msgstr "Register"
+#: org.apache.isis.schema.cmd.v1.CommandDto#userData
+msgid "User Data"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noSuchUserByEmail"
-msgstr "There is no account with this email"
+#: org.apache.isis.applib.services.confview.ConfigurationProperty#value
+msgid "Value"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "noUserForAnEmailValidToken"
-msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
+#: domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionLong()
+#: domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionTimestamp()
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong#prop()
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp#prop()
+msgid "Version"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-msgid "signUpButtonLabel"
-msgstr "Don't have an account? Sign up now."
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSchemaDefinition(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Visibility"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "signUpButtonLabel"
-msgstr "Verify email"
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
+msgid "Yaml"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-msgid "signUpHeader"
-msgstr "Sign Up"
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel
+#: org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml
+#: org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier
+#: org.apache.isis.applib.mixins.metamodel.Object_objectType
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp
+#: org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata
+msgid "metadata"
+msgstr ""
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameIsNotAvailable"
-msgstr "The provided username is already in use"
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernameLabel"
-msgstr "Username"
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
-#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
-#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
-msgid "usernamePlaceholder"
-msgstr "Username"
+##############################################################################
+# end of .pot file
+##############################################################################
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
index 12ebfc9..9651ce0 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
@@ -2,6 +2,7 @@ package domainapp.webapp.integtests;
import domainapp.webapp.application.ApplicationModule;
+import org.apache.isis.applib.annotation.Property;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
import org.apache.isis.integtestsupport.IsisIntegrationTestAbstract;
@@ -15,15 +16,18 @@ import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
import org.springframework.test.context.ContextConfiguration;
-@SpringBootTest(classes = ApplicationIntegTestAbstract.AppManifest.class)
+@SpringBootTest(
+ classes = ApplicationIntegTestAbstract.AppManifest.class,
+ properties = {
+ "logging.config=log4j2-test.xml"
+ }
+)
@ContextConfiguration
public abstract class ApplicationIntegTestAbstract extends IsisIntegrationTestAbstract {
@Configuration
@PropertySources({
- @PropertySource(IsisPresets.Log4j2Test),
@PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
- @PropertySource(IsisPresets.NoTranslations),
@PropertySource(IsisPresets.DataNucleusAutoCreate),
})
@Import({
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
index 2bbd97d..2f28879 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
@@ -1,13 +1,15 @@
package domainapp.webapp.integtests.metamodel.lockdown;
+import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
import javax.inject.Inject;
import org.approvaltests.namer.StackTraceNamer;
import org.approvaltests.reporters.DiffReporter;
-import org.approvaltests.reporters.QuietReporter;
import org.approvaltests.reporters.UseReporter;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.apache.isis.applib.services.jaxb.JaxbService;
@@ -22,23 +24,21 @@ import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assume.assumeThat;
import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
-import domainapp.webapp.util.ReceivedVsApprovedApprovalTextWriter;
+import domainapp.webapp.util.CurrentVsApprovedApprovalTextWriter;
class LockDownMetaModel_IntegTest extends ApplicationIntegTestAbstract {
@Inject MetaModelService metaModelService;
@Inject JaxbService jaxbService;
- //
- // learn...
- //
- // ... move the resultant files in "received" directory over to "approved".
- //
- @UseReporter(QuietReporter.class)
- @Test
- void _1_learn() throws Exception {
+ @BeforeEach
+ public void setUp() throws Exception {
+ assumeThat(System.getProperty("metamodel.lockdown"), is(notNullValue()));
+ }
- assumeThat(System.getProperty("learn"), is(notNullValue()));
+ @UseReporter(DiffReporter.class)
+ @Test
+ void compare() throws Exception {
// when
MetamodelDto metamodelDto =
@@ -53,49 +53,24 @@ class LockDownMetaModel_IntegTest extends ApplicationIntegTestAbstract {
// then
final List<DomainClassDto> domainClassDto = metamodelDto.getDomainClassDto();
+ final List<Error> errors = new ArrayList<>();
for (final DomainClassDto domainClass : domainClassDto) {
try {
verifyClass(domainClass);
} catch (Error e) {
- //ignore ... learning.
+ errors.add(e);
}
}
- }
-
-
- //
- // verify ...
- //
- // ... ie compare the current metamodel to that previously captured.
- //
- @UseReporter(DiffReporter.class)
- @Test
- void _2_verify() throws Exception {
-
- assumeThat(System.getProperty("lockdown"), is(notNullValue()));
-
- // when
- MetamodelDto metamodelDto =
- metaModelService.exportMetaModel(
- new MetaModelService.Config()
- .withIgnoreNoop()
- .withIgnoreAbstractClasses()
- .withIgnoreBuiltInValueTypes()
- .withIgnoreInterfaces()
- .withPackagePrefix("domainapp")
- );
-
- // then
- final List<DomainClassDto> domainClassDto = metamodelDto.getDomainClassDto();
- for (final DomainClassDto domainClass : domainClassDto) {
- verifyClass(domainClass);
+ if(!errors.isEmpty()) {
+ final String message = errors.stream().map(x -> x.getMessage()).collect(Collectors.joining("\n"));
+ throw new Error(message);
}
}
private void verifyClass(final DomainClassDto domainClass) {
String asXml = jaxbService.toXml(domainClass);
verify(
- new ReceivedVsApprovedApprovalTextWriter(asXml, "xml"),
+ new CurrentVsApprovedApprovalTextWriter(asXml, "xml"),
new StackTraceNamer() {
@Override public String getApprovalName() {
return domainClass.getId();
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
index ee38c84..c70835a 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
@@ -1274,6 +1274,12 @@
<mml:attr name="intent.default0UpdateName">DEFAULTS</mml:attr>
<mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.default0UpdateName()</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.validate.ActionParameterValidationFacet" fqcn="org.apache.isis.metamodel.facets.param.validate.method.ActionParameterValidationFacetViaMethod">
+ <mml:attr name="intent.validate0UpdateName">CHECK_IF_VALID</mml:attr>
+ <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.validate0UpdateName(java.lang.String)</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.validate.method.ActionParameterValidationFacetViaMethod</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
</mml:facets>
<mml:type>java.lang.String</mml:type>
</mml:param>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/received/.gitignore b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/received/.gitignore
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
index 15825f4..1d9846b 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
@@ -4,6 +4,8 @@ import java.util.List;
import javax.inject.Inject;
+import org.apache.isis.applib.services.wrapper.InvalidException;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.transaction.annotation.Transactional;
@@ -22,7 +24,7 @@ class Smoke_IntegTest extends ApplicationIntegTestAbstract {
@Inject TransactionService transactionService;
@Test
- void create() {
+ void happy_case() {
// when
List<SimpleObject> all = wrap(menu).listAll();
@@ -71,6 +73,16 @@ class Smoke_IntegTest extends ApplicationIntegTestAbstract {
// when
+ Assertions.assertThrows(InvalidException.class, () -> {
+ wrap(fred).updateName("New name !!!");
+ transactionService.flushTransaction();
+ }, "Exclamation mark is not allowed");
+
+ // then
+ assertThat(wrap(fred).getNotes()).isEqualTo("These are some notes");
+
+
+ // when
wrap(fred).delete();
transactionService.flushTransaction();
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
index 7471f73..93103b3 100644
--- a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
+++ b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
@@ -1,6 +1,6 @@
package domainapp.webapp.unittests.mavendeps.lockdown;
-import domainapp.webapp.util.ReceivedVsApprovedApprovalTextWriter;
+import domainapp.webapp.util.CurrentVsApprovedApprovalTextWriter;
import java.io.IOException;
import java.net.URL;
@@ -24,12 +24,12 @@ public class LockDownMavenDeps_Test {
@BeforeEach
public void setUp() throws Exception {
- Assumptions.assumeThat(System.getProperty("lockdown")).isNotNull();
+ Assumptions.assumeThat(System.getProperty("mavendeps.lockdown")).isNotNull();
}
@UseReporter(DiffReporter.class)
@Test
- public void list() throws Exception {
+ public void compare_list() throws Exception {
final String variant = "list";
final String received = sort(read(variant));
verify(approvalTextWriter(received, "txt"), namerFor(variant), getReporter());
@@ -37,14 +37,14 @@ public class LockDownMavenDeps_Test {
@UseReporter(DiffReporter.class)
@Test
- public void tree() throws Exception {
+ public void compare_tree() throws Exception {
final String variant = "tree";
final String received = read(variant);
verify(approvalTextWriter(received, "txt"), namerFor(variant), getReporter());
}
private static ApprovalTextWriter approvalTextWriter(final String received, final String fileExtensionWithoutDot) {
- return new ReceivedVsApprovedApprovalTextWriter(received, fileExtensionWithoutDot);
+ return new CurrentVsApprovedApprovalTextWriter(received, fileExtensionWithoutDot);
}
private StackTraceNamer namerFor(String variant) {
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/received/.gitignore b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/received/.gitignore
rename to webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/util/ReceivedVsApprovedApprovalTextWriter.java b/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
similarity index 80%
rename from webapp/src/test/java/domainapp/webapp/util/ReceivedVsApprovedApprovalTextWriter.java
rename to webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
index b00f6b2..c7bb8e4 100644
--- a/webapp/src/test/java/domainapp/webapp/util/ReceivedVsApprovedApprovalTextWriter.java
+++ b/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
@@ -4,18 +4,18 @@ import java.io.File;
import org.approvaltests.writers.ApprovalTextWriter;
-public class ReceivedVsApprovedApprovalTextWriter extends ApprovalTextWriter {
+public class CurrentVsApprovedApprovalTextWriter extends ApprovalTextWriter {
private final String fileExtensionWithoutDot;
- public ReceivedVsApprovedApprovalTextWriter(String received, String fileExtensionWithoutDot) {
+ public CurrentVsApprovedApprovalTextWriter(String received, String fileExtensionWithoutDot) {
super(received, fileExtensionWithoutDot);
this.fileExtensionWithoutDot = fileExtensionWithoutDot;
}
@Override
public String getReceivedFilename(final String base) {
- return toFilename("received", base);
+ return toFilename("current", base);
}
@Override
[isis-app-simpleapp] 04/09: moves domainapp.application to
domainapp.webapp.application
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 9f7c75c05d54aa522c831257ea6442f4948f1e53
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 11:30:01 2019 +0000
moves domainapp.application to domainapp.webapp.application
---
webapp/pom.xml | 2 +-
webapp/src/main/java/domainapp/webapp/SimpleApp.java | 4 ++--
.../{ => webapp}/application/ApplicationModule.java | 2 +-
.../DomainAppFixtureScriptsSpecificationProvider.java | 4 ++--
.../application/fixture/scenarios/DomainAppDemo.java | 2 +-
.../webapp/{ => application}/layout/menubars.layout.xml | 0
.../services/health/HealthCheckServiceImpl.java | 2 +-
.../application/services/homepage/HomePageService.java | 2 +-
.../application/services/homepage/HomePageViewModel.java | 4 ++--
.../services/homepage/HomePageViewModel.layout.xml | 0
.../application/services/homepage/HomePageViewModel.png | Bin
webapp/src/main/resources/application.yml | 2 +-
.../application/integtests/mml/received/.gitignore | 0
.../{ => webapp}/application/bdd/RunIntegBddSpecs.java | 2 +-
.../application/bdd/glue/SimpleObjectsStepDef.java | 7 +++----
.../bdd/specs/SimpleObjectSpec_listAllAndCreate.feature | 0
.../integtests/ApplicationIntegTestAbstract.java | 4 ++--
.../application/integtests/mml/DomainModel_IntegTest.java | 4 ++--
.../integtests/mml/MetaModelService_IntegTest.java | 4 ++--
...ixture.DomainAppFixtureScriptsSpecificationProvider.xml | 0
....application.services.health.HealthCheckServiceImpl.xml | 0
...app.application.services.homepage.HomePageViewModel.xml | 13 ++++++++-----
.../domainapp.modules.simple.dom.impl.SimpleObject.xml | 0
.../domainapp.modules.simple.dom.impl.SimpleObjects.xml | 0
.../application/integtests/mml/received/.gitignore | 0
.../application/integtests/smoke/Smoke_IntegTest.java | 4 ++--
.../domainapp/webapp/lockdown/{ => received}/.gitignore | 0
27 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/webapp/pom.xml b/webapp/pom.xml
index 1e5f3e2..e95c743 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -238,7 +238,7 @@
<jvmFlags>
<jvmFlag>-Xmx512m</jvmFlag>
</jvmFlags>
- <mainClass>domainapp.application.HelloWorldApp</mainClass>
+ <mainClass>domainapp.webapp.HelloWorldApp</mainClass>
<ports>
<port>8080</port>
</ports>
diff --git a/webapp/src/main/java/domainapp/webapp/SimpleApp.java b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
index e4396e0..72a203b 100644
--- a/webapp/src/main/java/domainapp/webapp/SimpleApp.java
+++ b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
@@ -18,8 +18,8 @@
*/
package domainapp.webapp;
-import domainapp.application.ApplicationModule;
-import domainapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.webapp.application.ApplicationModule;
+import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
import org.apache.isis.jdo.IsisBootDataNucleus;
diff --git a/webapp/src/main/java/domainapp/application/ApplicationModule.java b/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
similarity index 96%
rename from webapp/src/main/java/domainapp/application/ApplicationModule.java
rename to webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
index 684e332..bb98c45 100644
--- a/webapp/src/main/java/domainapp/application/ApplicationModule.java
+++ b/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application;
+package domainapp.webapp.application;
import org.apache.isis.extensions.fixtures.modules.Module;
import org.springframework.context.annotation.ComponentScan;
diff --git a/webapp/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java b/webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
similarity index 94%
rename from webapp/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
rename to webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
index f51acff..68eb5d5 100644
--- a/webapp/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
+++ b/webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.fixture;
+package domainapp.webapp.application.fixture;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
@@ -24,7 +24,7 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
import org.apache.isis.extensions.fixtures.fixturespec.FixtureScriptsSpecification;
import org.apache.isis.extensions.fixtures.fixturespec.FixtureScriptsSpecificationProvider;
-import domainapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
/**
* Specifies where to find fixtures, and other settings.
diff --git a/webapp/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java b/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
similarity index 96%
rename from webapp/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
rename to webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
index 1c2dccc..6d27b9d 100644
--- a/webapp/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
+++ b/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.fixture.scenarios;
+package domainapp.webapp.application.fixture.scenarios;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
import org.apache.isis.extensions.fixtures.legacy.teardown.TeardownFixtureAbstract2;
diff --git a/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml b/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
similarity index 100%
rename from webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml
rename to webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
diff --git a/webapp/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
similarity index 96%
rename from webapp/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
rename to webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
index 329b973..c6de00e 100644
--- a/webapp/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.services.health;
+package domainapp.webapp.application.services.health;
import javax.inject.Inject;
diff --git a/webapp/src/main/java/domainapp/application/services/homepage/HomePageService.java b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
similarity index 96%
rename from webapp/src/main/java/domainapp/application/services/homepage/HomePageService.java
rename to webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
index d3a4719..1f84380 100644
--- a/webapp/src/main/java/domainapp/application/services/homepage/HomePageService.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.services.homepage;
+package domainapp.webapp.application.services.homepage;
import javax.inject.Inject;
import javax.inject.Named;
diff --git a/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
similarity index 92%
rename from webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
rename to webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
index 952ab03..5d05ee6 100644
--- a/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.services.homepage;
+package domainapp.webapp.application.services.homepage;
import java.util.List;
@@ -31,7 +31,7 @@ import domainapp.modules.simple.dom.impl.SimpleObjects;
@DomainObject(
nature = Nature.VIEW_MODEL,
- objectType = "domainapp.application.services.homepage.HomePageViewModel"
+ objectType = "domainapp.HomePageViewModel"
)
public class HomePageViewModel {
diff --git a/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
similarity index 100%
rename from webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
rename to webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
diff --git a/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.png
similarity index 100%
rename from webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png
rename to webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.png
diff --git a/webapp/src/main/resources/application.yml b/webapp/src/main/resources/application.yml
index cb8143a..94e008f 100644
--- a/webapp/src/main/resources/application.yml
+++ b/webapp/src/main/resources/application.yml
@@ -95,7 +95,7 @@ isis:
viewer:
wicket:
application:
- menubarsLayoutXml: domainapp/webapp/layout/menubars.layout.xml
+ menubarsLayoutXml: domainapp/webapp/application/layout/menubars.layout.xml
brandLogoHeader: /images/apache-isis/logo-48x48.png
faviconUrl: /images/favicon.png
name: Simple App
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/received/.gitignore b/webapp/src/test/java/domainapp/webapp./application/integtests/mml/received/.gitignore
similarity index 100%
copy from webapp/src/test/java/domainapp/application/integtests/mml/received/.gitignore
copy to webapp/src/test/java/domainapp/webapp./application/integtests/mml/received/.gitignore
diff --git a/webapp/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java b/webapp/src/test/java/domainapp/webapp/application/bdd/RunIntegBddSpecs.java
similarity index 97%
rename from webapp/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
rename to webapp/src/test/java/domainapp/webapp/application/bdd/RunIntegBddSpecs.java
index a50b050..c9093ba 100644
--- a/webapp/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
+++ b/webapp/src/test/java/domainapp/webapp/application/bdd/RunIntegBddSpecs.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package domainapp.application.bdd;
+package domainapp.webapp.application.bdd;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
diff --git a/webapp/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java b/webapp/src/test/java/domainapp/webapp/application/bdd/glue/SimpleObjectsStepDef.java
similarity index 94%
rename from webapp/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
rename to webapp/src/test/java/domainapp/webapp/application/bdd/glue/SimpleObjectsStepDef.java
index 70efd86..459596a 100644
--- a/webapp/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
+++ b/webapp/src/test/java/domainapp/webapp/application/bdd/glue/SimpleObjectsStepDef.java
@@ -16,14 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.bdd.glue;
+package domainapp.webapp.application.bdd.glue;
import java.util.List;
import java.util.UUID;
import javax.inject.Inject;
-import org.junit.Ignore;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionTemplate;
@@ -32,8 +31,8 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
-import domainapp.application.fixture.scenarios.DomainAppDemo;
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
import domainapp.modules.simple.dom.impl.SimpleObject;
import domainapp.modules.simple.dom.impl.SimpleObjects;
import domainapp.modules.simple.fixture.SimpleObject_persona;
diff --git a/webapp/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp/src/test/java/domainapp/webapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
similarity index 100%
rename from webapp/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
rename to webapp/src/test/java/domainapp/webapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
diff --git a/webapp/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/application/integtests/ApplicationIntegTestAbstract.java
similarity index 95%
rename from webapp/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
rename to webapp/src/test/java/domainapp/webapp/application/integtests/ApplicationIntegTestAbstract.java
index b059ff0..adcff47 100644
--- a/webapp/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/application/integtests/ApplicationIntegTestAbstract.java
@@ -16,9 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.integtests;
+package domainapp.webapp.application.integtests;
-import domainapp.application.ApplicationModule;
+import domainapp.webapp.application.ApplicationModule;
import org.apache.isis.config.IsisPresets;
import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/DomainModel_IntegTest.java
similarity index 91%
rename from webapp/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/DomainModel_IntegTest.java
index 04c1dfa..4c46b3a 100644
--- a/webapp/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/DomainModel_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.integtests.mml;
+package domainapp.webapp.application.integtests.mml;
import javax.inject.Inject;
@@ -26,7 +26,7 @@ import org.junit.jupiter.api.Test;
import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
class DomainModel_IntegTest extends ApplicationIntegTestAbstract {
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/MetaModelService_IntegTest.java
similarity index 97%
rename from webapp/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/MetaModelService_IntegTest.java
index 4fc7d4d..4cd94ca 100644
--- a/webapp/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/MetaModelService_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.integtests.mml;
+package domainapp.webapp.application.integtests.mml;
import java.io.File;
import java.util.List;
@@ -41,7 +41,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assume.assumeThat;
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
similarity index 98%
rename from webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
index 867f66a..c176172 100644
--- a/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
+++ b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
@@ -39,7 +39,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForDomainObjectAnnotation">
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromClassName</mml:attr>
- <mml:attr name="value">domainapp.application.services.homepage.HomePageViewModel</mml:attr>
+ <mml:attr name="value">domainapp.webapp.application.services.homepage.HomePageViewModel</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
<mml:attr name="validating">true</mml:attr>
@@ -54,7 +54,8 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod">
<mml:attr name="intent.title">UI_HINT</mml:attr>
- <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString domainapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString
+ domainapp.webapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.viewmodel.ViewModelFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.recreatable.RecreatableObjectFacetForDomainObjectAnnotation">
<mml:attr name="recreationMechanism">INITIALIZES</mml:attr>
@@ -242,7 +243,8 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionClearFacet" fqcn="org.apache.isis.metamodel.facets.collections.clear.CollectionClearFacetViaAccessor">
<mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
- <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject>
+ domainapp.webapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault">
<mml:attr name="collectionRemoveFromFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor</mml:attr>
@@ -265,8 +267,9 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor">
<mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
- <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
- <mml:attr name="onType">domainapp.application.services.homepage.HomePageViewModel</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject>
+ domainapp.webapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
+ <mml:attr name="onType">domainapp.webapp.application.services.homepage.HomePageViewModel</mml:attr>
</mml:facet>
</mml:facets>
<mml:type>domainapp.modules.simple.dom.impl.SimpleObject</mml:type>
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
diff --git a/webapp/src/test/java/domainapp/application/integtests/mml/received/.gitignore b/webapp/src/test/java/domainapp/webapp/application/integtests/mml/received/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/application/integtests/mml/received/.gitignore
rename to webapp/src/test/java/domainapp/webapp/application/integtests/mml/received/.gitignore
diff --git a/webapp/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/webapp/application/integtests/smoke/Smoke_IntegTest.java
similarity index 95%
rename from webapp/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/application/integtests/smoke/Smoke_IntegTest.java
index 559c36c..228abbd 100644
--- a/webapp/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/application/integtests/smoke/Smoke_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.application.integtests.smoke;
+package domainapp.webapp.application.integtests.smoke;
import java.util.List;
@@ -29,7 +29,7 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import static org.assertj.core.api.Assertions.assertThat;
-import domainapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
import domainapp.modules.simple.dom.impl.SimpleObject;
import domainapp.modules.simple.dom.impl.SimpleObjects;
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/.gitignore b/webapp/src/test/java/domainapp/webapp/lockdown/received/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/lockdown/.gitignore
rename to webapp/src/test/java/domainapp/webapp/lockdown/received/.gitignore
[isis-app-simpleapp] 01/09: ISIS-2148 - Initial take-on (moved out
from apache/isis)
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit cc93a3707f373b498d88135c64c9811c5d1b1465
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 10:43:53 2019 +0000
ISIS-2148 - Initial take-on (moved out from apache/isis)
---
.gitattributes | 51 +
.gitignore | 43 +
.gitlab-ci.yml | 51 +
.m2/settings.xml | 15 +
README.adoc | 149 +++
application/.gitignore | 1 +
application/log4j2-test.xml | 60 +
application/pom.xml | 133 +++
.../domainapp/application/ApplicationModule.java | 33 +
...mainAppFixtureScriptsSpecificationProvider.java | 45 +
.../fixture/scenarios/DomainAppDemo.java | 41 +
.../services/health/HealthCheckServiceImpl.java | 47 +
.../services/homepage/HomePageService.java | 42 +
.../services/homepage/HomePageViewModel.java | 47 +
.../services/homepage/HomePageViewModel.layout.xml | 51 +
.../services/homepage/HomePageViewModel.png | Bin 0 -> 456 bytes
application/src/main/resources/log4j2-spring.xml | 42 +
.../application/bdd/RunIntegBddSpecs.java | 41 +
.../application/bdd/glue/SimpleObjectsStepDef.java | 100 ++
.../SimpleObjectSpec_listAllAndCreate.feature | 24 +
.../integtests/ApplicationIntegTestAbstract.java | 57 +
.../integtests/mml/DomainModel_IntegTest.java | 41 +
.../integtests/mml/MetaModelService_IntegTest.java | 145 +++
...omainAppFixtureScriptsSpecificationProvider.xml | 44 +
...tion.services.health.HealthCheckServiceImpl.xml | 44 +
...ication.services.homepage.HomePageViewModel.xml | 617 ++++++++++
...ainapp.modules.simple.dom.impl.SimpleObject.xml | 1182 ++++++++++++++++++++
...inapp.modules.simple.dom.impl.SimpleObjects.xml | 399 +++++++
.../application/integtests/mml/received/.gitignore | 1 +
.../integtests/smoke/Smoke_IntegTest.java | 102 ++
enhance-all.sh | 2 +
module-simple/.gitignore | 8 +
module-simple/log4j2-test.xml | 60 +
module-simple/logging-dn-enhance.properties | 41 +
module-simple/pom.xml | 84 ++
.../src/main/java/META-INF/persistence.xml | 26 +
.../domainapp/modules/simple/SimpleModule.java | 53 +
.../modules/simple/dom/impl/SimpleObject.java | 116 ++
.../simple/dom/impl/SimpleObject.layout.xml | 68 ++
.../modules/simple/dom/impl/SimpleObject.png | Bin 0 -> 653 bytes
.../modules/simple/dom/impl/SimpleObjects.java | 96 ++
.../domainapp/modules/simple/dom/types/Name.java | 54 +
.../domainapp/modules/simple/dom/types/Notes.java | 43 +
.../simple/fixture/SimpleObjectBuilder.java | 50 +
.../simple/fixture/SimpleObject_persona.java | 66 ++
.../modules/simple/dom/impl/SimpleObject_Test.java | 50 +
.../simple/dom/impl/SimpleObjects_Test.java | 115 ++
.../integtests/SimpleModuleIntegTestAbstract.java | 56 +
.../integtests/tests/SimpleObject_IntegTest.java | 153 +++
.../integtests/tests/SimpleObjects_IntegTest.java | 111 ++
pom.xml | 81 ++
webapp/lib/.gitignore | 0
webapp/pom.xml | 243 ++++
.../src/main/java/domainapp/webapp/SimpleApp.java | 75 ++
.../domainapp/webapp/layout/menubars.layout.xml | 115 ++
webapp/src/main/resources/application.yml | 145 +++
webapp/src/main/resources/banner.txt | 6 +
.../main/resources/config/application.properties | 12 +
webapp/src/main/resources/shiro.ini | 93 ++
.../src/main/resources/static/css/application.css | 19 +
.../static/images/apache-isis/logo-48x48.png | Bin 0 -> 2622 bytes
.../resources/static/images/apache-isis/logo.png | Bin 0 -> 14160 bytes
.../src/main/resources/static/images/favicon.png | Bin 0 -> 2143 bytes
webapp/src/main/resources/static/index.html | 117 ++
.../main/resources/static/scripts/application.js | 3 +
webapp/src/main/webapp/WEB-INF/translations-en.po | 674 +++++++++++
webapp/src/main/webapp/WEB-INF/translations-es.po | 673 +++++++++++
webapp/src/main/webapp/WEB-INF/translations-nl.po | 674 +++++++++++
webapp/src/main/webapp/WEB-INF/translations.po | 673 +++++++++++
webapp/src/main/webapp/WEB-INF/web.xml | 27 +
.../test/java/domain/webapp/lockdown/.gitignore | 1 +
.../webapp/lockdown/LockDownMavenDeps_Test.java | 50 +
.../LockDownMavenDeps_Test.list.approved.txt | 225 ++++
.../LockDownMavenDeps_Test.tree.approved.txt | 224 ++++
74 files changed, 9030 insertions(+)
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..b1eafb6
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,51 @@
+#
+#
+# text files are normalized (convert crlf => lf)
+# binary files are not normalized (binary is a macro for -text -diff)
+#
+#
+
+
+# Unless otherwise stated, assume text
+
+* text=auto
+
+
+*.java text diff=java
+*.html text diff=html
+*.xhtml text diff=html
+*.xml text
+*.txt text
+
+
+*.jar binary
+*.so binary
+*.dll binary
+
+# images
+*.jpg binary
+*.jpeg binary
+*.png binary
+*.pdn binary
+*.pdn binary
+
+
+*.cs text diff=csharp
+
+*.sln merge=union
+*.csproj merge=union
+*.vbproj merge=union
+*.fsproj merge=union
+*.dbproj merge=union
+
+*.doc diff=astextplain
+*.DOC diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot diff=astextplain
+*.DOT diff=astextplain
+*.pdf diff=astextplain
+*.PDF diff=astextplain
+*.rtf diff=astextplain
+*.RTF diff=astextplain
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..371262a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,43 @@
+*~
+*.swp
+*.class
+bin/
+target/
+target-ide/
+logs/
+.settings/
+.project
+.classpath
+.idea
+*.iml
+
+build/
+
+JArchitectOut/
+*.jdproj
+
+neo4j_DB/
+
+# log files
+datanucleus.log
+isis.log
+i18n-po.log
+hs_err_pid*.log
+
+# Package Files #
+*.war
+*.ear
+
+dependency-reduced-pom.xml
+pom.xml.tag
+pom.xml.next
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+
+.clover/
+
+
+rebel.xml
+translations.pot
+
+.flattened-pom.xml
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..7d4a33b
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,51 @@
+#
+# requires the following gitlab secret variables
+# - DOCKER_REGISTRY_USERNAME
+# - DOCKER_REGISTRY_PASSWORD
+# - DOCKER_REGISTRY_EMAIL
+# - DOCKER_REGISTRY_NAME # eg "registry-1.docker.io" (for docker hub)
+ # or "docker-dev.incode.cloud" (eg a cloud-based nexus)
+# - DOCKER_REGISTRY_URL # eg "https://index.docker.io/v1/" (for docker hub)
+ # or "https://repo.incode.cloud/repository/docker-dev/" (eg a cloud-based nexus)
+#
+
+image: maven:3.5.3-jdk-8
+
+before_script:
+ - export REVISION=$(date +%Y%m%d.%H%M).$CI_COMMIT_REF_SLUG.$(echo $CI_COMMIT_SHA | cut -c1-8)
+
+services:
+ - docker:dind
+
+variables:
+ DOCKER_HOST: tcp://docker:2375
+ DOCKER_DRIVER: overlay2
+ MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dskip.cloudbees-estatio-repositories -Dskip.sonatype-snapshots -Dskip.apache-snapshots"
+ APP_NAME: "simpleapp"
+
+stages:
+ - build-package-push
+
+build-package-push:
+ stage: build-package-push
+ script:
+ - echo "REVISION=$REVISION"
+ - >
+ mvn --batch-mode \
+ install \
+ -Drevision=$REVISION \
+ -Dmavenmixin-docker \
+ -Ddocker-plugin.imageName=$DOCKER_REGISTRY_NAME/$DOCKER_REGISTRY_USERNAME/$APP_NAME
+ - >
+ mvn -s .m2/settings.xml \
+ --batch-mode \
+ docker:push@push-image-tagged \
+ -pl webapp \
+ -Drevision=$REVISION \
+ -DskipTests \
+ -Dskip.isis-swagger \
+ -Dmavenmixin-docker \
+ -Ddocker-plugin.imageName=$DOCKER_REGISTRY_USERNAME/$DOCKER_REGISTRY_REPOSITORY \
+ -Ddocker-plugin.serverId=docker-registry \
+ -Ddocker.registryUrl=$DOCKER_REGISTRY_URL
+
diff --git a/.m2/settings.xml b/.m2/settings.xml
new file mode 100644
index 0000000..6038b0e
--- /dev/null
+++ b/.m2/settings.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+ <servers>
+ <server>
+ <id>docker-registry</id>
+ <username>${env.DOCKER_REGISTRY_USERNAME}</username>
+ <password>${env.DOCKER_REGISTRY_PASSWORD}</password>
+ <configuration>
+ <email>${env.DOCKER_REGISTRY_EMAIL}</email>
+ </configuration>
+ </server>
+ </servers>
+</settings>
diff --git a/README.adoc b/README.adoc
new file mode 100644
index 0000000..79c242a
--- /dev/null
+++ b/README.adoc
@@ -0,0 +1,149 @@
+= SimpleApp
+
+This is a simple link:http://isis.apache.org[Apache Isis] application, but structured so it can be used as a starting point for developing your own applications.
+
+
+
+== Quick start
+
+Build using:
+
+[source,bash]
+----
+mvn clean install
+----
+
+Run using:
+
+[source,bash]
+----
+mvn -pl webapp spring-boot:run
+----
+
+Login using:
+
+* username: `sven`
+* password: `pass`
+
+The app runs with HSQLDB running in-memory, with sample data set up using link:https://isis.apache.org/guides/ugtst.html#_ugtst_fixture-scripts[fixture scripts].
+
+
+
+== Application Structure
+
+The following table explains the contents of each of the directories:
+
+[width="100%",options="header,footer", cols="2a,4a"]
+|====================
+|Directory
+|Description
+
+|`application`
+|Defines application-level classes such as menus and the ``AppManifest`` (which defines the modules that make up the application).
+It also holds application-wide integration tests/BDD specs.
+
+|`module-simple`
+|Holds the "simple" module, consisting of the `SimpleObject` entity and supporting repository, along with module-specific unit- and integration tests.
+Also runs `isis:validate` goal for the domain objects within the module. +
+
+[TIP]
+====
+Larger applications should consist of multiple modules; each such module can be copied from this starter module.
+====
+
+|`webapp`
+|Assembles the application into a webapp (comprising both the Wicket viewer and Restful Objects viewer) and also as a docker image, and runs the `isis:swagger` goal.
+
+
+|====================
+
+== More advanced use cases
+
+* To enhance all JDO entities prior to running: +
++
+[source,bash]
+----
+mvn -pl module-simple datanucleus:enhance -o
+----
+
+
+* To disable the running of unit tests: +
++
+[source,bash]
+----
+mvn -DskipUTs
+----
++
+[TIP]
+====
+By default, output of unit tests are in `target/surefire-unittest-reports` (in the ``module-simple`` modules).
+====
+
+* To disable the running of integration tests: +
++
+[source,bash]
+----
+mvn -DskipITs
+----
++
+[TIP]
+====
+By default, output of integration tests are in `target/surefire-integtest-reports` (in the ``application`` and ``module-simple`` modules).
+====
+
+* To disable the running of BDD specs: +
++
+[source,bash]
+----
+mvn -DskipBSs
+----
++
+[TIP]
+====
+By default, output of integration tests are in `target/surefire-integbddspecs-reports` (in the ``application`` module).
+====
+
+* To disable the running of all tests and BDD specs: +
++
+[source,bash]
+----
+mvn -DskipTests
+----
+
+//* To package up the application as a docker image (specifying the docker image name as a system property): +
+//+
+//[source,bash]
+//----
+//mvn install -Dmavenmixin-docker -Ddocker-plugin.imageName=mycompany/myapp
+//----
+//+
+//Alternatively, define the `${docker-plugin.imageName}` in the `webapp` module and use simply: +
+//+
+//[source,bash]
+//----
+//mvn install -Dmavenmixin-docker
+//----
+//+
+//The packaged image can be viewed using `docker images`.
+//
+//* To run a docker image previously packaged: +
+//+
+//[source,bash]
+//----
+//docker container run -d -p 8080:8080 mycompany/myapp
+//----
+//+
+//This can then be accessed at link:http://localhost:8080[localhost:8080].
+//+
+//See link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-consume[mavenmixin-docker] for further details on how to run docker images.
+//
+//* To upload the application as a docker image to link:https://hub.docker.com[docker hub] (or some other docker registry): +
+//+
+//[source,bash]
+//----
+//mvn -pl webapp deploy -Dmavenmixin-docker
+//----
+//+
+//This assumes that the `${docker-plugin.imageName}` property has been defined, _and_ also that docker registry credentials have been specified in `~/.m2/settings.xml`.
+//Once more, see link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-configure[mavenmixin-docker] for further details.
+
diff --git a/application/.gitignore b/application/.gitignore
new file mode 100644
index 0000000..c71ea97
--- /dev/null
+++ b/application/.gitignore
@@ -0,0 +1 @@
+/.apt_generated/
diff --git a/application/log4j2-test.xml b/application/log4j2-test.xml
new file mode 100644
index 0000000..56e8ad6
--- /dev/null
+++ b/application/log4j2-test.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+ <Properties>
+ <Property name="PID">????</Property>
+ <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
+ <Property name="LOG_LEVEL_PATTERN">%5p</Property>
+ <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
+ <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
+ <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
+ </Properties>
+ <Appenders>
+ <Console name="Console" target="SYSTEM_OUT" follow="true">
+ <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
+ </Console>
+ </Appenders>
+ <Loggers>
+ <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
+ <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
+ <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
+ <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
+ <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
+ <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
+ <Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
+ <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
+
+ <logger name="org.apache.directory" level="warn"/>
+ <logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
+
+ <logger name="DataNucleus.Persistence" level="info"/>
+ <logger name="DataNucleus.Transaction" level="info"/>
+ <logger name="DataNucleus.Datastore.Schema" level="info"/>
+ <logger name="DataNucleus.Datastore.Native" level="info"/>
+
+ <Root level="info">
+ <AppenderRef ref="Console" />
+ </Root>
+ </Loggers>
+</Configuration>
+
+<!-- # DataNucleus Logging Categories -->
+<!-- DataNucleus.Persistence - All messages relating to the persistence process -->
+<!-- DataNucleus.Transaction - All messages relating to transactions -->
+<!-- DataNucleus.Connection - All messages relating to Connections. -->
+<!-- DataNucleus.Query - All messages relating to queries -->
+<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache -->
+<!-- DataNucleus.MetaData - All messages relating to MetaData -->
+<!-- DataNucleus.Datastore - All general datastore messages -->
+<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages -->
+<!-- DataNucleus.Datastore.Persist - All datastore persistence messages -->
+<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages -->
+<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore -->
+<!-- DataNucleus.General - All general operational messages -->
+<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes -->
+<!-- DataNucleus.ValueGeneration - All messages relating to value generation -->
+<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. -->
+<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool -->
+<!-- DataNucleus.JDO - All messages general to JDO -->
+<!-- DataNucleus.JPA - All messages general to JPA -->
+<!-- DataNucleus.JCA - All messages relating to Connector JCA. -->
+<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. -->
\ No newline at end of file
diff --git a/application/pom.xml b/application/pom.xml
new file mode 100644
index 0000000..ee571d5
--- /dev/null
+++ b/application/pom.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp</artifactId>
+ <version>2.0.0-M3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>simpleapp-application</artifactId>
+ <name>Apache Isis App - SimpleApp Application</name>
+
+ <description>This defines the application (manifest) and runs application-level fixtures and integration (smoke) tests</description>
+
+ <packaging>jar</packaging>
+
+ <properties>
+ <maven-cucumber-reporting.version>4.11.2</maven-cucumber-reporting.version>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/resources</directory>
+ </resource>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <filtering>false</filtering>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <testResource>
+ <filtering>false</filtering>
+ <directory>src/test/java</directory>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>net.masterthought</groupId>
+ <artifactId>maven-cucumber-reporting</artifactId>
+ <version>${maven-cucumber-reporting.version}</version>
+ <executions>
+ <execution>
+ <id>execution</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <projectName>SimpleApp</projectName>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <inputDirectory>${project.build.directory}</inputDirectory>
+ <jsonFiles>
+ <param>**/*.json</param>
+ </jsonFiles>
+ <skip>${skipBSs}</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>simpleapp-module-simple</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-webapp</artifactId>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-jdk11</artifactId>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-testing</artifactId>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/application/src/main/java/domainapp/application/ApplicationModule.java b/application/src/main/java/domainapp/application/ApplicationModule.java
new file mode 100644
index 0000000..684e332
--- /dev/null
+++ b/application/src/main/java/domainapp/application/ApplicationModule.java
@@ -0,0 +1,33 @@
+/*
+ * 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 domainapp.application;
+
+import org.apache.isis.extensions.fixtures.modules.Module;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import domainapp.modules.simple.SimpleModule;
+
+@Configuration
+@Import(SimpleModule.class)
+@ComponentScan
+public class ApplicationModule implements Module {
+
+}
diff --git a/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java b/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
new file mode 100644
index 0000000..f51acff
--- /dev/null
+++ b/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
@@ -0,0 +1,45 @@
+/*
+ * 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 domainapp.application.fixture;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+import org.apache.isis.extensions.fixtures.fixturespec.FixtureScriptsSpecification;
+import org.apache.isis.extensions.fixtures.fixturespec.FixtureScriptsSpecificationProvider;
+
+import domainapp.application.fixture.scenarios.DomainAppDemo;
+
+/**
+ * Specifies where to find fixtures, and other settings.
+ */
+@DomainService(
+ nature = NatureOfService.DOMAIN
+ )
+public class DomainAppFixtureScriptsSpecificationProvider implements FixtureScriptsSpecificationProvider {
+ @Override
+ public FixtureScriptsSpecification getSpecification() {
+ return FixtureScriptsSpecification
+ .builder(DomainAppFixtureScriptsSpecificationProvider.class)
+ .with(FixtureScripts.MultipleExecutionStrategy.EXECUTE)
+ .withRunScriptDefault(DomainAppDemo.class)
+ .withRecreate(DomainAppDemo.class)
+ .build();
+ }
+}
diff --git a/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java b/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
new file mode 100644
index 0000000..1c2dccc
--- /dev/null
+++ b/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
@@ -0,0 +1,41 @@
+/*
+ * 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 domainapp.application.fixture.scenarios;
+
+import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
+import org.apache.isis.extensions.fixtures.legacy.teardown.TeardownFixtureAbstract2;
+import org.springframework.stereotype.Component;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.fixture.SimpleObject_persona;
+
+public class DomainAppDemo extends FixtureScript {
+
+ @Override
+ protected void execute(final ExecutionContext ec) {
+ ec.executeChild(this, new TeardownFixtureAbstract2() {
+ @Override
+ protected void execute(final ExecutionContext executionContext) {
+ deleteFrom(SimpleObject.class);
+ }
+ });
+ ec.executeChild(this, new SimpleObject_persona.PersistAll());
+ }
+
+}
diff --git a/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java b/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
new file mode 100644
index 0000000..329b973
--- /dev/null
+++ b/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
@@ -0,0 +1,47 @@
+/*
+ * 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 domainapp.application.services.health;
+
+import javax.inject.Inject;
+
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.services.health.Health;
+import org.apache.isis.applib.services.health.HealthCheckService;
+
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+
+@DomainService(nature = NatureOfService.DOMAIN)
+public class HealthCheckServiceImpl implements HealthCheckService {
+
+ @Override
+ public Health check() {
+
+ try {
+ simpleObjects.ping();
+ return Health.ok();
+ } catch (Exception ex) {
+ return Health.error(ex.getMessage());
+ }
+
+ }
+
+ @Inject
+ SimpleObjects simpleObjects;
+}
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageService.java b/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
new file mode 100644
index 0000000..d3a4719
--- /dev/null
+++ b/application/src/main/java/domainapp/application/services/homepage/HomePageService.java
@@ -0,0 +1,42 @@
+/*
+ * 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 domainapp.application.services.homepage;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.springframework.stereotype.Service;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.HomePage;
+import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.services.factory.FactoryService;
+
+@Service @Named("homepage.HomePageService")
+public class HomePageService {
+
+ @Action(semantics = SemanticsOf.SAFE)
+ @HomePage
+ public HomePageViewModel homePage() {
+ return factoryService.instantiate(HomePageViewModel.class);
+ }
+
+
+ @Inject FactoryService factoryService;
+}
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java b/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
new file mode 100644
index 0000000..952ab03
--- /dev/null
+++ b/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
@@ -0,0 +1,47 @@
+/*
+ * 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 domainapp.application.services.homepage;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.Nature;
+import org.apache.isis.applib.services.i18n.TranslatableString;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+
+@DomainObject(
+ nature = Nature.VIEW_MODEL,
+ objectType = "domainapp.application.services.homepage.HomePageViewModel"
+ )
+public class HomePageViewModel {
+
+ public TranslatableString title() {
+ return TranslatableString.tr("{num} objects", "num", getObjects().size());
+ }
+
+ public List<SimpleObject> getObjects() {
+ return simpleObjects.listAll();
+ }
+
+ @Inject SimpleObjects simpleObjects;
+}
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml b/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
new file mode 100644
index 0000000..1436efc
--- /dev/null
+++ b/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ 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.
+-->
+<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <bs3:row>
+ <bs3:col span="2">
+ <bs3:sizeSpan size="LG" span="2" offset="true"/>
+ <bs3:row>
+ <bs3:col span="12" unreferencedActions="true">
+ <domainObject/>
+ <action id="clearHints"/>
+ <action id="downloadLayoutXml" hidden="EVERYWHERE"/>
+ <action id="rebuildMetamodel" hidden="EVERYWHERE"/>
+ <action id="downloadMetaModelXml" hidden="EVERYWHERE"/>
+ <action id="openRestApi" hidden="EVERYWHERE"/>
+ </bs3:col>
+ </bs3:row>
+ </bs3:col>
+ <bs3:col span="4" unreferencedCollections="true">
+ <bs3:row>
+ <bs3:col span="12">
+ <collection id="objects" defaultView="table"/>
+ </bs3:col>
+ </bs3:row>
+ </bs3:col>
+ </bs3:row>
+ <bs3:row>
+
+ </bs3:row>
+ <bs3:row>
+ <bs3:col span="0">
+ <fieldSet name="General" id="general" unreferencedProperties="true"/>
+ </bs3:col>
+ </bs3:row>
+</bs3:grid>
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png b/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png
new file mode 100644
index 0000000..cb03785
Binary files /dev/null and b/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png differ
diff --git a/application/src/main/resources/log4j2-spring.xml b/application/src/main/resources/log4j2-spring.xml
new file mode 100644
index 0000000..08a5edb
--- /dev/null
+++ b/application/src/main/resources/log4j2-spring.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+ <Properties>
+ <Property name="PID">????</Property>
+ <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
+ <Property name="LOG_LEVEL_PATTERN">%5p</Property>
+ <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
+ <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
+ <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
+ </Properties>
+ <Appenders>
+ <Console name="Console" target="SYSTEM_OUT" follow="true">
+ <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
+ </Console>
+ </Appenders>
+ <Loggers>
+
+ <!-- silence Wicket -->
+ <Logger name="org.apache.wicket.page.PartialPageUpdate" level="error" />
+
+ <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
+ <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
+ <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
+ <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
+ <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
+ <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
+ <Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
+ <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
+
+ <logger name="org.apache.directory" level="warn"/>
+ <logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
+
+ <logger name="DataNucleus.Persistence" level="info"/>
+ <logger name="DataNucleus.Transaction" level="info"/>
+ <logger name="DataNucleus.Datastore.Schema" level="info"/>
+ <logger name="DataNucleus.Datastore.Native" level="info"/>
+
+ <Root level="info">
+ <AppenderRef ref="Console" />
+ </Root>
+ </Loggers>
+</Configuration>
diff --git a/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java b/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
new file mode 100644
index 0000000..a50b050
--- /dev/null
+++ b/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
@@ -0,0 +1,41 @@
+/**
+ * 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 domainapp.application.bdd;
+
+import io.cucumber.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+
+import org.junit.runner.RunWith;
+
+
+/**
+ * Runs scenarios in all <tt>.feature</tt> files (this package and any subpackages).
+ */
+@RunWith(Cucumber.class)
+@CucumberOptions(
+ plugin = {
+ "html:target/cucumber-html-report"
+ ,"json:target/cucumber.json"
+ },
+ strict = true,
+ tags = { "not @backlog", "not @ignore" },
+ glue = {
+ }
+ )
+public class RunIntegBddSpecs {
+ // intentionally empty
+}
diff --git a/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java b/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
new file mode 100644
index 0000000..70efd86
--- /dev/null
+++ b/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
@@ -0,0 +1,100 @@
+/*
+ * 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 domainapp.application.bdd.glue;
+
+import java.util.List;
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import org.junit.Ignore;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import domainapp.application.fixture.scenarios.DomainAppDemo;
+import domainapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.fixture.SimpleObject_persona;
+import io.cucumber.java.After;
+import io.cucumber.java.Before;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.When;
+import lombok.val;
+
+public class SimpleObjectsStepDef extends ApplicationIntegTestAbstract {
+
+ @Given("^there are.* (\\d+) simple objects$")
+ public void there_are_N_simple_objects(int n) throws Throwable {
+ final List<SimpleObject> list = wrap(simpleObjects).listAll();
+ assertThat(list.size(), is(n));
+ }
+
+ @When("^.*create a .*simple object$")
+ public void create_a_simple_object() throws Throwable {
+ wrap(simpleObjects).create(UUID.randomUUID().toString());
+ }
+
+ // -- TRANSACTION ASPECT
+
+ private Runnable afterScenario;
+
+ @Before //TODO is there another way to make scenarios transactional?
+ public void beforeScenario(){
+ val txTemplate = new TransactionTemplate(txMan);
+ val status = txTemplate.getTransactionManager().getTransaction(null);
+ afterScenario = () -> {
+ txTemplate.getTransactionManager().rollback(status);
+ };
+
+ fixtureScripts.runPersonas(
+ SimpleObject_persona.BANG,
+ SimpleObject_persona.BAR,
+ SimpleObject_persona.BAZ);
+
+ status.flush();
+ }
+
+ @After
+ public void afterScenario(){
+ if(afterScenario==null) {
+ return;
+ }
+ afterScenario.run();
+ afterScenario = null;
+ }
+
+
+ // -- DEPENDENCIES
+
+ @Inject protected SimpleObjects simpleObjects;
+ @Inject private FixtureScripts fixtureScripts;
+ @Inject private PlatformTransactionManager txMan;
+
+ @Before(value="@DomainAppDemo", order=20000)
+ public void runDomainAppDemo() {
+ fixtureScripts.runFixtureScript(new DomainAppDemo(), null); // <1>
+ }
+
+}
diff --git a/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
new file mode 100644
index 0000000..1fb0c83
--- /dev/null
+++ b/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
@@ -0,0 +1,24 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+Feature: List and Create New Simple Objects
+
+ Scenario: Existing simple objects can be listed and new ones created
+ Given there are initially 3 simple objects
+ When I create a new simple object
+ Then there are 4 simple objects
+
+
\ No newline at end of file
diff --git a/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java b/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
new file mode 100644
index 0000000..b059ff0
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
@@ -0,0 +1,57 @@
+/*
+ * 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 domainapp.application.integtests;
+
+import domainapp.application.ApplicationModule;
+
+import org.apache.isis.config.IsisPresets;
+import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
+import org.apache.isis.integtestsupport.IsisIntegrationTestAbstract;
+import org.apache.isis.jdo.IsisBootDataNucleus;
+import org.apache.isis.runtime.spring.IsisBoot;
+import org.apache.isis.security.bypass.IsisBootSecurityBypass;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
+import org.springframework.test.context.ContextConfiguration;
+
+@SpringBootTest(classes = ApplicationIntegTestAbstract.AppManifest.class)
+@ContextConfiguration
+public abstract class ApplicationIntegTestAbstract extends IsisIntegrationTestAbstract {
+
+ @Configuration
+ @PropertySources({
+ @PropertySource(IsisPresets.Log4j2Test),
+ @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
+ @PropertySource(IsisPresets.NoTranslations),
+ @PropertySource(IsisPresets.DataNucleusAutoCreate),
+ })
+ @Import({
+ IsisBoot.class,
+ IsisBootDataNucleus.class,
+ IsisBootSecurityBypass.class,
+ IsisExtFixturesModule.class,
+ ApplicationModule.class
+ })
+ public static class AppManifest {
+ }
+
+}
diff --git a/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java b/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
new file mode 100644
index 0000000..04c1dfa
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
@@ -0,0 +1,41 @@
+/*
+ * 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 domainapp.application.integtests.mml;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
+import org.apache.isis.metamodel.specloader.SpecificationLoader;
+
+import domainapp.application.integtests.ApplicationIntegTestAbstract;
+
+class DomainModel_IntegTest extends ApplicationIntegTestAbstract {
+
+ @Inject protected SpecificationLoader specificationLoader;
+
+ @Test @Disabled("with full introspection in place this test actually throws")
+ void validateDomainModel() {
+ new ValidateDomainModel(specificationLoader).run();
+ }
+
+
+}
\ No newline at end of file
diff --git a/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java b/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
new file mode 100644
index 0000000..4fc7d4d
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
@@ -0,0 +1,145 @@
+/*
+ * 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 domainapp.application.integtests.mml;
+
+import java.io.File;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.approvaltests.namer.StackTraceNamer;
+import org.approvaltests.reporters.DiffReporter;
+import org.approvaltests.reporters.QuietReporter;
+import org.approvaltests.reporters.UseReporter;
+import org.approvaltests.writers.ApprovalTextWriter;
+import org.junit.jupiter.api.Test;
+
+import org.apache.isis.applib.services.jaxb.JaxbService;
+import org.apache.isis.applib.services.metamodel.MetaModelService;
+import org.apache.isis.schema.metamodel.v1.DomainClassDto;
+import org.apache.isis.schema.metamodel.v1.MetamodelDto;
+
+import static org.approvaltests.Approvals.getReporter;
+import static org.approvaltests.Approvals.verify;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assume.assumeThat;
+
+import domainapp.application.integtests.ApplicationIntegTestAbstract;
+
+class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
+
+ @Inject MetaModelService metaModelService;
+ @Inject JaxbService jaxbService;
+
+ //
+ // learn...
+ //
+ // ... move the resultant files in "received" directory over to "approved".
+ //
+ @UseReporter(QuietReporter.class)
+ @Test
+ void _1_learn() throws Exception {
+
+ assumeThat(System.getProperty("lockdown.learn"), is(notNullValue()));
+
+ // when
+ MetamodelDto metamodelDto =
+ metaModelService.exportMetaModel(
+ new MetaModelService.Config()
+ .withIgnoreNoop()
+ .withIgnoreAbstractClasses()
+ .withIgnoreBuiltInValueTypes()
+ .withIgnoreInterfaces()
+ .withPackagePrefix("domainapp")
+ );
+
+ // then
+ final List<DomainClassDto> domainClassDto = metamodelDto.getDomainClassDto();
+ for (final DomainClassDto domainClass : domainClassDto) {
+ try {
+ verifyClass(domainClass);
+ } catch (Error e) {
+ //ignore ... learning.
+ }
+ }
+ }
+
+
+ //
+ // verify ...
+ //
+ // ... ie compare the current metamodel to that previously captured.
+ //
+ @UseReporter(DiffReporter.class)
+ @Test
+ void _2_verify() throws Exception {
+
+ assumeThat(System.getProperty("lockdown.verify"), is(notNullValue()));
+
+ // when
+ MetamodelDto metamodelDto =
+ metaModelService.exportMetaModel(
+ new MetaModelService.Config()
+ .withIgnoreNoop()
+ .withIgnoreAbstractClasses()
+ .withIgnoreBuiltInValueTypes()
+ .withIgnoreInterfaces()
+ .withPackagePrefix("domainapp")
+ );
+
+ // then
+ final List<DomainClassDto> domainClassDto = metamodelDto.getDomainClassDto();
+ for (final DomainClassDto domainClass : domainClassDto) {
+ verifyClass(domainClass);
+ }
+ }
+
+ private void verifyClass(final DomainClassDto domainClass) {
+ String asXml = jaxbService.toXml(domainClass);
+ verify(new ApprovalTextWriter(asXml, "xml"){
+ @Override public String writeReceivedFile(final String received) {
+ return super.writeReceivedFile(received);
+ }
+
+ @Override public String getReceivedFilename(final String base) {
+ return toFilename("received", base);
+ }
+
+ @Override public String getApprovalFilename(final String base) {
+ return toFilename("approved", base);
+ }
+
+ private String toFilename(final String prefix, final String base) {
+ final File file = new File(base);
+ final File parentFile = file.getParentFile();
+ final String localName = file.getName();
+ final File newDir = new File(parentFile, prefix);
+ final File newFile = new File(newDir, localName + ".xml");
+ return newFile.toString();
+ }
+
+ }, new StackTraceNamer() {
+ @Override public String getApprovalName() {
+ return domainClass.getId();
+ }
+ }, getReporter());
+ }
+
+}
\ No newline at end of file
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
new file mode 100644
index 0000000..84cfa08
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<mml:domainClassDto id="domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
+ <mml:attr name="escaped">true</mml:attr>
+ <mml:attr name="value">Domain App Fixture Scripts Specification Provider</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.domainservice.DomainServiceFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotation">
+ <mml:attr name="natureOfService">DOMAIN</mml:attr>
+ <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservicelayout.annotation.DomainServiceLayoutFacetAnnotation">
+ <mml:attr name="menuBar">PRIMARY</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
+ <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromIoCNamingStrategy">
+ <mml:attr name="value">domainAppFixtureScriptsSpecificationProvider</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">25</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">Domain App Fixture Scripts Specification Providers</mml:attr>
+ </mml:facet>
+ </mml:facets>
+</mml:domainClassDto>
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
new file mode 100644
index 0000000..ec21c6c
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<mml:domainClassDto id="domainapp.application.services.health.HealthCheckServiceImpl" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
+ <mml:attr name="escaped">true</mml:attr>
+ <mml:attr name="value">Health Check Service Impl</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.domainservice.DomainServiceFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotation">
+ <mml:attr name="natureOfService">DOMAIN</mml:attr>
+ <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservicelayout.annotation.DomainServiceLayoutFacetAnnotation">
+ <mml:attr name="menuBar">PRIMARY</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
+ <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromIoCNamingStrategy">
+ <mml:attr name="value">healthCheckServiceImpl</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">25</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">Health Check Service Impls</mml:attr>
+ </mml:facet>
+ </mml:facets>
+</mml:domainClassDto>
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
new file mode 100644
index 0000000..867f66a
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
@@ -0,0 +1,617 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<mml:domainClassDto id="domainapp.application.services.homepage.HomePageViewModel" xmlns:mml="http://isis.apache.org/schema/metamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
+ <mml:attr name="escaped">true</mml:attr>
+ <mml:attr name="value">Home Page View Model</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectCreatedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectLoadedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistingEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectRemovingEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForDomainObjectAnnotation">
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromClassName</mml:attr>
+ <mml:attr name="value">domainapp.application.services.homepage.HomePageViewModel</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">25</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">Home Page View Models</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod">
+ <mml:attr name="intent.title">UI_HINT</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString domainapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.viewmodel.ViewModelFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.recreatable.RecreatableObjectFacetForDomainObjectAnnotation">
+ <mml:attr name="recreationMechanism">INITIALIZES</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:properties>
+ <mml:prop id="objectIdentifier">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
+ <mml:attr name="returnType">java.lang.String</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objectIdentifier()</mml:attr>
+ <mml:attr name="originalText">Object Identifier</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.2</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:prop>
+ <mml:prop id="objectType">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectType.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
+ <mml:attr name="returnType">java.lang.String</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objectType()</mml:attr>
+ <mml:attr name="originalText">Object Type</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:prop>
+ </mml:properties>
+ <mml:collections>
+ <mml:coll id="objects">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
+ <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objects</mml:attr>
+ <mml:attr name="originalText">Objects</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.CollectionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionAddToFacetForDomainEventFromDefault">
+ <mml:attr name="collectionAddToFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacetViaAccessor</mml:attr>
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacetViaAccessor</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.CollectionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionClearFacet" fqcn="org.apache.isis.metamodel.facets.collections.clear.CollectionClearFacetViaAccessor">
+ <mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault">
+ <mml:attr name="collectionRemoveFromFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor</mml:attr>
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.CollectionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collparam.semantics.CollectionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.collparam.semantics.CollectionSemanticsFacetDefault">
+ <mml:attr name="value">LIST_INTERFACE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">12</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.recreatable.DisabledFacetOnCollectionDerivedFromRecreatableObject" fqcn="org.apache.isis.metamodel.facets.object.recreatable.DisabledFacetOnCollectionDerivedFromRecreatableObject">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor">
+ <mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
+ <mml:attr name="onType">domainapp.application.services.homepage.HomePageViewModel</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>domainapp.modules.simple.dom.impl.SimpleObject</mml:type>
+ </mml:coll>
+ </mml:collections>
+ <mml:actions>
+ <mml:act id="downloadLayoutXml">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
+ <mml:attr name="returnType">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()</mml:attr>
+ <mml:attr name="originalText">Download Layout Xml</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-download</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.lang.Object</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="originalText">File name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default0Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ <mml:param xsi:type="mml:scalarParam" id="style" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="originalText">Style</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default1Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.services.layout.LayoutService$Style org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default1Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>org.apache.isis.applib.services.layout.LayoutService$Style</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="downloadMetaModelXml">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.act(java.lang.String)</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
+ <mml:attr name="returnType">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#downloadMetaModelXml()</mml:attr>
+ <mml:attr name="originalText">Download Meta Model Xml</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-download</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.2</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.lang.Object</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">File name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.default0Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="openRestApi">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.value.LocalResourcePath org.apache.isis.applib.mixins.layout.Object_openRestApi.act()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
+ <mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#openRestApi()</mml:attr>
+ <mml:attr name="originalText">Open Rest Api</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-external-link</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">750.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ <mml:act id="rebuildMetamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.act()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
+ <mml:attr name="returnType">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">IDEMPOTENT</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()</mml:attr>
+ <mml:attr name="originalText">Rebuild Metamodel</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-refresh</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">800.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.lang.Object</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ </mml:actions>
+</mml:domainClassDto>
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
new file mode 100644
index 0000000..b664f8d
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
@@ -0,0 +1,1182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<mml:domainClassDto id="domainapp.modules.simple.dom.impl.SimpleObject" xmlns:mml="http://isis.apache.org/schema/metamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacetAnnotation">
+ <mml:attr name="strategy">IDENTITY</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacetAnnotation">
+ <mml:attr name="identityType">DATASTORE</mml:attr>
+ <mml:attr name="schema">simple</mml:attr>
+ <mml:attr name="table">SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.jdo.metamodel.facets.object.version.JdoVersionFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.version.JdoVersionFacetFromAnnotation"/>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
+ <mml:attr name="escaped">true</mml:attr>
+ <mml:attr name="value">Simple Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.jaxb.XmlJavaTypeAdapterFacet" fqcn="org.apache.isis.metamodel.facets.jaxb.XmlJavaTypeAdapterFacetDefault">
+ <mml:attr name="value">org.apache.isis.schema.utils.jaxbadapters.PersistentEntityAdapter</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent">
+ <mml:attr name="cssClassUiEventClass">org.apache.isis.applib.events.ui.CssClassUiEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditableFacetForDomainObjectAnnotation">
+ <mml:attr name="enablement">ENABLED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.BookmarkPolicyFacetForDomainObjectLayoutAnnotation">
+ <mml:attr name="bookmarkPolicy">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectCreatedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.LoadedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectLoadedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.PersistingLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectPersistingEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.RemovingLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectRemovingEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatedEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacet" fqcn="org.apache.isis.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacetForDomainObjectAnnotation">
+ <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent">
+ <mml:attr name="iconUiEventClass">org.apache.isis.applib.events.ui.IconUiEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent">
+ <mml:attr name="layoutUiEventClass">org.apache.isis.applib.events.ui.LayoutUiEvent.Default</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.jdo.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForJdoPersistenceCapableAnnotation">
+ <mml:attr name="value">simple.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">25</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.PluralFacetForDomainObjectLayoutAnnotation"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent">
+ <mml:attr name="titleUiEventClass">org.apache.isis.applib.events.ui.TitleUiEvent.Default</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:properties>
+ <mml:prop id="datanucleusIdLong">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Long org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong</mml:attr>
+ <mml:attr name="returnType">java.lang.Long</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#datanucleusIdLong()</mml:attr>
+ <mml:attr name="originalText">Id</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
+ <mml:attr name="methods">public boolean org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong.hideProp()</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">800.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.Long</mml:type>
+ </mml:prop>
+ <mml:prop id="datanucleusVersionLong">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Long org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong</mml:attr>
+ <mml:attr name="returnType">java.lang.Long</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionLong()</mml:attr>
+ <mml:attr name="originalText">Version</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
+ <mml:attr name="methods">public boolean org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong.hideProp()</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">800.2</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.Long</mml:type>
+ </mml:prop>
+ <mml:prop id="datanucleusVersionTimestamp">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.sql.Timestamp org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp</mml:attr>
+ <mml:attr name="returnType">java.sql.Timestamp</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#datanucleusVersionTimestamp()</mml:attr>
+ <mml:attr name="originalText">Version</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
+ <mml:attr name="methods">public boolean org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.hideProp()</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">800.2</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.sql.Timestamp</mml:type>
+ </mml:prop>
+ <mml:prop id="name">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#name</mml:attr>
+ <mml:attr name="originalText">Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.disabled.DisabledFacetForPropertyAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">EVERYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.maxlength.MaxLengthFacetForPropertyAnnotation">
+ <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">40</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.mustsatisfy.MustSatisfySpecificationFacetForPropertyAnnotation">
+ <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor">
+ <mml:attr name="intent.getName">ACCESSOR</mml:attr>
+ <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.getName()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
+ <mml:attr name="typeFacet">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
+ <mml:attr name="clearFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacet" fqcn="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod">
+ <mml:attr name="intent.setName">MODIFY_PROPERTY</mml:attr>
+ <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.setName(java.lang.String)</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromDefault">
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="setterFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.validating.PropertyValidateFacet" fqcn="org.apache.isis.metamodel.facets.properties.validating.dflt.PropertyValidateFacetDefault">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:prop>
+ <mml:prop id="notes">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#notes</mml:attr>
+ <mml:attr name="originalText">Notes</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.disabled.DisabledFacetForPropertyAnnotationInvertedSemantics">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">true</mml:attr>
+ <mml:attr name="semantics">ENABLED</mml:attr>
+ <mml:attr name="where">EVERYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.maxlength.MaxLengthFacetForPropertyAnnotation">
+ <mml:attr name="underlyingFacet">org.apache.isis.jdo.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">4000</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor">
+ <mml:attr name="intent.getNotes">ACCESSOR</mml:attr>
+ <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.getNotes()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
+ <mml:attr name="typeFacet">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
+ <mml:attr name="clearFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacet" fqcn="org.apache.isis.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod">
+ <mml:attr name="intent.setNotes">MODIFY_PROPERTY</mml:attr>
+ <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.setNotes(java.lang.String)</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromDefault">
+ <mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
+ <mml:attr name="setterFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacetViaSetterMethod</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.validating.PropertyValidateFacet" fqcn="org.apache.isis.metamodel.facets.properties.validating.dflt.PropertyValidateFacetDefault">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:prop>
+ <mml:prop id="objectIdentifier">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
+ <mml:attr name="returnType">java.lang.String</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#objectIdentifier()</mml:attr>
+ <mml:attr name="originalText">Object Identifier</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.2</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:prop>
+ <mml:prop id="objectType">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_objectType.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.prop">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_objectType.prop()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
+ <mml:attr name="returnType">java.lang.String</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#objectType()</mml:attr>
+ <mml:attr name="originalText">Object Type</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.members.disabled.DisabledFacetForContributee">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="reason">Contributed property</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="where">ALL_TABLES</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:prop>
+ </mml:properties>
+ <mml:collections/>
+ <mml:actions>
+ <mml:act id="delete">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+ <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ <mml:attr name="intent.delete">EXECUTE</mml:attr>
+ <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObject.delete()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="returnType">void</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">NON_IDEMPOTENT_ARE_YOU_SURE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#delete()</mml:attr>
+ <mml:attr name="originalText">Delete</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>void</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ <mml:act id="downloadJdoMetadata">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.value.Clob org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.act(java.lang.String) throws javax.xml.bind.JAXBException,java.io.IOException</mml:attr>
+ <mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata</mml:attr>
+ <mml:attr name="returnType">org.apache.isis.applib.value.Clob</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#downloadJdoMetadata()</mml:attr>
+ <mml:attr name="originalText">Download Jdo Metadata</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-download</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">710.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>org.apache.isis.applib.value.Clob</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata#act(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">File name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata.default0Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="downloadLayoutXml">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
+ <mml:attr name="returnType">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()</mml:attr>
+ <mml:attr name="originalText">Download Layout Xml</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-download</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.lang.Object</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="originalText">File name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default0Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ <mml:param xsi:type="mml:scalarParam" id="style" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)</mml:attr>
+ <mml:attr name="originalText">Style</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default1Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.services.layout.LayoutService$Style org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml.default1Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>org.apache.isis.applib.services.layout.LayoutService$Style</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="downloadMetaModelXml">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.act(java.lang.String)</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
+ <mml:attr name="returnType">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#downloadMetaModelXml()</mml:attr>
+ <mml:attr name="originalText">Download Meta Model Xml</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-download</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">700.2</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.lang.Object</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">File name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.default0Act()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="openRestApi">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_openRestApi.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.value.LocalResourcePath org.apache.isis.applib.mixins.layout.Object_openRestApi.act()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
+ <mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#openRestApi()</mml:attr>
+ <mml:attr name="originalText">Open Rest Api</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-external-link</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">750.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ <mml:act id="rebuildMetamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.ActionDomainEvent</mml:attr>
+ <mml:attr name="intent.act">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.act()</mml:attr>
+ <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
+ <mml:attr name="returnType">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+ <mml:attr name="contributed">AS_ACTION</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
+ <mml:attr name="position">PANEL</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+ <mml:attr name="deploymentType">PRODUCTION</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">IDEMPOTENT</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()</mml:attr>
+ <mml:attr name="originalText">Rebuild Metamodel</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+ <mml:attr name="position">LEFT</mml:attr>
+ <mml:attr name="value">fa fa-fw fa-refresh</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
+ <mml:attr name="name">metadata</mml:attr>
+ <mml:attr name="originalName">metadata</mml:attr>
+ <mml:attr name="sequence">800.1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.lang.Object</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ <mml:act id="updateName">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.associateWith.AssociatedWithFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.associateWith.AssociatedWithFacetForActionAnnotation">
+ <mml:attr name="value">name</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+ <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ <mml:attr name="intent.updateName">EXECUTE</mml:attr>
+ <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObject.updateName(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">IDEMPOTENT</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#updateName()</mml:attr>
+ <mml:attr name="originalText">Update Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.metamodel.facets.members.order.annotprop.MemberOrderFacetForActionAnnotation">
+ <mml:attr name="name">name</mml:attr>
+ <mml:attr name="originalName">name</mml:attr>
+ <mml:attr name="sequence">1</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
+ <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#updateName(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation">
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">40</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
+ <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
+ <mml:attr name="intent.default0UpdateName">DEFAULTS</mml:attr>
+ <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.impl.SimpleObject.default0UpdateName()</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ </mml:actions>
+</mml:domainClassDto>
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
new file mode 100644
index 0000000..6e0d844
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<mml:domainClassDto id="domainapp.modules.simple.dom.impl.SimpleObjects" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.named.NamedFacetInferred">
+ <mml:attr name="escaped">true</mml:attr>
+ <mml:attr name="value">Simple Objects</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.domainservice.DomainServiceFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotation">
+ <mml:attr name="natureOfService">VIEW</mml:attr>
+ <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservicelayout.annotation.DomainServiceLayoutFacetAnnotation">
+ <mml:attr name="menuBar">PRIMARY</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
+ <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromIoCNamingStrategy">
+ <mml:attr name="value">simple.SimpleObjects</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">25</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.plural.inferred.PluralFacetInferred">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="value">Simple Objectses</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:actions>
+ <mml:act id="create">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObjects.CreateDomainEvent</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
+ <mml:attr name="eventType">domainapp.modules.simple.dom.impl.SimpleObjects.CreateDomainEvent</mml:attr>
+ <mml:attr name="intent.create">EXECUTE</mml:attr>
+ <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObjects.create(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
+ <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#create()</mml:attr>
+ <mml:attr name="originalText">Create</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
+ <mml:attr name="promptStyle">DIALOG_MODAL</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
+ <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#create(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation">
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">40</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
+ <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="findByName">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+ <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ <mml:attr name="intent.findByName">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.modules.simple.dom.impl.SimpleObjects.findByName(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="returnType">java.util.List</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByName()</mml:attr>
+ <mml:attr name="originalText">Find By Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.BookmarkPolicyFacetForActionLayoutAnnotation">
+ <mml:attr name="bookmarkPolicy">AS_ROOT</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
+ <mml:attr name="promptStyle">DIALOG_SIDEBAR</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.util.List</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
+ <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByName(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation">
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">40</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mustsatisfyspec.MustSatisfySpecificationFacet" fqcn="org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation">
+ <mml:attr name="specifications">domainapp.modules.simple.dom.types.Name$NoExclamationMarks</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="findByNameExact">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+ <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ <mml:attr name="intent.findByNameExact">EXECUTE</mml:attr>
+ <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObjects.findByNameExact(java.lang.String)</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
+ <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByNameExact()</mml:attr>
+ <mml:attr name="originalText">Find By Name Exact</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
+ <mml:params>
+ <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
+ <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
+ <mml:attr name="derived">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByNameExact(java.lang.String)</mml:attr>
+ <mml:attr name="originalText">Name</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
+ <mml:attr name="label">NOT_SPECIFIED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">REQUIRED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
+ <mml:attr name="derived">true</mml:attr>
+ <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:type>java.lang.String</mml:type>
+ </mml:param>
+ </mml:params>
+ </mml:act>
+ <mml:act id="listAll">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet" fqcn="org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics">
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics</mml:attr>
+ <mml:attr name="value">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+ <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ <mml:attr name="intent.listAll">EXECUTE</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.modules.simple.dom.impl.SimpleObjects.listAll()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="returnType">java.util.List</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+ <mml:attr name="value">SAFE</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#listAll()</mml:attr>
+ <mml:attr name="originalText">List All</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.BookmarkPolicyFacetForActionLayoutAnnotation">
+ <mml:attr name="bookmarkPolicy">AS_ROOT</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>java.util.List</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ <mml:act id="ping">
+ <mml:facets>
+ <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="hiding">true</mml:attr>
+ <mml:attr name="validating">true</mml:attr>
+ <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+ <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
+ <mml:attr name="intent.ping">EXECUTE</mml:attr>
+ <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObjects.ping()</mml:attr>
+ <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
+ <mml:attr name="returnType">void</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
+ <mml:attr name="position">BELOW</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
+ <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
+ <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
+ <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#ping()</mml:attr>
+ <mml:attr name="originalText">Ping</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
+ <mml:attr name="value">hidden</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
+ <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+ </mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
+ <mml:attr name="promptStyle">INLINE</mml:attr>
+ </mml:facet>
+ </mml:facets>
+ <mml:returnType>void</mml:returnType>
+ <mml:params/>
+ </mml:act>
+ </mml:actions>
+</mml:domainClassDto>
diff --git a/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore b/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore
new file mode 100644
index 0000000..b81c795
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore
@@ -0,0 +1 @@
+*.xml
\ No newline at end of file
diff --git a/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java b/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
new file mode 100644
index 0000000..559c36c
--- /dev/null
+++ b/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
@@ -0,0 +1,102 @@
+/*
+ * 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 domainapp.application.integtests.smoke;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.transaction.annotation.Transactional;
+
+import org.apache.isis.applib.services.xactn.TransactionService;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import domainapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+
+@Transactional
+class Smoke_IntegTest extends ApplicationIntegTestAbstract {
+
+ @Inject SimpleObjects menu;
+ @Inject TransactionService transactionService;
+
+ @Test
+ void create() {
+
+ // when
+ List<SimpleObject> all = wrap(menu).listAll();
+
+ // then
+ assertThat(all).isEmpty();
+
+
+
+ // when
+ final SimpleObject fred = wrap(menu).create("Fred");
+ transactionService.flushTransaction();
+
+ // then
+ all = wrap(menu).listAll();
+ assertThat(all).hasSize(1);
+ assertThat(all).contains(fred);
+
+
+
+ // when
+ final SimpleObject bill = wrap(menu).create("Bill");
+ transactionService.flushTransaction();
+
+ // then
+ all = wrap(menu).listAll();
+ assertThat(all).hasSize(2);
+ assertThat(all).contains(fred, bill);
+
+
+
+ // when
+ wrap(fred).updateName("Freddy");
+ transactionService.flushTransaction();
+
+ // then
+ assertThat(wrap(fred).getName()).isEqualTo("Freddy");
+
+
+ // when
+ wrap(fred).setNotes("These are some notes");
+ transactionService.flushTransaction();
+
+ // then
+ assertThat(wrap(fred).getNotes()).isEqualTo("These are some notes");
+
+
+ // when
+ wrap(fred).delete();
+ transactionService.flushTransaction();
+
+
+ all = wrap(menu).listAll();
+ assertThat(all).hasSize(1);
+
+ }
+
+}
+
diff --git a/enhance-all.sh b/enhance-all.sh
new file mode 100644
index 0000000..63572d1
--- /dev/null
+++ b/enhance-all.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+mvn -pl module-simple datanucleus:enhance -o
\ No newline at end of file
diff --git a/module-simple/.gitignore b/module-simple/.gitignore
new file mode 100644
index 0000000..85cb54f
--- /dev/null
+++ b/module-simple/.gitignore
@@ -0,0 +1,8 @@
+.gradle
+translations.pot
+*.jar
+gradle/wrapper
+!gradle-wrapper.jar
+/.apt_generated/
+/.factorypath
+/.apt_generated_tests/
diff --git a/module-simple/log4j2-test.xml b/module-simple/log4j2-test.xml
new file mode 100644
index 0000000..56e8ad6
--- /dev/null
+++ b/module-simple/log4j2-test.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+ <Properties>
+ <Property name="PID">????</Property>
+ <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
+ <Property name="LOG_LEVEL_PATTERN">%5p</Property>
+ <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
+ <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
+ <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
+ </Properties>
+ <Appenders>
+ <Console name="Console" target="SYSTEM_OUT" follow="true">
+ <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
+ </Console>
+ </Appenders>
+ <Loggers>
+ <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
+ <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
+ <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
+ <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
+ <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
+ <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
+ <Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
+ <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
+
+ <logger name="org.apache.directory" level="warn"/>
+ <logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/>
+
+ <logger name="DataNucleus.Persistence" level="info"/>
+ <logger name="DataNucleus.Transaction" level="info"/>
+ <logger name="DataNucleus.Datastore.Schema" level="info"/>
+ <logger name="DataNucleus.Datastore.Native" level="info"/>
+
+ <Root level="info">
+ <AppenderRef ref="Console" />
+ </Root>
+ </Loggers>
+</Configuration>
+
+<!-- # DataNucleus Logging Categories -->
+<!-- DataNucleus.Persistence - All messages relating to the persistence process -->
+<!-- DataNucleus.Transaction - All messages relating to transactions -->
+<!-- DataNucleus.Connection - All messages relating to Connections. -->
+<!-- DataNucleus.Query - All messages relating to queries -->
+<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache -->
+<!-- DataNucleus.MetaData - All messages relating to MetaData -->
+<!-- DataNucleus.Datastore - All general datastore messages -->
+<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages -->
+<!-- DataNucleus.Datastore.Persist - All datastore persistence messages -->
+<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages -->
+<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore -->
+<!-- DataNucleus.General - All general operational messages -->
+<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes -->
+<!-- DataNucleus.ValueGeneration - All messages relating to value generation -->
+<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. -->
+<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool -->
+<!-- DataNucleus.JDO - All messages general to JDO -->
+<!-- DataNucleus.JPA - All messages general to JPA -->
+<!-- DataNucleus.JCA - All messages relating to Connector JCA. -->
+<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. -->
\ No newline at end of file
diff --git a/module-simple/logging-dn-enhance.properties b/module-simple/logging-dn-enhance.properties
new file mode 100644
index 0000000..ca165ac
--- /dev/null
+++ b/module-simple/logging-dn-enhance.properties
@@ -0,0 +1,41 @@
+# 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.
+
+# LOG4J Configuration
+# ===================
+
+# Basic logging goes to "datanucleus.log"
+log4j.appender.A1=org.apache.log4j.FileAppender
+log4j.appender.A1.File=datanucleus.log
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n
+#log4j.appender.A1.Threshold=INFO
+
+# Categories
+# Each category can be set to a "level", and to direct to an appender
+
+# Default to DEBUG level for all DataNucleus categories
+log4j.logger.DataNucleus = DEBUG, A1
+
+log4j.category.com.mchange.v2.c3p0=INFO, A1
+log4j.category.com.mchange.v2.resourcepool=INFO, A1
+log4j.category.org.logicalcobwebs.proxool=INFO,A1
+
+
+# Hbase libs logging
+log4j.category.org.apache.hadoop=INFO,A1
+log4j.category.org.apache.zookeeper=INFO,A1
\ No newline at end of file
diff --git a/module-simple/pom.xml b/module-simple/pom.xml
new file mode 100644
index 0000000..274583b
--- /dev/null
+++ b/module-simple/pom.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp</artifactId>
+ <version>2.0.0-M3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>simpleapp-module-simple</artifactId>
+ <name>Apache Isis App - SimpleApp Simple Module</name>
+
+ <properties>
+ <maven-checkstyle-plugin.configLocation>${project.parent.basedir}/_checks/checkstyle.xml</maven-checkstyle-plugin.configLocation>
+ <maven-pmd-plugin.ruleset>${project.parent.basedir}/_checks/pmd.xml</maven-pmd-plugin.ruleset>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/resources</directory>
+ </resource>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+
+ <dependencies>
+
+ <!-- ISIS API -->
+
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-applib</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-persistence-jdo-datanucleus5</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-fixtures</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-specsupport</artifactId>
+ </dependency>
+
+ <!-- TESTS -->
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-testing</artifactId>
+ <type>pom</type>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/module-simple/src/main/java/META-INF/persistence.xml b/module-simple/src/main/java/META-INF/persistence.xml
new file mode 100644
index 0000000..8824aa1
--- /dev/null
+++ b/module-simple/src/main/java/META-INF/persistence.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
+
+ <persistence-unit name="simple">
+ </persistence-unit>
+</persistence>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
new file mode 100644
index 0000000..a2c757e
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -0,0 +1,53 @@
+/*
+ * 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 domainapp.modules.simple;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
+import org.apache.isis.extensions.fixtures.legacy.teardown.TeardownFixtureAbstract2;
+import org.apache.isis.extensions.fixtures.modules.Module;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+
+@Configuration
+@ComponentScan
+public class SimpleModule implements Module {
+
+ @Override
+ public FixtureScript getTeardownFixture() {
+ return new TeardownFixtureAbstract2() {
+ @Override
+ protected void execute(ExecutionContext executionContext) {
+ deleteFrom(SimpleObject.class);
+ }
+ };
+ }
+
+ public static class PropertyDomainEvent<S,T>
+ extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {}
+
+ public static class CollectionDomainEvent<S,T>
+ extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {}
+
+ public static class ActionDomainEvent<S> extends
+ org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
+
+}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
new file mode 100644
index 0000000..58254b9
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
@@ -0,0 +1,116 @@
+/*
+ * 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 domainapp.modules.simple.dom.impl;
+
+import java.util.Comparator;
+
+import javax.inject.Inject;
+import javax.jdo.annotations.IdGeneratorStrategy;
+import javax.jdo.annotations.IdentityType;
+import javax.jdo.annotations.VersionStrategy;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.Auditing;
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.DomainObjectLayout;
+import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.services.inject.ServiceInjector;
+import org.apache.isis.applib.services.message.MessageService;
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.applib.services.title.TitleService;
+import org.apache.isis.schema.utils.jaxbadapters.PersistentEntityAdapter;
+
+import lombok.Getter;
+import lombok.Setter;
+import static org.apache.isis.applib.annotation.CommandReification.ENABLED;
+import static org.apache.isis.applib.annotation.SemanticsOf.IDEMPOTENT;
+import static org.apache.isis.applib.annotation.SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE;
+
+import domainapp.modules.simple.dom.types.Name;
+import domainapp.modules.simple.dom.types.Notes;
+import lombok.val;
+
+@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE, schema = "simple")
+@javax.jdo.annotations.DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY, column="id")
+@javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column="version")
+@javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
+@DomainObject(auditing = Auditing.ENABLED)
+@DomainObjectLayout() // causes UI events to be triggered
+@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
+public class SimpleObject implements Comparable<SimpleObject> {
+
+ private SimpleObject() {}
+
+ public String title() {
+ return "Object: " + getName();
+ }
+
+ @lombok.Getter @lombok.Setter //@lombok.NonNull XXX lombok+JDOQ issue
+ @Name private String name;
+
+ @lombok.Getter @lombok.Setter
+ @Notes private String notes;
+
+
+ @Action(semantics = IDEMPOTENT, command = ENABLED, publishing = Publishing.ENABLED, associateWith = "name")
+ public SimpleObject updateName(
+ @Name final String name) {
+ setName(name);
+ return this;
+ }
+ public String default0UpdateName() {
+ return getName();
+ }
+
+
+ @Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE)
+ public void delete() {
+ final String title = titleService.titleOf(this);
+ messageService.informUser(String.format("'%s' deleted", title));
+ repositoryService.removeAndFlush(this);
+ }
+
+ @Override
+ public String toString() {
+ return getName();
+ }
+
+ private final static Comparator<SimpleObject> comparator =
+ Comparator.comparing(SimpleObject::getName);
+
+ @Override
+ public int compareTo(final SimpleObject other) {
+ return comparator.compare(this, other);
+ }
+
+
+ @Inject RepositoryService repositoryService;
+ @Inject TitleService titleService;
+ @Inject MessageService messageService;
+
+ // FACTORY
+
+ public static SimpleObject ofName(String name) {
+ val simpleObject = new SimpleObject();
+ simpleObject.setName(name);
+ return simpleObject;
+ }
+
+}
\ No newline at end of file
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
new file mode 100644
index 0000000..7b5442c
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ 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.
+-->
+<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns:c="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <bs3:row>
+ <bs3:col span="12" unreferencedActions="true">
+ <c:domainObject bookmarking="AS_ROOT"/>
+ </bs3:col>
+ </bs3:row>
+ <bs3:row>
+ <bs3:col span="6">
+ <bs3:tabGroup>
+ <bs3:tab name="General">
+ <bs3:row>
+ <bs3:col span="12">
+ <c:fieldSet name="Name">
+ <c:action id="delete">
+ <c:describedAs>Deletes this object from the persistent datastore</c:describedAs>
+ </c:action>
+ <c:property id="name" namedEscaped="true">
+ <c:action id="updateName" promptStyle="INLINE"/>
+ </c:property>
+ <c:property id="notes" namedEscaped="true" multiLine="10" hidden="ALL_TABLES"/>
+ </c:fieldSet>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ <bs3:tab name="Metadata">
+ <bs3:row>
+ <bs3:col span="12">
+ <c:fieldSet name="Metadata"/>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ <bs3:tab name="Other">
+ <bs3:row>
+ <bs3:col span="12">
+ <c:fieldSet name="Other" unreferencedProperties="true"/>
+ </bs3:col>
+ </bs3:row>
+ </bs3:tab>
+ </bs3:tabGroup>
+ <bs3:tabGroup>
+ </bs3:tabGroup>
+ </bs3:col>
+ <bs3:col span="6">
+ <bs3:tabGroup unreferencedCollections="true">
+ </bs3:tabGroup>
+ </bs3:col>
+ </bs3:row>
+</bs3:grid>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png
new file mode 100644
index 0000000..0bd6f57
Binary files /dev/null and b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.png differ
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
new file mode 100644
index 0000000..6b3cbb9
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
@@ -0,0 +1,96 @@
+/*
+ * 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 domainapp.modules.simple.dom.impl;
+
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.jdo.JDOQLTypedQuery;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.BookmarkPolicy;
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.annotation.PromptStyle;
+import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.events.domain.ActionDomainEvent;
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.jdo.jdosupport.IsisJdoSupport_v3_2;
+
+import domainapp.modules.simple.dom.types.Name;
+
+@DomainService(
+ nature = NatureOfService.VIEW,
+ objectType = "simple.SimpleObjects"
+ )
+public class SimpleObjects {
+
+ public static class CreateDomainEvent extends ActionDomainEvent<SimpleObjects> {}
+
+ @Action(domainEvent = CreateDomainEvent.class)
+ @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
+ public SimpleObject create(
+ @Name final String name
+ ) {
+ return repositoryService.persist(SimpleObject.ofName(name));
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT, promptStyle = PromptStyle.DIALOG_SIDEBAR)
+ public List<SimpleObject> findByName(
+ @Name final String name
+ ) {
+ JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+ final QSimpleObject cand = QSimpleObject.candidate();
+ q = q.filter(
+ cand.name.indexOf(q.stringParameter("name")).ne(-1)
+ );
+ return q.setParameter("name", name)
+ .executeList();
+ }
+
+ public SimpleObject findByNameExact(final String name) {
+ JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+ final QSimpleObject cand = QSimpleObject.candidate();
+ q = q.filter(
+ cand.name.eq(q.stringParameter("name"))
+ );
+ return q.setParameter("name", name)
+ .executeUnique();
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
+ public List<SimpleObject> listAll() {
+ return repositoryService.allInstances(SimpleObject.class);
+ }
+
+ public void ping() {
+ JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+ final QSimpleObject candidate = QSimpleObject.candidate();
+ q.range(0,2);
+ q.orderBy(candidate.name.asc());
+ q.executeList();
+ }
+
+ @Inject RepositoryService repositoryService;
+ @Inject IsisJdoSupport_v3_2 isisJdoSupport;
+
+}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
new file mode 100644
index 0000000..9cd2b22
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
@@ -0,0 +1,54 @@
+/*
+ * 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 domainapp.modules.simple.dom.types;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.jdo.annotations.Column;
+
+import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.Parameter;
+import org.apache.isis.applib.annotation.ParameterLayout;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.services.i18n.TranslatableString;
+import org.apache.isis.applib.spec.AbstractSpecification2;
+
+@Column(length = Name.MAX_LEN, allowsNull = "false")
+@Property(editing = Editing.DISABLED, mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
+@Parameter(mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
+@ParameterLayout(named = "Name")
+@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Name {
+
+ int MAX_LEN = 40;
+
+ class NoExclamationMarks extends AbstractSpecification2<String> {
+
+ @Override
+ public TranslatableString satisfiesTranslatableSafely(final String name) {
+ return name != null && name.contains("!")
+ ? TranslatableString.tr("Exclamation mark is not allowed")
+ : null;
+ }
+ }
+}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
new file mode 100644
index 0000000..d5fb397
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package domainapp.modules.simple.dom.types;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.jdo.annotations.Column;
+
+import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.Parameter;
+import org.apache.isis.applib.annotation.ParameterLayout;
+import org.apache.isis.applib.annotation.Property;
+
+@Column(length = Notes.MAX_LEN, allowsNull = "true")
+@Property(editing = Editing.ENABLED, maxLength = Notes.MAX_LEN)
+@Parameter(maxLength = Notes.MAX_LEN)
+@ParameterLayout(named = "Notes")
+@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Notes {
+
+ int MAX_LEN = 4000;
+
+}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
new file mode 100644
index 0000000..7f1ee24
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
@@ -0,0 +1,50 @@
+/*
+ * 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 domainapp.modules.simple.fixture;
+
+import javax.inject.Inject;
+
+import org.apache.isis.extensions.fixtures.fixturescripts.BuilderScriptWithResult;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+@Accessors(chain = true)
+public class SimpleObjectBuilder extends BuilderScriptWithResult<SimpleObject> {
+
+ @Getter @Setter
+ private String name;
+
+ @Override
+ protected SimpleObject buildResult(final ExecutionContext ec) {
+
+ checkParam("name", ec, String.class);
+
+ return wrap(simpleObjects).create(name);
+ }
+
+ // -- DEPENDENCIES
+
+ @Inject SimpleObjects simpleObjects;
+
+}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
new file mode 100644
index 0000000..19c378b
--- /dev/null
+++ b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
@@ -0,0 +1,66 @@
+/*
+ * 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 domainapp.modules.simple.fixture;
+
+import org.apache.isis.applib.services.registry.ServiceRegistry;
+import org.apache.isis.extensions.fixtures.api.PersonaWithBuilderScript;
+import org.apache.isis.extensions.fixtures.api.PersonaWithFinder;
+import org.apache.isis.extensions.fixtures.legacy.setup.PersonaEnumPersistAll;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+import lombok.AllArgsConstructor;
+
+@AllArgsConstructor
+public enum SimpleObject_persona
+implements PersonaWithBuilderScript<SimpleObjectBuilder>, PersonaWithFinder<SimpleObject> {
+
+ FOO("Foo"),
+ BAR("Bar"),
+ BAZ("Baz"),
+ FRODO("Frodo"),
+ FROYO("Froyo"),
+ FIZZ("Fizz"),
+ BIP("Bip"),
+ BOP("Bop"),
+ BANG("Bang"),
+ BOO("Boo");
+
+ private final String name;
+
+ @Override
+ public SimpleObjectBuilder builder() {
+ return new SimpleObjectBuilder().setName(name);
+ }
+
+ @Override
+ public SimpleObject findUsing(final ServiceRegistry serviceRegistry) {
+ SimpleObjects simpleObjects = serviceRegistry.lookupService(SimpleObjects.class).orElse(null);
+ return simpleObjects.findByNameExact(name);
+ }
+
+ public static class PersistAll
+ extends PersonaEnumPersistAll<SimpleObject_persona, SimpleObject> {
+
+ public PersistAll() {
+ super(SimpleObject_persona.class);
+ }
+ }
+}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
new file mode 100644
index 0000000..8ad7b15
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
@@ -0,0 +1,50 @@
+/**
+ * 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 domainapp.modules.simple.dom.impl;
+
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class SimpleObject_Test {
+
+ SimpleObject simpleObject;
+
+ @BeforeEach
+ public void setUp() throws Exception {
+ simpleObject = SimpleObject.ofName("Foobar");
+ }
+
+ public static class Name extends SimpleObject_Test {
+
+ @Test
+ public void happyCase() throws Exception {
+ // given
+ assertThat(simpleObject.getName()).isEqualTo("Foobar");
+
+ // when
+ String name = "Foobar - updated";
+ simpleObject.setName(name);
+
+ // then
+ assertThat(simpleObject.getName()).isEqualTo(name);
+ }
+ }
+
+}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
new file mode 100644
index 0000000..732d0e9
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
@@ -0,0 +1,115 @@
+/**
+ * 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 domainapp.modules.simple.dom.impl;
+
+import java.util.List;
+
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.unittestsupport.jmocking.JMockActions;
+import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class SimpleObjects_Test {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
+ RepositoryService mockRepositoryService;
+
+ SimpleObjects simpleObjects;
+
+ @Before
+ public void setUp() {
+ simpleObjects = new SimpleObjects();
+ simpleObjects.repositoryService = mockRepositoryService;
+ }
+
+ public static class Create extends SimpleObjects_Test {
+
+ @Test
+ public void happyCase() {
+
+ final String someName = "Foobar";
+
+ // given
+ context.checking(new Expectations() {
+ {
+ oneOf(mockRepositoryService).persist(with(nameOf(someName)));
+ will(JMockActions.returnArgument(0));
+ }
+
+ });
+
+ // when
+ final SimpleObject obj = simpleObjects.create(someName);
+
+ // then
+ assertThat(obj).isNotNull();
+ assertThat(obj.getName()).isEqualTo(someName);
+ }
+
+ private static Matcher<SimpleObject> nameOf(final String name) {
+ return new TypeSafeMatcher<SimpleObject>() {
+ @Override
+ protected boolean matchesSafely(final SimpleObject item) {
+ return name.equals(item.getName());
+ }
+
+ @Override
+ public void describeTo(final Description description) {
+ description.appendText("has name of '" + name + "'");
+ }
+ };
+ }
+ }
+
+ public static class ListAll extends SimpleObjects_Test {
+
+ @Test
+ public void happyCase() {
+
+ // given
+ final List<SimpleObject> all = _Lists.newArrayList();
+
+ context.checking(new Expectations() {
+ {
+ oneOf(mockRepositoryService).allInstances(SimpleObject.class);
+ will(returnValue(all));
+ }
+ });
+
+ // when
+ final List<SimpleObject> list = simpleObjects.listAll();
+
+ // then
+ assertThat(list).isEqualTo(all);
+ }
+ }
+}
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
new file mode 100644
index 0000000..65334a1
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -0,0 +1,56 @@
+/*
+ * 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 domainapp.modules.simple.integtests;
+
+import domainapp.modules.simple.SimpleModule;
+
+import org.apache.isis.config.IsisPresets;
+import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
+import org.apache.isis.extensions.fixtures.IsisIntegrationTestAbstractWithFixtures;
+import org.apache.isis.jdo.IsisBootDataNucleus;
+import org.apache.isis.runtime.spring.IsisBoot;
+import org.apache.isis.security.bypass.IsisBootSecurityBypass;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
+
+
+@SpringBootTest(classes = SimpleModuleIntegTestAbstract.AppManifest.class)
+public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
+
+ @Configuration
+ @PropertySources({
+ @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
+ @PropertySource(IsisPresets.Log4j2Test),
+ @PropertySource(IsisPresets.DataNucleusAutoCreate),
+ })
+ @Import({
+ IsisBoot.class,
+ IsisBootSecurityBypass.class,
+ IsisBootDataNucleus.class,
+ IsisExtFixturesModule.class,
+ SimpleModule.class
+ })
+ public static class AppManifest {
+ }
+
+}
+
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
new file mode 100644
index 0000000..7901c41
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
@@ -0,0 +1,153 @@
+/*
+ * 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 domainapp.modules.simple.integtests.tests;
+
+import java.sql.Timestamp;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.transaction.annotation.Transactional;
+
+import org.apache.isis.applib.services.title.TitleService;
+import org.apache.isis.applib.services.wrapper.DisabledException;
+import org.apache.isis.applib.services.wrapper.InvalidException;
+import org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong;
+import org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.fixture.SimpleObject_persona;
+import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
+
+@Transactional
+public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
+
+ SimpleObject simpleObject;
+
+ @BeforeEach
+ public void setUp() {
+ // given
+ simpleObject = fixtureScripts.runPersona(SimpleObject_persona.FOO);
+ }
+
+ public static class Name extends SimpleObject_IntegTest {
+
+ @Test
+ public void accessible() {
+ // when
+ final String name = wrap(simpleObject).getName();
+
+ // then
+ assertThat(name).isEqualTo(simpleObject.getName());
+ }
+
+ @Test
+ public void not_editable() {
+
+ // expect
+ assertThrows(DisabledException.class, ()->{
+
+ // when
+ wrap(simpleObject).setName("new name");
+
+ });
+ }
+
+ }
+
+ public static class UpdateName extends SimpleObject_IntegTest {
+
+ @Test
+ public void can_be_updated_directly() {
+
+ // when
+ wrap(simpleObject).updateName("new name");
+ transactionService.flushTransaction();
+
+ // then
+ assertThat(wrap(simpleObject).getName()).isEqualTo("new name");
+ }
+
+ @Test
+ public void failsValidation() {
+
+ // expect
+ InvalidException cause = assertThrows(InvalidException.class, ()->{
+
+ // when
+ wrap(simpleObject).updateName("new name!");
+
+ });
+
+ // also expect
+ assertThat(cause.getMessage(), containsString("Exclamation mark is not allowed."));
+
+ }
+ }
+
+
+ public static class Title extends SimpleObject_IntegTest {
+
+ @Inject
+ TitleService titleService;
+
+ @Test
+ public void interpolatesName() {
+
+ // given
+ final String name = wrap(simpleObject).getName();
+
+ // when
+ final String title = titleService.titleOf(simpleObject);
+
+ // then
+ assertThat(title).isEqualTo("Object: " + name);
+ }
+ }
+
+ public static class DataNucleusId extends SimpleObject_IntegTest {
+
+ @Test
+ public void should_be_populated() {
+ // when
+ final Long id = mixin(Persistable_datanucleusIdLong.class, simpleObject).prop();
+
+ // then
+ assertThat(id).isGreaterThanOrEqualTo(0);
+ }
+ }
+
+ public static class DataNucleusVersionTimestamp extends SimpleObject_IntegTest {
+
+ @Test
+ public void should_be_populated() {
+ // when
+ final Timestamp timestamp = mixin(Persistable_datanucleusVersionTimestamp.class, simpleObject).prop();
+ // then
+ assertThat(timestamp).isNotNull();
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
new file mode 100644
index 0000000..1769414
--- /dev/null
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
@@ -0,0 +1,111 @@
+/*
+ * 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 domainapp.modules.simple.integtests.tests;
+
+import java.sql.SQLIntegrityConstraintViolationException;
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.jdo.JDODataStoreException;
+
+import org.hamcrest.MatcherAssert;
+import org.junit.jupiter.api.Test;
+import org.springframework.transaction.annotation.Transactional;
+
+import org.apache.isis.integtestsupport.ThrowableMatchers;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import domainapp.modules.simple.dom.impl.SimpleObject;
+import domainapp.modules.simple.dom.impl.SimpleObjects;
+import domainapp.modules.simple.fixture.SimpleObject_persona;
+import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
+
+@Transactional
+public class SimpleObjects_IntegTest extends SimpleModuleIntegTestAbstract {
+
+ @Inject
+ SimpleObjects menu;
+
+ public static class ListAll extends SimpleObjects_IntegTest {
+
+ @Test
+ public void happyCase() {
+
+ // given
+ fixtureScripts.run(new SimpleObject_persona.PersistAll());
+ transactionService.flushTransaction();
+
+ // when
+ final List<SimpleObject> all = wrap(menu).listAll();
+
+ // then
+ assertThat(all).hasSize(SimpleObject_persona.values().length);
+ }
+
+ @Test
+ public void whenNone() {
+
+ // when
+ final List<SimpleObject> all = wrap(menu).listAll();
+
+ // then
+ assertThat(all).hasSize(0);
+ }
+ }
+
+ public static class Create extends SimpleObjects_IntegTest {
+
+ @Test
+ public void happyCase() {
+
+ wrap(menu).create("Faz");
+
+ // then
+ final List<SimpleObject> all = wrap(menu).listAll();
+ assertThat(all).hasSize(1);
+ }
+
+ @Test
+ public void whenAlreadyExists() {
+
+ // given
+ fixtureScripts.runPersona(SimpleObject_persona.FIZZ);
+ transactionService.flushTransaction();
+
+ // expect
+ Throwable cause = assertThrows(Throwable.class, ()->{
+
+ // when
+ wrap(menu).create("Fizz");
+ transactionService.flushTransaction();
+
+ });
+
+ // also expect
+ MatcherAssert.assertThat(cause,
+ ThrowableMatchers.causedBy(JDODataStoreException.class));
+
+ }
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..1f56c56
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.app</groupId>
+ <artifactId>isis-app-starter-parent</artifactId>
+ <version>2.0.0-M3-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp</artifactId>
+
+ <name>Apache Isis App - SimpleApp Parent</name>
+
+ <packaging>pom</packaging>
+
+ <dependencyManagement>
+ <dependencies>
+
+ <!-- this project's own modules -->
+ <dependency>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp-module-simple</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp-module-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp-application</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp-webapp</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <modules>
+ <module>module-simple</module>
+ <module>application</module>
+ <module>webapp</module>
+ </modules>
+
+</project>
diff --git a/webapp/lib/.gitignore b/webapp/lib/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/webapp/pom.xml b/webapp/pom.xml
new file mode 100644
index 0000000..a3758f8
--- /dev/null
+++ b/webapp/pom.xml
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.examples.apps</groupId>
+ <artifactId>simpleapp</artifactId>
+ <version>2.0.0-M3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>simpleapp-webapp</artifactId>
+ <name>Apache Isis App - SimpleApp Webapp</name>
+
+ <description>This assemblies and runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
+
+ <packaging>jar</packaging>
+
+ <properties>
+ <maven-war-plugin.warName>${project.parent.artifactId}</maven-war-plugin.warName>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/resources</directory>
+ </resource>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+
+ <dependencies>
+
+ <!-- this app -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>simpleapp-application</artifactId>
+ </dependency>
+
+ <!-- isis -->
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-webapp</artifactId>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ </dependency>
+
+ <!-- test -->
+ <dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-testing</artifactId>
+ <type>pom</type>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <profiles>
+
+ <profile>
+ <id>actuator</id>
+ <activation>
+ <property>
+ <name>!skip.actuator</name>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-actuator-autoconfigure</artifactId>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <!-- running: mvn spring-boot:run -->
+ <profile>
+ <id>package-as-jar</id>
+ <activation>
+ <property>
+ <name>!skip.package-as-jar</name>
+ </property>
+ </activation>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <version>${spring-boot.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>jdbc-logging</id>
+ <activation>
+ <property>
+ <name>jdbc-logging</name>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.lazyluke</groupId>
+ <artifactId>log4jdbc-remix</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <profile>
+ <id>lockdown</id>
+ <activation>
+ <property>
+ <name>lockdown</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>list</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>list</goal>
+ </goals>
+ <configuration>
+ <outputFile>${project.build.directory}/test-classes/domain/webapp/lockdown/LockDownMavenDeps_Test.list.actual.txt</outputFile>
+ </configuration>
+ </execution>
+ <execution>
+ <id>tree</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>tree</goal>
+ </goals>
+ <configuration>
+ <outputFile>${project.build.directory}/test-classes/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.actual.txt</outputFile>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>docker</id>
+ <activation>
+ <property>
+ <name>docker</name>
+ </property>
+ </activation>
+ <properties>
+ <packaging.type>jar</packaging.type>
+ <package-as-war>false</package-as-war>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.google.cloud.tools</groupId>
+ <artifactId>jib-maven-plugin</artifactId>
+ <configuration>
+ <from>
+ <image>openjdk:13-alpine</image>
+ </from>
+ <container>
+ <jvmFlags>
+ <jvmFlag>-Xmx512m</jvmFlag>
+ </jvmFlags>
+ <mainClass>domainapp.application.HelloWorldApp</mainClass>
+ <ports>
+ <port>8080</port>
+ </ports>
+ </container>
+ <to>
+ <image>docker.io/apacheisis/simpleapp:latest</image>
+ <auth>
+ <username>${env.DOCKER_REGISTRY_USERNAME}</username>
+ <password>${env.DOCKER_REGISTRY_PASSWORD}</password>
+ </auth>
+ </to>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/webapp/src/main/java/domainapp/webapp/SimpleApp.java b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
new file mode 100644
index 0000000..e4396e0
--- /dev/null
+++ b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
@@ -0,0 +1,75 @@
+/*
+ * 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 domainapp.webapp;
+
+import domainapp.application.ApplicationModule;
+import domainapp.application.fixture.scenarios.DomainAppDemo;
+
+import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
+import org.apache.isis.jdo.IsisBootDataNucleus;
+import org.apache.isis.runtime.spring.IsisBoot;
+import org.apache.isis.security.shiro.IsisBootSecurityShiro;
+import org.apache.isis.viewer.restfulobjects.IsisBootViewerRestfulObjects;
+import org.apache.isis.viewer.wicket.viewer.IsisBootViewerWicket;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import org.apache.isis.config.IsisPresets;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
+
+@SpringBootApplication
+@Import({
+ SimpleApp.AppManifest.class,
+})
+public class SimpleApp extends SpringBootServletInitializer {
+
+ @Configuration
+ @PropertySources({
+ @PropertySource(IsisPresets.NoTranslations),
+ @PropertySource(IsisPresets.DataNucleusAutoCreate),
+ })
+ @Import({
+ IsisBoot.class,
+ IsisBootSecurityShiro.class,
+ IsisBootDataNucleus.class,
+ IsisBootViewerRestfulObjects.class,
+ IsisBootViewerWicket.class,
+
+ IsisExtFixturesModule.class,
+
+ ApplicationModule.class,
+ DomainAppDemo.class // register this fixture
+ })
+ public static class AppManifest {
+ }
+
+ /**
+ * @implNote this is to support the <em>Spring Boot Maven Plugin</em>, which auto-detects an
+ * entry point by searching for classes having a {@code main(...)}
+ */
+ public static void main(String[] args) {
+ IsisPresets.prototyping();
+ SpringApplication.run(new Class[] { SimpleApp.class }, args);
+ }
+
+}
diff --git a/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml b/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml
new file mode 100644
index 0000000..d286f2d
--- /dev/null
+++ b/webapp/src/main/java/domainapp/webapp/layout/menubars.layout.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ 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.
+-->
+<mb3:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menubars/bootstrap3 http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:mb3="h [...]
+ <mb3:primary>
+ <mb3:menu>
+ <mb3:named>Simple Objects</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="simple.SimpleObjects" id="create">
+ <cpt:named>Create</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="simple.SimpleObjects" id="findByName">
+ <cpt:named>Find By Name</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="simple.SimpleObjects" id="listAll">
+ <cpt:named>List All</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ <mb3:menu unreferencedActions="true">
+ <mb3:named>Other</mb3:named>
+ </mb3:menu>
+ </mb3:primary>
+ <mb3:secondary>
+ <mb3:menu>
+ <mb3:named>Prototyping</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
+ <cpt:named>Run Fixture Script</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
+ <cpt:named>Run Fixture Script</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
+ <cpt:named>Recreate Objects And Return First</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
+ <cpt:named>Download Object Layouts (ZIP)</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
+ <cpt:named>Download Menu Bars Layout (XML)</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModelXml">
+ <cpt:named>Download Meta Model (XML)</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModelCsv">
+ <cpt:named>Download Meta Model (CSV)</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
+ <cpt:named>Open Swagger Ui</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
+ <cpt:named>Open Rest Api</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
+ <cpt:named>Download Swagger Schema Definition</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
+ <cpt:named>Download Translations</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
+ <cpt:named>Clear translation cache</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
+ <cpt:named>Switch To Reading Translations</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
+ <cpt:named>Switch To Writing Translations</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
+ <cpt:named>HSQL DB Manager</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.H2ManagerMenu" id="openH2Console">
+ <cpt:named>H2 Console</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:secondary>
+ <mb3:tertiary>
+ <mb3:menu>
+ <mb3:named>Configuration Service Menu</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.ConfigurationMenu" id="configuration">
+ <cpt:named>Configuration</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:tertiary>
+</mb3:menuBars>
diff --git a/webapp/src/main/resources/application.yml b/webapp/src/main/resources/application.yml
new file mode 100644
index 0000000..cb8143a
--- /dev/null
+++ b/webapp/src/main/resources/application.yml
@@ -0,0 +1,145 @@
+#
+# Recommend use for static configuration that does not change between environments.
+#
+# See also config/application.properties
+#
+isis:
+ reflector:
+ validator:
+ allowDeprecated: false
+ noParamsOnly: true
+ explicitObjectType: true
+ serviceActionsOnly: true
+ mixinsOnly: true
+
+ facet:
+ cssClassFa:
+ patterns:
+ new.*:fa-plus,\
+ add.*:fa-plus-square,\
+ create.*:fa-plus,\
+ update.*:fa-edit,\
+ delete.*:fa-trash,\
+ save.*:fa-floppy-o,\
+ change.*:fa-edit,\
+ edit.*:fa-pencil-square-o,\
+ maintain.*:fa-edit,\
+ remove.*:fa-minus-square,\
+ copy.*:fa-copy,\
+ move.*:fa-exchange,\
+ first.*:fa-star,\
+ find.*:fa-search,\
+ lookup.*:fa-search,\
+ search.*:fa-search,\
+ view.*:fa-search,\
+ clear.*:fa-remove,\
+ previous.*:fa-step-backward,\
+ next.*:fa-step-forward,\
+ list.*:fa-list, \
+ all.*:fa-list, \
+ download.*:fa-download, \
+ upload.*:fa-upload, \
+ export.*:fa-download,\
+ switch.*:fa-exchange,\
+ import.*:fa-upload,\
+ execute.*:fa-bolt, \
+ run.*:fa-bolt, \
+ calculate.*:fa-calculator, \
+ verify.*:fa-check-circle, \
+ refresh.*:fa-refresh, \
+ install.*:fa-wrench,\
+ stop.*:fa-stop,\
+ terminate.*:fa-stop,\
+ cancel.*:fa-stop,\
+ discard.*:fa-trash-o,\
+ pause.*:fa-pause,\
+ suspend.*:fa-pause,\
+ resume.*:fa-play,\
+ renew.*:fa-repeat,\
+ reset.*:fa-repeat,\
+ categorise.*:fa-folder-open-o,\
+ assign.*:fa-hand-o-right,\
+ approve.*:fa-thumbs-o-up,\
+ decline.*:fa-thumbs-o-down
+
+ cssClass:
+ patterns:
+ delete.*:btn-danger,\
+ discard.*:btn-warning,\
+ remove.*:btn-warning
+
+ explicitAnnotations:
+ action: true
+
+ objects:
+ editing: false
+
+ services:
+ audit:
+ objects: all
+ command:
+ actions: ignore_safe
+ properties: all
+ publish:
+ objects: all
+ actions: all
+ properties: all
+
+ injector:
+ setPrefix: false
+
+ value:
+ format:
+ date: dd-MM-yyyy
+
+ viewer:
+ wicket:
+ application:
+ menubarsLayoutXml: domainapp/webapp/layout/menubars.layout.xml
+ brandLogoHeader: /images/apache-isis/logo-48x48.png
+ faviconUrl: /images/favicon.png
+ name: Simple App
+ css: css/application.css
+ js: scripts/application.js
+ about: Simple App
+ welcome:
+ file: welcome.html
+
+ credit[0]:
+ image: /images/apache-isis/logo-48x48.png
+ name: Apache Isis
+ url: http://isis.apache.org
+
+ themes:
+ initial: Flatly
+ showChooser: true
+ enabled: bootstrap-theme, Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Lumen, Paper, Readable, Sandstone, Simplex, Slate, Spacelab, Superhero, United, Yeti
+
+ maxTitleLengthInStandaloneTables: 0
+ maxTitleLengthInParentedTables: 0
+
+ developmentUtilities:
+ enable: true
+
+ persistor:
+ datanucleus:
+ impl:
+ datanucleus:
+ schema:
+ validateTables: true
+ validateConstraints: true
+
+ persistenceByReachabilityAtCommit: false
+ identifier:
+ case: MixedCase
+
+ cache:
+ level2:
+ type: none
+ mode: ENABLE_SELECTIVE
+
+ standaloneCollection:
+ bulkLoad: false
+spring:
+ banner:
+ location: banner.txt
diff --git a/webapp/src/main/resources/banner.txt b/webapp/src/main/resources/banner.txt
new file mode 100644
index 0000000..1348a76
--- /dev/null
+++ b/webapp/src/main/resources/banner.txt
@@ -0,0 +1,6 @@
+ _ _ ___ _
+ / \ _ __ __ _ ___| |__ ___ |_ _|___(_)___
+ / _ \ | '_ \ / _` |/ __| '_ \ / _ \ | |/ __| / __|
+ / ___ \| |_) | (_| | (__| | | | __/ | |\__ \ \__ \
+ /_/ \_\ .__/ \__,_|\___|_| |_|\___| |___|___/_|___/
+ |_|
\ No newline at end of file
diff --git a/webapp/src/main/resources/config/application.properties b/webapp/src/main/resources/config/application.properties
new file mode 100644
index 0000000..13ec292
--- /dev/null
+++ b/webapp/src/main/resources/config/application.properties
@@ -0,0 +1,12 @@
+#
+# Recommend use for configuration that changes between environments.
+#
+# To override externally, see Spring Boot docs
+# https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
+#
+# See also /application.yml
+#
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL = jdbc:h2:mem:test
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName = org.h2.Driver
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword =
\ No newline at end of file
diff --git a/webapp/src/main/resources/shiro.ini b/webapp/src/main/resources/shiro.ini
new file mode 100644
index 0000000..019f356
--- /dev/null
+++ b/webapp/src/main/resources/shiro.ini
@@ -0,0 +1,93 @@
+#
+# 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.
+#
+
+[main]
+
+contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+contextFactory.url = ldap://localhost:10389
+contextFactory.authenticationMechanism = CRAM-MD5
+contextFactory.systemAuthenticationMechanism = simple
+contextFactory.systemUsername = uid=admin,ou=system
+contextFactory.systemPassword = secret
+
+ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm
+ldapRealm.contextFactory = $contextFactory
+
+ldapRealm.searchBase = ou=groups,o=mojo
+ldapRealm.groupObjectClass = groupOfUniqueNames
+ldapRealm.uniqueMemberAttribute = uniqueMember
+ldapRealm.uniqueMemberAttributeValueTemplate = uid={0}
+
+# optional mapping from physical groups to logical application roles
+#ldapRealm.rolesByGroup = \
+# LDN_USERS: user_role,\
+# NYK_USERS: user_role,\
+# HKG_USERS: user_role,\
+# GLOBAL_ADMIN: admin_role,\
+# DEMOS: self-install_role
+
+ldapRealm.permissionsByRole=\
+ user_role = *:SimpleObjectMenu:*:*,\
+ *:SimpleObject:*:*; \
+ self-install_role = *:FixtureScriptsDefault:*:* ; \
+ admin_role = *
+
+# to use ldap...
+# (see docs for details of how to setup users/groups in Apache Directory Studio).
+#securityManager.realms = $ldapRealm
+
+# to use .ini file
+securityManager.realms = $iniRealm
+
+
+
+# -----------------------------------------------------------------------------
+# Users and their assigned roles
+#
+# Each line conforms to the format defined in the
+# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc
+# -----------------------------------------------------------------------------
+
+[users]
+# user = password, role1, role2, role3, ...
+
+
+sven = pass, admin_role
+dick = pass, user_role, self-install_role
+bob = pass, user_role, self-install_role
+joe = pass, user_role, self-install_role
+guest = guest, user_role
+
+
+
+# -----------------------------------------------------------------------------
+# Roles with assigned permissions
+#
+# Each line conforms to the format defined in the
+# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc
+# -----------------------------------------------------------------------------
+
+[roles]
+# role = perm1, perm2, perm3, ...
+# perm in format: packageName:className:memberName:r,w
+
+user_role = *:SimpleObjectMenu:*:*,\
+ *:SimpleObject:*:*
+self-install_role = *:FixtureScriptsDefault:*:*
+admin_role = *
diff --git a/webapp/src/main/resources/static/css/application.css b/webapp/src/main/resources/static/css/application.css
new file mode 100644
index 0000000..9f1612a
--- /dev/null
+++ b/webapp/src/main/resources/static/css/application.css
@@ -0,0 +1,19 @@
+/*
+ * 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.
+ */
+
diff --git a/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png b/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png
new file mode 100644
index 0000000..08e012c
Binary files /dev/null and b/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png differ
diff --git a/webapp/src/main/resources/static/images/apache-isis/logo.png b/webapp/src/main/resources/static/images/apache-isis/logo.png
new file mode 100644
index 0000000..5284fe7
Binary files /dev/null and b/webapp/src/main/resources/static/images/apache-isis/logo.png differ
diff --git a/webapp/src/main/resources/static/images/favicon.png b/webapp/src/main/resources/static/images/favicon.png
new file mode 100644
index 0000000..2586589
Binary files /dev/null and b/webapp/src/main/resources/static/images/favicon.png differ
diff --git a/webapp/src/main/resources/static/index.html b/webapp/src/main/resources/static/index.html
new file mode 100644
index 0000000..e25c772
--- /dev/null
+++ b/webapp/src/main/resources/static/index.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+ 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.
+-->
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>Apache Isis™ SimpleApp</title>
+
+ <style type="text/css">
+body {
+ background-color: #1A467B;
+ font-family: Verdana, Helvetica, Arial, serif;
+ font-size: 90%;
+}
+
+li {
+ margin-top: 6px;
+ margin-bottom: 6px;
+}
+table {
+ border-collapse: collapse;
+}
+table, th, td {
+ border: 1px;
+ border-style: solid;
+ border-color: lightgray;
+}
+th, td {
+ padding: 10px;
+}
+#wrapper {
+ background-color: #ffffff;
+ width: 900px;
+ margin: 8px auto;
+ padding: 12px;
+}
+ </style>
+ </head>
+ <body>
+ <div id="wrapper">
+ <img alt="Isis Logo" src="images/apache-isis/logo.png" />
+
+ <p>
+ This app has been generated using Apache Isis'
+ <a href="http://isis.apache.org/arch/simlpe%61pp/about.html" target="_blank">SimpleApp</a> archetype,
+ to create a purposefully minimal application that nevertheless includes fixture data, integration tests and BDD specs.
+ <br/>
+ <br/>
+ The application's business logic resides in a single (maven) module, <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/module-simple" target="_blank">module-simple</a>, that in turn contains a single domain entity, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java" target="_blank">SimpleObject</a>. The module has its own <a [...]
+ <br/>
+ <br/>
+ The app also defines the <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/application" target="_blank">application</a> (maven) module; this holds <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/application/src/main/java/domainapp/application/fixture" target="_blank">fixtures</a>, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/application/src/test/java/domainapp/ap [...]
+ <br/>
+ <br/>
+ The app's <a href="https://github.com/apache/isis/tree/master/example/application/simple%61pp/webapp" target="_blank">webapp</a> (maven) module is used to assemble the application into a WAR file.
+ </p>
+
+ <p>To access the app:</p>
+ <ul>
+ <li>
+ <p>
+ <b><a href="wicket/">wicket/</a></b>
+ </p>
+ <p>
+ provides access to a generic UI for end-users,
+ Apache Isis' <a href="http://isis.apache.org/guides/ugvw/ugvw.html" target="_blank">Wicket Viewer</a>.
+ As its name suggests, this viewer is built on top of <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a>™.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b>
+ <a href="swagger-ui/index.template.html">swagger-ui/</a>
+ </b>
+ </p>
+ <p>
+ provides access to a Swagger UI which uses a subset of the framework's automatically
+ generated <a href="restful/">RESTful API</a> (provided by the
+ <a href="http://isis.apache.org/guides/ugvro/ugvro.html" target="_blank">Restful Objects viewer</a>). There are
+ three versions of the Swagger spec files (that drive the UI):
+ <a href="restful/swagger/public">public</a> (for use by "third-party" apps),
+ <a href="restful/swagger/private">private</a> (for use by internal apps), and
+ <a href="restful/swagger/prototyping">prototyping</a> (an extended version of the private
+ API). The Swagger spec files are themselves dynamically generated and can be used to generate
+ client-side stubs.
+ </p>
+ <p>The RESTful API can return both simple representations and also richer hypermedia representations
+ that are conformant with the <a href="http://restfulobjects.org" target="_blank">Restful Objects</a> spec.
+ The HTTP <code>Accept</code> header is used to select which representation should be generated.
+ </p>
+ </li>
+ </ul>
+
+ <p>
+ The default user/password is <b><i>sven/pass</i></b> (as configured in the
+ <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/webapp/src/main/webapp/WEB-INF/shiro.ini" target="_blank">shiro.ini</a> file).
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/webapp/src/main/resources/static/scripts/application.js b/webapp/src/main/resources/static/scripts/application.js
new file mode 100644
index 0000000..d8cf6fe
--- /dev/null
+++ b/webapp/src/main/resources/static/scripts/application.js
@@ -0,0 +1,3 @@
+$(document).ready(function() {
+ /// here...
+});
\ No newline at end of file
diff --git a/webapp/src/main/webapp/WEB-INF/translations-en.po b/webapp/src/main/webapp/WEB-INF/translations-en.po
new file mode 100644
index 0000000..4e59ee2
--- /dev/null
+++ b/webapp/src/main/webapp/WEB-INF/translations-en.po
@@ -0,0 +1,674 @@
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2016-06-16 15:34:40+\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
+msgid ".csv file name"
+msgstr ""
+
+
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
+msgid ".jdo file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
+msgid "Action"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Are you sure?"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "AutoLabel.CSS.required"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Cancel"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
+#: domainapp.dom.simple.SimpleObject#clearHints()
+msgid "Clear Hints"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
+msgid "Collection"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
+msgstr "Table"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsUnresolvedPanel.Hide"
+msgstr "Hide"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
+msgid "Complete"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
+msgid "Configuration"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Confirm"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#create()
+msgid "Create"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
+msgid "Current"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#delete()
+msgid "Delete"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
+msgid "Download Jdo Metadata"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
+#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
+msgid "Download Layout Xml"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
+msgid "Download Layouts (XML)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
+msgid "Download Meta Model (CSV)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
+msgid "Download Swagger Spec"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
+#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+msgid "File name"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Filename"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#findByName()
+msgid "Find By Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "General"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
+msgid "Id"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
+msgid "Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
+msgid "Idempotent Are You Sure"
+msgstr "Are you sure?"
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
+msgid "Ignore"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
+msgid "Include"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
+msgid "Json"
+msgstr "JSON"
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#key
+msgid "Key"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
+#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
+msgid "Metadata"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
+msgid "Minimal"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: domainapp.dom.simple.SimpleObject#name
+#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr ""
+
+
+#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
+msgid "New Application Feature"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
+msgid "Non Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
+msgid "Non Idempotent Are You Sure"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
+msgid "Normalized"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
+msgid "Number"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Parameters"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
+msgid "Private"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
+msgid "Private With Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
+msgid "Property"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
+msgid "Public"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
+#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
+msgid "Rebuild Metamodel"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
+msgid "Recreate Objects And Return First"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#object
+msgid "Result"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#className
+msgid "Result class"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#key
+msgid "Result key"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
+msgid "Safe"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
+msgid "Safe And Request Cacheable"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#title()
+msgid "Simple Objects"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#value
+msgid "Value"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
+msgid "Version"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
+msgid "Yaml"
+msgstr "YAML"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "aboutLabel"
+msgstr "About"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "cancelLabel"
+msgstr "Cancel"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "datanucleusIdLong"
+msgstr "Id"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortPlural"
+msgstr "Please enter {number} more characters"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortSingular"
+msgstr "Please enter 1 more character"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "loadMore"
+msgstr "Load more"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "loginHeader"
+msgstr "Login"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "logoutLabel"
+msgstr "Logout"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "name"
+msgstr ""
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "noMatches"
+msgstr "No matches"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel
+msgid "objects"
+msgstr "Objects"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "okLabel"
+msgstr "OK"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "rememberMeLabel"
+msgstr "Remember Me"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "resetButtonLabel"
+msgstr "Reset"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "searching"
+msgstr "Searching..."
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigPlural"
+msgstr "You can only select {limit} items"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigSingular"
+msgstr "You can only select 1 item"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signInButtonLabel"
+msgstr "Sign in"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#title()
+msgid "{num} objects"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "confirmPasswordLabel"
+msgstr "Confirm password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "datatable.no-records-found"
+msgstr "No Records Found"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "editLabel"
+msgstr "Edit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailIsNotAvailable"
+msgstr "The given email is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailPlaceholder"
+msgstr "Enter your email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailPlaceholder"
+msgstr "Enter an email for the new account"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailLabel"
+msgstr "Email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailSentMessage"
+msgstr "An email has been sent to '${email}' for verification."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "forgotPasswordLinkLabel"
+msgstr "Forgot your password?"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeSuccessful"
+msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeUnsuccessful"
+msgstr "There was a problem while updating the password. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordPlaceholder"
+msgstr "Enter password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetExpiredOrInvalidToken"
+msgstr "You are trying to reset the password for an expired or invalid token"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetHeader"
+msgstr "Forgot password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetSubmitLabel"
+msgstr "Submit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "registerButtonLabel"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "registerHeader"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noSuchUserByEmail"
+msgstr "There is no account with this email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noUserForAnEmailValidToken"
+msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signUpButtonLabel"
+msgstr "Don't have an account? Sign up now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "signUpButtonLabel"
+msgstr "Verify email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+msgid "signUpHeader"
+msgstr "Sign Up"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameIsNotAvailable"
+msgstr "The provided username is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernamePlaceholder"
+msgstr "Username"
+
diff --git a/webapp/src/main/webapp/WEB-INF/translations-es.po b/webapp/src/main/webapp/WEB-INF/translations-es.po
new file mode 100644
index 0000000..d519350
--- /dev/null
+++ b/webapp/src/main/webapp/WEB-INF/translations-es.po
@@ -0,0 +1,673 @@
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2016-06-16 15:34:40+\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
+msgid ".csv file name"
+msgstr ""
+
+
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
+msgid ".jdo file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr "fichero .pot"
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
+msgid "Action"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Are you sure?"
+msgstr "¿Estas seguro?"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "AutoLabel.CSS.required"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Cancel"
+msgstr "Cancelar"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
+#: domainapp.dom.simple.SimpleObject#clearHints()
+msgid "Clear Hints"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr "Limpiar la caché de traducciones"
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
+msgid "Collection"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
+msgstr "Table"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsUnresolvedPanel.Hide"
+msgstr "Hide"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
+msgid "Complete"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
+msgid "Configuration"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Confirm"
+msgstr "Confirmar"
+
+
+#: domainapp.dom.simple.SimpleObjects#create()
+msgid "Create"
+msgstr "Crear"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
+msgid "Current"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#delete()
+msgid "Delete"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
+msgid "Download Jdo Metadata"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
+#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
+msgid "Download Layout Xml"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
+msgid "Download Layouts (XML)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
+msgid "Download Meta Model (CSV)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
+msgid "Download Swagger Spec"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr "Descargar traducciones"
+
+
+#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
+#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+msgid "File name"
+msgstr ""
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr "No se admite el signo de exclamación"
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Filename"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#findByName()
+msgid "Find By Name"
+msgstr "Buscar por Nombre"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr "Script de Instalación"
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr "Nombre común"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "General"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr "Página de Inicio"
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
+msgid "Id"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
+msgid "Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
+msgid "Idempotent Are You Sure"
+msgstr "¿Estas seguro?"
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
+msgid "Ignore"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
+msgid "Include"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
+msgid "Json"
+msgstr "JSON"
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#key
+msgid "Key"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr "Listar Todos"
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr "Buscar"
+
+
+#: domainapp.dom.simple.SimpleObject
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
+#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
+msgid "Metadata"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
+msgid "Minimal"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: domainapp.dom.simple.SimpleObject#name
+#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr "Nombre"
+
+
+#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
+msgid "New Application Feature"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
+msgid "Non Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
+msgid "Non Idempotent Are You Sure"
+msgstr "¿Estas seguro?"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
+msgid "Normalized"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
+msgid "Number"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr "Objeto"
+
+
+#: domainapp.dom.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr "Objeto: {name}"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr "Objetos"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Parameters"
+msgstr "Parámetros"
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
+msgid "Private"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
+msgid "Private With Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
+msgid "Property"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr "Prototipo"
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
+msgid "Public"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
+#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
+msgid "Rebuild Metamodel"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
+msgid "Recreate Objects And Return First"
+msgstr "Recrear Objetos y Devolver el Primero"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#object
+msgid "Result"
+msgstr "Resultado"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#name
+msgid "Result class"
+msgstr "Clase del resultado"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#key
+msgid "Result key"
+msgstr "Clave del Resultado"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
+msgid "Run Fixture Script"
+msgstr "Ejecutar Script de Instalación"
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
+msgid "Safe"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
+msgid "Safe And Request Cacheable"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr "Script"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
+msgstr "Parámetros específicos del Script (si hay alguno). El formato depende de la implementación del script (por ejemplo, clave=valor, CSV, JSON, XML, etc.)"
+
+
+#: domainapp.dom.simple.SimpleObjects#title()
+msgid "Simple Objects"
+msgstr "Objetos básicos"
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr "Cambiar a Lectura de Traducciones"
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr "Cambiar a Escritura de Traducciones"
+
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr "Nombre de la Actualización"
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#value
+msgid "Value"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
+msgid "Version"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
+msgid "Yaml"
+msgstr "YAML"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "aboutLabel"
+msgstr "About"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "cancelLabel"
+msgstr "Cancel"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "datanucleusIdLong"
+msgstr "Id"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortPlural"
+msgstr "Please enter {number} more characters"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortSingular"
+msgstr "Please enter 1 more character"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "loadMore"
+msgstr "Load more"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "loginHeader"
+msgstr "Login"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "logoutLabel"
+msgstr "Logout"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "name"
+msgstr ""
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "noMatches"
+msgstr "No matches"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel
+msgid "objects"
+msgstr "Objects"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "okLabel"
+msgstr "OK"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "rememberMeLabel"
+msgstr "Remember Me"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "resetButtonLabel"
+msgstr "Reset"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "searching"
+msgstr "Searching..."
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigPlural"
+msgstr "You can only select {limit} items"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigSingular"
+msgstr "You can only select 1 item"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signInButtonLabel"
+msgstr "Sign in"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#title()
+msgid "{num} objects"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "confirmPasswordLabel"
+msgstr "Confirm password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "datatable.no-records-found"
+msgstr "No Records Found"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "editLabel"
+msgstr "Edit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailIsNotAvailable"
+msgstr "The given email is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailPlaceholder"
+msgstr "Enter your email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailPlaceholder"
+msgstr "Enter an email for the new account"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailLabel"
+msgstr "Email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailSentMessage"
+msgstr "An email has been sent to '${email}' for verification."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "forgotPasswordLinkLabel"
+msgstr "Forgot your password?"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeSuccessful"
+msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeUnsuccessful"
+msgstr "There was a problem while updating the password. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordPlaceholder"
+msgstr "Enter password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetExpiredOrInvalidToken"
+msgstr "You are trying to reset the password for an expired or invalid token"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetHeader"
+msgstr "Forgot password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetSubmitLabel"
+msgstr "Submit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "registerButtonLabel"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "registerHeader"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noSuchUserByEmail"
+msgstr "There is no account with this email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noUserForAnEmailValidToken"
+msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signUpButtonLabel"
+msgstr "Don't have an account? Sign up now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "signUpButtonLabel"
+msgstr "Verify email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+msgid "signUpHeader"
+msgstr "Sign Up"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameIsNotAvailable"
+msgstr "The provided username is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernamePlaceholder"
+msgstr "Username"
+
diff --git a/webapp/src/main/webapp/WEB-INF/translations-nl.po b/webapp/src/main/webapp/WEB-INF/translations-nl.po
new file mode 100644
index 0000000..af4babf
--- /dev/null
+++ b/webapp/src/main/webapp/WEB-INF/translations-nl.po
@@ -0,0 +1,674 @@
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2016-06-16 15:34:40+\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
+msgid ".csv file name"
+msgstr ""
+
+
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
+msgid ".jdo file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
+msgid "Action"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Are you sure?"
+msgstr "Weet je het zeker?"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "AutoLabel.CSS.required"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Cancel"
+msgstr "Annuleer"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
+#: domainapp.dom.simple.SimpleObject#clearHints()
+msgid "Clear Hints"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
+msgid "Collection"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
+msgstr "Table"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsUnresolvedPanel.Hide"
+msgstr "Hide"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
+msgid "Complete"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
+msgid "Configuration"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Confirm"
+msgstr "Bevestigen"
+
+
+#: domainapp.dom.simple.SimpleObjects#create()
+msgid "Create"
+msgstr "Creëren"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
+msgid "Current"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#delete()
+msgid "Delete"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
+msgid "Download Jdo Metadata"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
+#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
+msgid "Download Layout Xml"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
+msgid "Download Layouts (XML)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
+msgid "Download Meta Model (CSV)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
+msgid "Download Swagger Spec"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
+#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+msgid "File name"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Filename"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#findByName()
+msgid "Find By Name"
+msgstr "Zoek op Naam"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "General"
+msgstr "Algemeen"
+
+
+#: domainapp.app.services.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
+msgid "Id"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
+msgid "Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
+msgid "Idempotent Are You Sure"
+msgstr "Weet je het zeker?"
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
+msgid "Ignore"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
+msgid "Include"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
+msgid "Json"
+msgstr "JSON"
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#key
+msgid "Key"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr "Lijst Alle"
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
+#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
+msgid "Metadata"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
+msgid "Minimal"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: domainapp.dom.simple.SimpleObject#name
+#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr "Naam"
+
+
+#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
+msgid "New Application Feature"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
+msgid "Non Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
+msgid "Non Idempotent Are You Sure"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
+msgid "Normalized"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
+msgid "Number"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Parameters"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
+msgid "Private"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
+msgid "Private With Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
+msgid "Property"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
+msgid "Public"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
+#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
+msgid "Rebuild Metamodel"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
+msgid "Recreate Objects And Return First"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#object
+msgid "Result"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#className
+msgid "Result class"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#key
+msgid "Result key"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
+msgid "Safe"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
+msgid "Safe And Request Cacheable"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#title()
+msgid "Simple Objects"
+msgstr "Eenvoudige Objecten"
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr "Updaten Naam"
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#value
+msgid "Value"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
+msgid "Version"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
+msgid "Yaml"
+msgstr "YAML"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "aboutLabel"
+msgstr "About"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "cancelLabel"
+msgstr "Cancel"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "datanucleusIdLong"
+msgstr "Id"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortPlural"
+msgstr "Please enter {number} more characters"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortSingular"
+msgstr "Please enter 1 more character"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "loadMore"
+msgstr "Load more"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "loginHeader"
+msgstr "Login"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "logoutLabel"
+msgstr "Logout"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "name"
+msgstr ""
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "noMatches"
+msgstr "No matches"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel
+msgid "objects"
+msgstr "Objects"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "okLabel"
+msgstr "OK"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "rememberMeLabel"
+msgstr "Remember Me"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "resetButtonLabel"
+msgstr "Reset"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "searching"
+msgstr "Searching..."
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigPlural"
+msgstr "You can only select {limit} items"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigSingular"
+msgstr "You can only select 1 item"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signInButtonLabel"
+msgstr "Sign in"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#title()
+msgid "{num} objects"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "confirmPasswordLabel"
+msgstr "Confirm password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "datatable.no-records-found"
+msgstr "No Records Found"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "editLabel"
+msgstr "Edit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailIsNotAvailable"
+msgstr "The given email is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailPlaceholder"
+msgstr "Enter your email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailPlaceholder"
+msgstr "Enter an email for the new account"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailLabel"
+msgstr "Email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailSentMessage"
+msgstr "An email has been sent to '${email}' for verification."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "forgotPasswordLinkLabel"
+msgstr "Forgot your password?"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeSuccessful"
+msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeUnsuccessful"
+msgstr "There was a problem while updating the password. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordPlaceholder"
+msgstr "Enter password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetExpiredOrInvalidToken"
+msgstr "You are trying to reset the password for an expired or invalid token"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetHeader"
+msgstr "Forgot password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetSubmitLabel"
+msgstr "Submit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "registerButtonLabel"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "registerHeader"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noSuchUserByEmail"
+msgstr "There is no account with this email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noUserForAnEmailValidToken"
+msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signUpButtonLabel"
+msgstr "Don't have an account? Sign up now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "signUpButtonLabel"
+msgstr "Verify email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+msgid "signUpHeader"
+msgstr "Sign Up"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameIsNotAvailable"
+msgstr "The provided username is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernamePlaceholder"
+msgstr "Username"
+
diff --git a/webapp/src/main/webapp/WEB-INF/translations.po b/webapp/src/main/webapp/WEB-INF/translations.po
new file mode 100644
index 0000000..adae60c
--- /dev/null
+++ b/webapp/src/main/webapp/WEB-INF/translations.po
@@ -0,0 +1,673 @@
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2016-06-16 15:34:40+\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel(java.lang.String)
+msgid ".csv file name"
+msgstr ""
+
+
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#$$(java.lang.String)
+msgid ".jdo file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#ACTION
+msgid "Action"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Are you sure?"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "AutoLabel.CSS.required"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Cancel"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#clearHints()
+#: domainapp.dom.simple.SimpleObject#clearHints()
+msgid "Clear Hints"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#COLLECTION
+msgid "Collection"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsAjaxTablePanelFactory.Table"
+msgstr "Table"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "CollectionContentsAsUnresolvedPanel.Hide"
+msgstr "Hide"
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#COMPLETE
+msgid "Complete"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.config.ConfigurationServiceMenu#configuration()
+msgid "Configuration"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
+msgid "Confirm"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#create()
+msgid "Create"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#CURRENT
+msgid "Current"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#delete()
+msgid "Delete"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#downloadJdoMetadata()
+msgid "Download Jdo Metadata"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#downloadLayoutXml()
+#: domainapp.dom.simple.SimpleObject#downloadLayoutXml()
+msgid "Download Layout Xml"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
+msgid "Download Layouts (XML)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu#downloadMetaModel()
+msgid "Download Meta Model (CSV)"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec()
+msgid "Download Swagger Spec"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.dto.Dto_downloadXml#$$(java.lang.String)
+#: org.apache.isis.applib.services.dto.Dto_downloadXsd#$$(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#$$(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
+msgid "File name"
+msgstr ""
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu#downloadSwaggerSpec(java.lang.String,org.apache.isis.applib.services.swagger.SwaggerService$Visibility,org.apache.isis.applib.services.swagger.SwaggerService$Format)
+msgid "Filename"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#findByName()
+msgid "Find By Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#friendlyName
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "General"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusIdLong()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong#$$()
+msgid "Id"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT
+msgid "Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#IDEMPOTENT_ARE_YOU_SURE
+msgid "Idempotent Are You Sure"
+msgstr "Are you sure?"
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#IGNORE
+msgid "Ignore"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas#INCLUDE
+msgid "Include"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#JSON
+msgid "Json"
+msgstr "JSON"
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#key
+msgid "Key"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
+#: org.apache.isis.viewer.wicket.viewer.services.Object_clearHints
+msgid "Metadata"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#MINIMAL
+msgid "Minimal"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject
+#: domainapp.dom.simple.SimpleObject#name
+#: domainapp.dom.simple.SimpleObject#updateName(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr ""
+
+
+#: org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureFactory#newApplicationFeature()
+msgid "New Application Feature"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT
+msgid "Non Idempotent"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE
+msgid "Non Idempotent Are You Sure"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.layout.LayoutService$Style#NORMALIZED
+msgid "Normalized"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects#number
+msgid "Number"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Parameters"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE
+msgid "Private"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PRIVATE_WITH_PROTOTYPING
+msgid "Private With Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.appfeat.ApplicationMemberType#PROPERTY
+msgid "Property"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault
+#: org.apache.isis.applib.services.layout.LayoutServiceMenu
+#: org.apache.isis.applib.services.metamodel.MetaModelServicesMenu
+#: org.apache.isis.applib.services.swagger.SwaggerServiceMenu
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Visibility#PUBLIC
+msgid "Public"
+msgstr ""
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#rebuildMetamodel()
+#: domainapp.dom.simple.SimpleObject#rebuildMetamodel()
+msgid "Rebuild Metamodel"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
+msgid "Recreate Objects And Return First"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#object
+msgid "Result"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#className
+msgid "Result class"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#key
+msgid "Result key"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE
+msgid "Safe"
+msgstr ""
+
+
+#: org.apache.isis.applib.annotation.SemanticsOf#SAFE_AND_REQUEST_CACHEABLE
+msgid "Safe And Request Cacheable"
+msgstr ""
+
+
+#: domainapp.fixture.scenarios.RecreateSimpleObjects
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObjects#title()
+msgid "Simple Objects"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.config.ConfigurationProperty#value
+msgid "Value"
+msgstr ""
+
+
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionLong()
+#: domainapp.dom.simple.SimpleObject#datanucleusVersionTimestamp()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionLong#$$()
+#: org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp#$$()
+msgid "Version"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
+msgid "Yaml"
+msgstr "YAML"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "aboutLabel"
+msgstr "About"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "cancelLabel"
+msgstr "Cancel"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "datanucleusIdLong"
+msgstr "Id"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortPlural"
+msgstr "Please enter {number} more characters"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "inputTooShortSingular"
+msgstr "Please enter 1 more character"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "loadMore"
+msgstr "Load more"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "loginHeader"
+msgstr "Login"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "logoutLabel"
+msgstr "Logout"
+
+
+#: domainapp.dom.simple.SimpleObject
+msgid "name"
+msgstr ""
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "noMatches"
+msgstr "No matches"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel
+msgid "objects"
+msgstr "Objects"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "okLabel"
+msgstr "OK"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "rememberMeLabel"
+msgstr "Remember Me"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "resetButtonLabel"
+msgstr "Reset"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "searching"
+msgstr "Searching..."
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigPlural"
+msgstr "You can only select {limit} items"
+
+
+#: org.wicketstuff.select2.Select2Choice
+msgid "selectionTooBigSingular"
+msgstr "You can only select 1 item"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signInButtonLabel"
+msgstr "Sign in"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: domainapp.app.services.homepage.HomePageViewModel#title()
+msgid "{num} objects"
+msgstr ""
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "confirmPasswordLabel"
+msgstr "Confirm password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "datatable.no-records-found"
+msgstr "No Records Found"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage
+msgid "editLabel"
+msgstr "Edit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailIsNotAvailable"
+msgstr "The given email is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailPlaceholder"
+msgstr "Enter your email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "emailPlaceholder"
+msgstr "Enter an email for the new account"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailLabel"
+msgstr "Email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "emailSentMessage"
+msgstr "An email has been sent to '${email}' for verification."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "forgotPasswordLinkLabel"
+msgstr "Forgot your password?"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeSuccessful"
+msgstr "The password has been changed successfully. You can <a class=\"alert-success\" style=\"text-decoration:underline;\" href=\"${signInUrl}\">login</a> now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordChangeUnsuccessful"
+msgstr "There was a problem while updating the password. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordLabel"
+msgstr "Password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordPlaceholder"
+msgstr "Enter password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetExpiredOrInvalidToken"
+msgstr "You are trying to reset the password for an expired or invalid token"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetHeader"
+msgstr "Forgot password"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "passwordResetSubmitLabel"
+msgstr "Submit"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "registerButtonLabel"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+msgid "registerHeader"
+msgstr "Register"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noSuchUserByEmail"
+msgstr "There is no account with this email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "noUserForAnEmailValidToken"
+msgstr "The account seems to be either already deleted or has changed its email address. Please try again."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+msgid "signUpButtonLabel"
+msgstr "Don't have an account? Sign up now."
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "signUpButtonLabel"
+msgstr "Verify email"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+msgid "signUpHeader"
+msgstr "Sign Up"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameIsNotAvailable"
+msgstr "The provided username is already in use"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernameLabel"
+msgstr "Username"
+
+
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.signup.RegistrationFormPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.register.RegisterPage
+#: org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage
+#: org.apache.isis.viewer.wicket.ui.pages.accmngt.password_reset.PasswordResetPage
+msgid "usernamePlaceholder"
+msgstr "Username"
+
diff --git a/webapp/src/main/webapp/WEB-INF/web.xml b/webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..fc6da0b
--- /dev/null
+++ b/webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+ id="WebApp_ID" version="3.1">
+
+ <display-name>Simple App</display-name>
+
+</web-app>
diff --git a/webapp/src/test/java/domain/webapp/lockdown/.gitignore b/webapp/src/test/java/domain/webapp/lockdown/.gitignore
new file mode 100644
index 0000000..e66bc56
--- /dev/null
+++ b/webapp/src/test/java/domain/webapp/lockdown/.gitignore
@@ -0,0 +1 @@
+*.received.txt
\ No newline at end of file
diff --git a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.java b/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.java
new file mode 100644
index 0000000..600ce9e
--- /dev/null
+++ b/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.java
@@ -0,0 +1,50 @@
+package domain.webapp.lockdown;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Arrays;
+
+import org.approvaltests.Approvals;
+import org.approvaltests.reporters.DiffReporter;
+import org.approvaltests.reporters.UseReporter;
+import org.assertj.core.api.Assumptions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import com.google.common.base.Charsets;
+import com.google.common.io.Resources;
+
+import static org.hamcrest.CoreMatchers.*;
+
+public class LockDownMavenDeps_Test {
+
+ @BeforeEach
+ public void setUp() throws Exception {
+ Assumptions.assumeThat(System.getProperty("lockdown")).isNotNull();
+ }
+
+ @UseReporter(DiffReporter.class)
+ @Test
+ public void list() throws Exception {
+ Approvals.verify(sort(read("list")));
+ }
+
+ @UseReporter(DiffReporter.class)
+ @Test
+ public void tree() throws Exception {
+ Approvals.verify(read("tree"));
+ }
+
+ private String read(final String goal) throws IOException {
+ final URL resource = Resources.getResource(getClass(),
+ String.format("%s.%s.actual.txt", getClass().getSimpleName(), goal));
+ return Resources.toString(resource, Charsets.UTF_8);
+ }
+
+ private static String sort(final String unsorted) {
+ final String[] lines = unsorted.split("[\r\n]+");
+ Arrays.sort(lines);
+ return String.join("\n", lines);
+ }
+
+}
diff --git a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt b/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
new file mode 100644
index 0000000..fc40d79
--- /dev/null
+++ b/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
@@ -0,0 +1,225 @@
+
+ args4j:args4j:jar:2.0.26:compile
+ cglib:cglib-nodep:jar:3.2.12:compile
+ cglib:cglib:jar:3.2.8:runtime
+ com.approvaltests:approvaltests-util:jar:4.0.2:test
+ com.approvaltests:approvaltests:jar:4.0.2:test
+ com.fasterxml.jackson.core:jackson-annotations:jar:2.10.0:compile
+ com.fasterxml.jackson.core:jackson-core:jar:2.10.0:compile
+ com.fasterxml.jackson.core:jackson-databind:jar:2.10.0:compile
+ com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.10.0:compile
+ com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.0:compile
+ com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.0:compile
+ com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.10.0:compile
+ com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.0:compile
+ com.fasterxml:classmate:jar:1.5.1:compile
+ com.github.openjson:openjson:jar:1.0.10:compile
+ com.google.code.findbugs:annotations:jar:2.0.1:compile
+ com.google.code.findbugs:jsr305:jar:3.0.2:compile
+ com.google.code.gson:gson:jar:2.8.6:compile
+ com.google.errorprone:error_prone_annotations:jar:2.3.2:compile
+ com.google.guava:failureaccess:jar:1.0.1:compile
+ com.google.guava:guava:jar:28.1-jre:compile
+ com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
+ com.google.j2objc:j2objc-annotations:jar:1.3:compile
+ com.google.javascript:closure-compiler-externs:jar:v20190325:compile
+ com.google.javascript:closure-compiler-unshaded:jar:v20190325:compile
+ com.google.jsinterop:jsinterop-annotations:jar:1.0.0:compile
+ com.h2database:h2:jar:1.4.200:compile
+ com.jayway.jsonpath:json-path:jar:2.4.0:compile
+ com.sun.mail:javax.mail:jar:1.6.0:compile
+ com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile
+ commons-beanutils:commons-beanutils:jar:1.9.3:compile
+ commons-codec:commons-codec:jar:1.13:compile
+ commons-collections:commons-collections:jar:3.2.2:compile
+ commons-fileupload:commons-fileupload:jar:1.4:compile
+ commons-io:commons-io:jar:2.6:compile
+ commons-logging:commons-logging:jar:1.2:compile
+ de.agilecoders.wicket.webjars:wicket-webjars:jar:2.0.15:compile
+ de.agilecoders.wicket:jquery-selectors:jar:2.0.7:compile
+ de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.11:compile
+ de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.11:compile
+ de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.11:compile
+ io.cucumber:cucumber-core:jar:4.8.0:compile
+ io.cucumber:cucumber-expressions:jar:7.0.2:compile
+ io.cucumber:cucumber-java:jar:4.8.0:compile
+ io.cucumber:cucumber-junit:jar:4.8.0:compile
+ io.cucumber:cucumber-spring:jar:4.8.0:compile
+ io.cucumber:datatable-dependencies:jar:1.1.14:compile
+ io.cucumber:datatable:jar:1.1.14:compile
+ io.cucumber:gherkin:jar:5.1.0:compile
+ io.cucumber:tag-expressions:jar:1.1.1:compile
+ io.swagger:swagger-annotations:jar:1.5.21:compile
+ io.swagger:swagger-core:jar:1.5.21:compile
+ io.swagger:swagger-models:jar:1.5.21:compile
+ jakarta.activation:jakarta.activation-api:jar:1.2.1:compile
+ jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
+ jakarta.validation:jakarta.validation-api:jar:2.0.1:compile
+ jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
+ javax.activation:activation:jar:1.1:compile
+ javax.inject:javax.inject:jar:1:compile
+ javax.json.bind:javax.json.bind-api:jar:1.0:compile
+ javax.transaction:transaction-api:jar:1.1:compile
+ javax:javaee-api:jar:8.0:compile
+ joda-time:joda-time:jar:2.10.5:compile
+ junit:junit:jar:4.12:compile
+ net.bytebuddy:byte-buddy:jar:1.10.2:compile
+ net.ftlines.wicket-source:wicket-source:jar:7.0.0:compile
+ net.jcip:jcip-annotations:jar:1.0:compile
+ net.minidev:accessors-smart:jar:1.2:compile
+ net.minidev:json-smart:jar:2.3:compile
+ org.apache-extras.beanshell:bsh:jar:2.0b6:compile
+ org.apache.commons:commons-collections4:jar:4.3:compile
+ org.apache.commons:commons-email:jar:1.4:compile
+ org.apache.commons:commons-lang3:jar:3.9:compile
+ org.apache.httpcomponents:httpclient:jar:4.5.10:compile
+ org.apache.httpcomponents:httpcore:jar:4.4.12:compile
+ org.apache.isis.core:isis-applib:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-codegen-bytebuddy:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-commons:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-config:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-integtestsupport:jar:2.0.0-M3-SNAPSHOT:test
+ org.apache.isis.core:isis-metamodel:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-persistence-jdo-common:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-persistence-jdo-datanucleus5:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-runtime-extensions:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-runtime-services:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-runtime-web:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-runtime:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-schema:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-security-bypass:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-security-keycloak:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-security-shiro:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-security:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-restfulobjects-applib:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-restfulobjects-jaxrsresteasy4:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-restfulobjects-rendering:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-restfulobjects-server:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-wicket-impl:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-wicket-model:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-viewer-wicket-ui:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.examples.apps:simpleapp-application:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.examples.apps:simpleapp-module-simple:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.extensions:isis-extensions-fixtures:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.extensions:isis-extensions-specsupport:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.extensions:isis-extensions-spring:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.mavendeps:isis-mavendeps-testing:pom:2.0.0-M3-SNAPSHOT:test
+ org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:2.0.0-M3-SNAPSHOT:compile
+ org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
+ org.apache.logging.log4j:log4j-core:jar:2.12.1:compile
+ org.apache.logging.log4j:log4j-jul:jar:2.12.1:compile
+ org.apache.logging.log4j:log4j-slf4j-impl:jar:2.12.1:compile
+ org.apache.shiro:shiro-cache:jar:1.4.1:compile
+ org.apache.shiro:shiro-config-core:jar:1.4.1:compile
+ org.apache.shiro:shiro-config-ogdl:jar:1.4.1:compile
+ org.apache.shiro:shiro-core:jar:1.4.1:compile
+ org.apache.shiro:shiro-crypto-cipher:jar:1.4.1:compile
+ org.apache.shiro:shiro-crypto-core:jar:1.4.1:compile
+ org.apache.shiro:shiro-crypto-hash:jar:1.4.1:compile
+ org.apache.shiro:shiro-event:jar:1.4.1:compile
+ org.apache.shiro:shiro-lang:jar:1.4.1:compile
+ org.apache.shiro:shiro-web:jar:1.4.1:compile
+ org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.27:compile
+ org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.27:compile
+ org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.27:compile
+ org.apache.wicket:wicket-auth-roles:jar:8.6.1:compile
+ org.apache.wicket:wicket-core:jar:8.6.1:compile
+ org.apache.wicket:wicket-devutils:jar:8.6.1:compile
+ org.apache.wicket:wicket-extensions:jar:8.6.1:compile
+ org.apache.wicket:wicket-ioc:jar:8.6.1:compile
+ org.apache.wicket:wicket-request:jar:8.6.1:compile
+ org.apache.wicket:wicket-spring:jar:8.6.1:compile
+ org.apache.wicket:wicket-util:jar:8.6.1:compile
+ org.apache.wicket:wicket:pom:8.6.1:compile
+ org.apiguardian:apiguardian-api:jar:1.1.0:compile
+ org.assertj:assertj-core:jar:3.13.2:compile
+ org.checkerframework:checker-qual:jar:2.8.1:compile
+ org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
+ org.codehaus.jackson:jackson-jaxrs:jar:1.9.13:compile
+ org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
+ org.codehaus.jackson:jackson-xc:jar:1.9.13:compile
+ org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
+ org.danekja:jdk-serializable-functional:jar:1.8.5:compile
+ org.datanucleus:datanucleus-api-jdo:jar:5.2.2:compile
+ org.datanucleus:datanucleus-core:jar:5.2.2:compile
+ org.datanucleus:datanucleus-jdo-query:jar:5.0.9:compile
+ org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile
+ org.datanucleus:datanucleus-rdbms:jar:5.2.1:compile
+ org.datanucleus:javax.jdo:jar:3.2.0-m12:compile
+ org.hamcrest:hamcrest-core:jar:2.1:compile
+ org.hamcrest:hamcrest-library:jar:2.1:compile
+ org.hamcrest:hamcrest:jar:2.1:compile
+ org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
+ org.hsqldb:hsqldb:jar:2.5.0:test
+ org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
+ org.jboss.resteasy:resteasy-jackson-provider:jar:4.0.0.Beta5:compile
+ org.jboss.resteasy:resteasy-jaxb-provider:jar:4.0.0.Beta5:compile
+ org.jboss.resteasy:resteasy-jaxrs-services:jar:4.0.0.Beta5:compile
+ org.jboss.resteasy:resteasy-jaxrs:jar:4.0.0.Beta5:compile
+ org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:compile
+ org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:1.0.1.Final:compile
+ org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.0.Final:compile
+ org.jmock:jmock-imposters:jar:2.11.0:runtime
+ org.jmock:jmock-junit4:jar:2.11.0:compile
+ org.jmock:jmock-legacy:jar:2.11.0:runtime
+ org.jmock:jmock-testjar:jar:2.11.0:compile
+ org.jmock:jmock:jar:2.11.0:compile
+ org.junit.jupiter:junit-jupiter-api:jar:5.5.2:compile
+ org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:compile
+ org.junit.jupiter:junit-jupiter-params:jar:5.5.2:compile
+ org.junit.jupiter:junit-jupiter:jar:5.5.2:compile
+ org.junit.platform:junit-platform-commons:jar:1.5.2:compile
+ org.junit.platform:junit-platform-engine:jar:1.5.2:compile
+ org.junit.vintage:junit-vintage-engine:jar:5.5.2:compile
+ org.mockito:mockito-core:jar:3.1.0:compile
+ org.mockito:mockito-junit-jupiter:jar:3.1.0:compile
+ org.objenesis:objenesis:jar:2.2:compile
+ org.opentest4j:opentest4j:jar:1.2.0:compile
+ org.ow2.asm:asm-analysis:jar:7.1:compile
+ org.ow2.asm:asm-tree:jar:7.1:compile
+ org.ow2.asm:asm-util:jar:7.1:compile
+ org.picocontainer:picocontainer:jar:2.15:compile
+ org.projectlombok:lombok:jar:1.18.10:provided
+ org.reactivestreams:reactive-streams:jar:1.0.3:compile
+ org.skyscreamer:jsonassert:jar:1.5.0:compile
+ org.slf4j:jul-to-slf4j:jar:1.7.29:compile
+ org.slf4j:slf4j-api:jar:1.7.29:compile
+ org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-actuator:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-autoconfigure:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-json:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-log4j2:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-test:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-validation:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-web:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-test:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot:jar:2.2.1.RELEASE:compile
+ org.springframework:spring-aop:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-beans:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-context:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-core:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-expression:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-jcl:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-test:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-tx:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-web:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-webmvc:jar:5.2.1.RELEASE:compile
+ org.webjars.bower:momentjs:jar:2.24.0:compile
+ org.webjars.bower:summernote:jar:0.8.11:compile
+ org.webjars:Eonasdan-bootstrap-datetimepicker:jar:4.17.37-1:compile
+ org.webjars:animate.css:jar:3.5.2:compile
+ org.webjars:bootstrap:jar:3.4.0:compile
+ org.webjars:font-awesome:jar:4.7.0:compile
+ org.webjars:jquery-ui:jar:1.12.1:compile
+ org.webjars:jquery:jar:1.11.1:compile
+ org.webjars:modernizr:jar:2.8.3-1:compile
+ org.webjars:select2:jar:4.0.10:compile
+ org.wicketstuff:wicketstuff-select2:jar:8.6.0:compile
+ org.xmlunit:xmlunit-core:jar:2.6.3:compile
+ org.yaml:snakeyaml:jar:1.25:runtime
+The following files have been resolved:
diff --git a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt b/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
new file mode 100644
index 0000000..1ade18f
--- /dev/null
+++ b/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
@@ -0,0 +1,224 @@
+org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
++- org.apache.isis.examples.apps:simpleapp-application:jar:2.0.0-M3-SNAPSHOT:compile
+| +- org.apache.isis.examples.apps:simpleapp-module-simple:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.apache.isis.extensions:isis-extensions-fixtures:jar:2.0.0-M3-SNAPSHOT:compile
+| | | \- org.apache.isis.extensions:isis-extensions-spring:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- org.apache.isis.extensions:isis-extensions-specsupport:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- io.cucumber:cucumber-java:jar:4.8.0:compile
+| | | \- io.cucumber:cucumber-core:jar:4.8.0:compile
+| | | +- io.cucumber:gherkin:jar:5.1.0:compile
+| | | +- io.cucumber:tag-expressions:jar:1.1.1:compile
+| | | +- io.cucumber:cucumber-expressions:jar:7.0.2:compile
+| | | \- io.cucumber:datatable:jar:1.1.14:compile
+| | | \- io.cucumber:datatable-dependencies:jar:1.1.14:compile
+| | +- io.cucumber:cucumber-spring:jar:4.8.0:compile
+| | \- io.cucumber:cucumber-junit:jar:4.8.0:compile
+| \- org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-M3-SNAPSHOT:compile
++- org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:2.0.0-M3-SNAPSHOT:compile
+| +- org.springframework.boot:spring-boot-starter-web:jar:2.2.1.RELEASE:compile
+| | +- org.springframework.boot:spring-boot-starter:jar:2.2.1.RELEASE:compile
+| | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
+| | | \- org.yaml:snakeyaml:jar:1.25:runtime
+| | +- org.springframework.boot:spring-boot-starter-json:jar:2.2.1.RELEASE:compile
+| | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.0:compile
+| | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.0:compile
+| | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.1.RELEASE:compile
+| | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.27:compile
+| | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.27:compile
+| | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.27:compile
+| | +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.1.RELEASE:compile
+| | | +- jakarta.validation:jakarta.validation-api:jar:2.0.1:compile
+| | | \- org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
+| | | +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
+| | | \- com.fasterxml:classmate:jar:1.5.1:compile
+| | +- org.springframework:spring-web:jar:5.2.1.RELEASE:compile
+| | \- org.springframework:spring-webmvc:jar:5.2.1.RELEASE:compile
+| +- org.apache.isis.core:isis-applib:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- org.apache.isis.core:isis-commons:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- javax:javaee-api:jar:8.0:compile
+| | | \- com.sun.mail:javax.mail:jar:1.6.0:compile
+| | | \- javax.activation:activation:jar:1.1:compile
+| | +- com.google.code.findbugs:annotations:jar:2.0.1:compile
+| | +- org.springframework:spring-tx:jar:5.2.1.RELEASE:compile
+| | \- org.springframework.boot:spring-boot-starter-log4j2:jar:2.2.1.RELEASE:compile
+| | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.12.1:compile
+| | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
+| | +- org.apache.logging.log4j:log4j-core:jar:2.12.1:compile
+| | +- org.apache.logging.log4j:log4j-jul:jar:2.12.1:compile
+| | \- org.slf4j:jul-to-slf4j:jar:1.7.29:compile
+| +- org.apache.isis.core:isis-schema:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- joda-time:joda-time:jar:2.10.5:compile
+| +- org.apache.isis.core:isis-codegen-bytebuddy:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- net.bytebuddy:byte-buddy:jar:1.10.2:compile
+| | \- org.objenesis:objenesis:jar:2.2:compile
+| +- org.apache.isis.core:isis-viewer-wicket-impl:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.apache.isis.core:isis-viewer-wicket-ui:jar:2.0.0-M3-SNAPSHOT:compile
+| | | +- org.apache.isis.core:isis-viewer-wicket-model:jar:2.0.0-M3-SNAPSHOT:compile
+| | | +- org.apache.wicket:wicket-core:jar:8.6.1:compile
+| | | | +- com.github.openjson:openjson:jar:1.0.10:compile
+| | | | +- org.apache.wicket:wicket-request:jar:8.6.1:compile
+| | | | +- org.apache.wicket:wicket-util:jar:8.6.1:compile
+| | | | | +- commons-fileupload:commons-fileupload:jar:1.4:compile
+| | | | | \- org.apache.commons:commons-collections4:jar:4.3:compile
+| | | | \- org.danekja:jdk-serializable-functional:jar:1.8.5:compile
+| | | +- org.apache.wicket:wicket-devutils:jar:8.6.1:compile
+| | | +- org.apache.wicket:wicket-extensions:jar:8.6.1:compile
+| | | +- org.wicketstuff:wicketstuff-select2:jar:8.6.0:compile
+| | | +- org.webjars:select2:jar:4.0.10:compile
+| | | | \- org.webjars:jquery:jar:1.11.1:compile
+| | | +- org.webjars:jquery-ui:jar:1.12.1:compile
+| | | +- de.agilecoders.wicket.webjars:wicket-webjars:jar:2.0.15:compile
+| | | +- de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.11:compile
+| | | | +- org.webjars:Eonasdan-bootstrap-datetimepicker:jar:4.17.37-1:compile
+| | | | +- org.webjars.bower:momentjs:jar:2.24.0:compile
+| | | | +- org.webjars:font-awesome:jar:4.7.0:compile
+| | | | +- com.google.javascript:closure-compiler-unshaded:jar:v20190325:compile
+| | | | | +- com.google.javascript:closure-compiler-externs:jar:v20190325:compile
+| | | | | +- args4j:args4j:jar:2.0.26:compile
+| | | | | +- com.google.code.gson:gson:jar:2.8.6:compile
+| | | | | \- com.google.jsinterop:jsinterop-annotations:jar:1.0.0:compile
+| | | | \- org.webjars:animate.css:jar:3.5.2:compile
+| | | +- org.webjars.bower:summernote:jar:0.8.11:compile
+| | | \- de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.11:compile
+| | +- org.apache.wicket:wicket-spring:jar:8.6.1:compile
+| | | \- org.apache.wicket:wicket-ioc:jar:8.6.1:compile
+| | | +- cglib:cglib-nodep:jar:3.2.12:compile
+| | | +- javax.inject:javax.inject:jar:1:compile
+| | | \- org.ow2.asm:asm-util:jar:7.1:compile
+| | | +- org.ow2.asm:asm-tree:jar:7.1:compile
+| | | \- org.ow2.asm:asm-analysis:jar:7.1:compile
+| | +- org.apache.wicket:wicket-auth-roles:jar:8.6.1:compile
+| | +- de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.11:compile
+| | | +- de.agilecoders.wicket:jquery-selectors:jar:2.0.7:compile
+| | | +- org.webjars:bootstrap:jar:3.4.0:compile
+| | | +- org.webjars:modernizr:jar:2.8.3-1:compile
+| | | \- org.apache.commons:commons-lang3:jar:3.9:compile
+| | +- net.ftlines.wicket-source:wicket-source:jar:7.0.0:compile
+| | | \- org.apache.wicket:wicket:pom:8.6.1:compile
+| | \- commons-io:commons-io:jar:2.6:compile
+| +- org.apache.isis.core:isis-viewer-restfulobjects-server:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.apache.isis.core:isis-runtime-web:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.apache.isis.core:isis-viewer-restfulobjects-rendering:jar:2.0.0-M3-SNAPSHOT:compile
+| | | +- org.apache.isis.core:isis-metamodel:jar:2.0.0-M3-SNAPSHOT:compile
+| | | | \- io.swagger:swagger-core:jar:1.5.21:compile
+| | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.10.0:compile
+| | | | \- io.swagger:swagger-models:jar:1.5.21:compile
+| | | | \- io.swagger:swagger-annotations:jar:1.5.21:compile
+| | | \- org.apache.isis.core:isis-viewer-restfulobjects-applib:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.10.0:compile
+| | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
+| | \- jakarta.activation:jakarta.activation-api:jar:1.2.1:compile
+| +- org.apache.isis.core:isis-viewer-restfulobjects-jaxrsresteasy4:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.jboss.resteasy:resteasy-jackson-provider:jar:4.0.0.Beta5:compile
+| | | +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
+| | | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
+| | | +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.13:compile
+| | | \- org.codehaus.jackson:jackson-xc:jar:1.9.13:compile
+| | +- org.jboss.resteasy:resteasy-jaxb-provider:jar:4.0.0.Beta5:compile
+| | | \- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.0.Final:compile
+| | +- org.jboss.resteasy:resteasy-jaxrs:jar:4.0.0.Beta5:compile
+| | | +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:1.0.1.Final:compile
+| | | +- org.jboss.resteasy:resteasy-jaxrs-services:jar:4.0.0.Beta5:compile
+| | | +- org.reactivestreams:reactive-streams:jar:1.0.3:compile
+| | | +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:compile
+| | | +- org.apache.httpcomponents:httpclient:jar:4.5.10:compile
+| | | | +- org.apache.httpcomponents:httpcore:jar:4.4.12:compile
+| | | | \- commons-codec:commons-codec:jar:1.13:compile
+| | | +- net.jcip:jcip-annotations:jar:1.0:compile
+| | | \- javax.json.bind:javax.json.bind-api:jar:1.0:compile
+| | +- commons-logging:commons-logging:jar:1.2:compile
+| | +- com.fasterxml.jackson.core:jackson-core:jar:2.10.0:compile
+| | \- com.fasterxml.jackson.core:jackson-annotations:jar:2.10.0:compile
+| +- org.apache.isis.core:isis-security:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- org.apache.isis.core:isis-config:jar:2.0.0-M3-SNAPSHOT:compile
+| +- org.apache.isis.core:isis-security-bypass:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- org.apache.isis.core:isis-runtime-services:jar:2.0.0-M3-SNAPSHOT:compile
+| +- org.apache.isis.core:isis-security-shiro:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.apache.shiro:shiro-core:jar:1.4.1:compile
+| | | +- org.apache.shiro:shiro-lang:jar:1.4.1:compile
+| | | +- org.apache.shiro:shiro-cache:jar:1.4.1:compile
+| | | +- org.apache.shiro:shiro-crypto-hash:jar:1.4.1:compile
+| | | | \- org.apache.shiro:shiro-crypto-core:jar:1.4.1:compile
+| | | +- org.apache.shiro:shiro-crypto-cipher:jar:1.4.1:compile
+| | | +- org.apache.shiro:shiro-config-core:jar:1.4.1:compile
+| | | +- org.apache.shiro:shiro-config-ogdl:jar:1.4.1:compile
+| | | | \- commons-beanutils:commons-beanutils:jar:1.9.3:compile
+| | | | \- commons-collections:commons-collections:jar:3.2.2:compile
+| | | \- org.apache.shiro:shiro-event:jar:1.4.1:compile
+| | \- org.apache.shiro:shiro-web:jar:1.4.1:compile
+| +- org.apache.isis.core:isis-security-keycloak:jar:2.0.0-M3-SNAPSHOT:compile
+| +- org.apache.isis.core:isis-persistence-jdo-datanucleus5:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.datanucleus:javax.jdo:jar:3.2.0-m12:compile
+| | | \- javax.transaction:transaction-api:jar:1.1:compile
+| | +- org.datanucleus:datanucleus-core:jar:5.2.2:compile
+| | +- org.datanucleus:datanucleus-api-jdo:jar:5.2.2:compile
+| | +- org.datanucleus:datanucleus-jdo-query:jar:5.0.9:compile
+| | +- org.datanucleus:datanucleus-rdbms:jar:5.2.1:compile
+| | +- org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile
+| | +- org.apache.isis.core:isis-runtime:jar:2.0.0-M3-SNAPSHOT:compile
+| | | \- org.apache.commons:commons-email:jar:1.4:compile
+| | +- org.apache.isis.core:isis-runtime-extensions:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- org.apache.isis.core:isis-persistence-jdo-common:jar:2.0.0-M3-SNAPSHOT:compile
+| \- com.google.guava:guava:jar:28.1-jre:compile
+| +- com.google.guava:failureaccess:jar:1.0.1:compile
+| +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
+| +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
+| +- org.checkerframework:checker-qual:jar:2.8.1:compile
+| +- com.google.errorprone:error_prone_annotations:jar:2.3.2:compile
+| +- com.google.j2objc:j2objc-annotations:jar:1.3:compile
+| \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
++- com.h2database:h2:jar:1.4.200:compile
++- org.apache.isis.mavendeps:isis-mavendeps-testing:pom:2.0.0-M3-SNAPSHOT:test
+| +- org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:compile
+| | | +- org.apiguardian:apiguardian-api:jar:1.1.0:compile
+| | | +- org.opentest4j:opentest4j:jar:1.2.0:compile
+| | | \- org.junit.platform:junit-platform-commons:jar:1.5.2:compile
+| | +- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:compile
+| | | \- org.junit.platform:junit-platform-engine:jar:1.5.2:compile
+| | +- org.junit.vintage:junit-vintage-engine:jar:5.5.2:compile
+| | | \- junit:junit:jar:4.12:compile
+| | +- org.mockito:mockito-core:jar:3.1.0:compile
+| | +- org.slf4j:slf4j-api:jar:1.7.29:compile
+| | +- org.springframework.boot:spring-boot-starter-test:jar:2.2.1.RELEASE:compile
+| | | +- org.springframework.boot:spring-boot-test:jar:2.2.1.RELEASE:compile
+| | | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.1.RELEASE:compile
+| | | +- com.jayway.jsonpath:json-path:jar:2.4.0:compile
+| | | | \- net.minidev:json-smart:jar:2.3:compile
+| | | | \- net.minidev:accessors-smart:jar:1.2:compile
+| | | +- org.junit.jupiter:junit-jupiter:jar:5.5.2:compile
+| | | | \- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:compile
+| | | +- org.mockito:mockito-junit-jupiter:jar:3.1.0:compile
+| | | +- org.hamcrest:hamcrest:jar:2.1:compile
+| | | +- org.skyscreamer:jsonassert:jar:1.5.0:compile
+| | | | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile
+| | | \- org.xmlunit:xmlunit-core:jar:2.6.3:compile
+| | +- org.springframework:spring-test:jar:5.2.1.RELEASE:compile
+| | +- org.jmock:jmock:jar:2.11.0:compile
+| | | +- org.jmock:jmock-testjar:jar:2.11.0:compile
+| | | \- org.apache-extras.beanshell:bsh:jar:2.0b6:compile
+| | \- org.jmock:jmock-junit4:jar:2.11.0:compile
+| | +- org.jmock:jmock-legacy:jar:2.11.0:runtime
+| | | \- cglib:cglib:jar:3.2.8:runtime
+| | \- org.jmock:jmock-imposters:jar:2.11.0:runtime
+| +- org.apache.isis.core:isis-integtestsupport:jar:2.0.0-M3-SNAPSHOT:test
+| +- org.hamcrest:hamcrest-library:jar:2.1:compile
+| | \- org.hamcrest:hamcrest-core:jar:2.1:compile
+| +- org.assertj:assertj-core:jar:3.13.2:compile
+| +- com.approvaltests:approvaltests:jar:4.0.2:test
+| | \- com.approvaltests:approvaltests-util:jar:4.0.2:test
+| +- org.picocontainer:picocontainer:jar:2.15:compile
+| \- org.hsqldb:hsqldb:jar:2.5.0:test
++- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.1.RELEASE:compile
+| +- org.springframework.boot:spring-boot-actuator:jar:2.2.1.RELEASE:compile
+| | \- org.springframework.boot:spring-boot:jar:2.2.1.RELEASE:compile
+| +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.1.RELEASE:compile
+| +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.0:compile
+| +- org.springframework:spring-core:jar:5.2.1.RELEASE:compile
+| | \- org.springframework:spring-jcl:jar:5.2.1.RELEASE:compile
+| +- org.springframework:spring-context:jar:5.2.1.RELEASE:compile
+| | +- org.springframework:spring-aop:jar:5.2.1.RELEASE:compile
+| | +- org.springframework:spring-beans:jar:5.2.1.RELEASE:compile
+| | \- org.springframework:spring-expression:jar:5.2.1.RELEASE:compile
+| \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.0:compile
+\- org.projectlombok:lombok:jar:1.18.10:provided
[isis-app-simpleapp] 03/09: fixes up lockdown tests
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 3b203792ba382aea29372d8ac4e02be00a03f48e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 11:01:14 2019 +0000
fixes up lockdown tests
---
module-simple/pom.xml | 5 -
webapp/pom.xml | 13 +-
.../LockDownMavenDeps_Test.list.approved.txt | 90 ++++++------
.../LockDownMavenDeps_Test.tree.approved.txt | 160 ++++++++++-----------
4 files changed, 133 insertions(+), 135 deletions(-)
diff --git a/module-simple/pom.xml b/module-simple/pom.xml
index 274583b..fbc8a88 100644
--- a/module-simple/pom.xml
+++ b/module-simple/pom.xml
@@ -66,11 +66,6 @@
<artifactId>isis-extensions-fixtures</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.isis.extensions</groupId>
- <artifactId>isis-extensions-specsupport</artifactId>
- </dependency>
-
<!-- TESTS -->
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
diff --git a/webapp/pom.xml b/webapp/pom.xml
index c1d8d22..1e5f3e2 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -34,9 +34,6 @@
<packaging>jar</packaging>
<properties>
-<!--
- <maven-war-plugin.warName>${project.parent.artifactId}</maven-war-plugin.warName>
--->
<maven-cucumber-reporting.version>4.11.2</maven-cucumber-reporting.version>
</properties>
@@ -127,6 +124,12 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-specsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<profiles>
@@ -192,7 +195,7 @@
<goal>list</goal>
</goals>
<configuration>
- <outputFile>${project.build.directory}/test-classes/domain/webapp/lockdown/LockDownMavenDeps_Test.list.actual.txt</outputFile>
+ <outputFile>${project.build.directory}/test-classes/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.actual.txt</outputFile>
</configuration>
</execution>
<execution>
@@ -202,7 +205,7 @@
<goal>tree</goal>
</goals>
<configuration>
- <outputFile>${project.build.directory}/test-classes/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.actual.txt</outputFile>
+ <outputFile>${project.build.directory}/test-classes/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.actual.txt</outputFile>
</configuration>
</execution>
</executions>
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
index fc40d79..59352f8 100644
--- a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
+++ b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
@@ -1,7 +1,7 @@
args4j:args4j:jar:2.0.26:compile
cglib:cglib-nodep:jar:3.2.12:compile
- cglib:cglib:jar:3.2.8:runtime
+ cglib:cglib:jar:3.2.8:test
com.approvaltests:approvaltests-util:jar:4.0.2:test
com.approvaltests:approvaltests:jar:4.0.2:test
com.fasterxml.jackson.core:jackson-annotations:jar:2.10.0:compile
@@ -26,9 +26,9 @@
com.google.javascript:closure-compiler-unshaded:jar:v20190325:compile
com.google.jsinterop:jsinterop-annotations:jar:1.0.0:compile
com.h2database:h2:jar:1.4.200:compile
- com.jayway.jsonpath:json-path:jar:2.4.0:compile
+ com.jayway.jsonpath:json-path:jar:2.4.0:test
com.sun.mail:javax.mail:jar:1.6.0:compile
- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile
+ com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
commons-beanutils:commons-beanutils:jar:1.9.3:compile
commons-codec:commons-codec:jar:1.13:compile
commons-collections:commons-collections:jar:3.2.2:compile
@@ -40,15 +40,15 @@
de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.11:compile
de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.11:compile
de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.11:compile
- io.cucumber:cucumber-core:jar:4.8.0:compile
- io.cucumber:cucumber-expressions:jar:7.0.2:compile
- io.cucumber:cucumber-java:jar:4.8.0:compile
- io.cucumber:cucumber-junit:jar:4.8.0:compile
- io.cucumber:cucumber-spring:jar:4.8.0:compile
- io.cucumber:datatable-dependencies:jar:1.1.14:compile
- io.cucumber:datatable:jar:1.1.14:compile
- io.cucumber:gherkin:jar:5.1.0:compile
- io.cucumber:tag-expressions:jar:1.1.1:compile
+ io.cucumber:cucumber-core:jar:4.8.0:test
+ io.cucumber:cucumber-expressions:jar:7.0.2:test
+ io.cucumber:cucumber-java:jar:4.8.0:test
+ io.cucumber:cucumber-junit:jar:4.8.0:test
+ io.cucumber:cucumber-spring:jar:4.8.0:test
+ io.cucumber:datatable-dependencies:jar:1.1.14:test
+ io.cucumber:datatable:jar:1.1.14:test
+ io.cucumber:gherkin:jar:5.1.0:test
+ io.cucumber:tag-expressions:jar:1.1.1:test
io.swagger:swagger-annotations:jar:1.5.21:compile
io.swagger:swagger-core:jar:1.5.21:compile
io.swagger:swagger-models:jar:1.5.21:compile
@@ -62,13 +62,13 @@
javax.transaction:transaction-api:jar:1.1:compile
javax:javaee-api:jar:8.0:compile
joda-time:joda-time:jar:2.10.5:compile
- junit:junit:jar:4.12:compile
+ junit:junit:jar:4.12:test
net.bytebuddy:byte-buddy:jar:1.10.2:compile
net.ftlines.wicket-source:wicket-source:jar:7.0.0:compile
net.jcip:jcip-annotations:jar:1.0:compile
- net.minidev:accessors-smart:jar:1.2:compile
- net.minidev:json-smart:jar:2.3:compile
- org.apache-extras.beanshell:bsh:jar:2.0b6:compile
+ net.minidev:accessors-smart:jar:1.2:test
+ net.minidev:json-smart:jar:2.3:test
+ org.apache-extras.beanshell:bsh:jar:2.0b6:test
org.apache.commons:commons-collections4:jar:4.3:compile
org.apache.commons:commons-email:jar:1.4:compile
org.apache.commons:commons-lang3:jar:3.9:compile
@@ -91,7 +91,7 @@
org.apache.isis.core:isis-security-keycloak:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.core:isis-security-shiro:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.core:isis-security:jar:2.0.0-M3-SNAPSHOT:compile
- org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:test
org.apache.isis.core:isis-viewer-restfulobjects-applib:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.core:isis-viewer-restfulobjects-jaxrsresteasy4:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.core:isis-viewer-restfulobjects-rendering:jar:2.0.0-M3-SNAPSHOT:compile
@@ -99,10 +99,9 @@
org.apache.isis.core:isis-viewer-wicket-impl:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.core:isis-viewer-wicket-model:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.core:isis-viewer-wicket-ui:jar:2.0.0-M3-SNAPSHOT:compile
- org.apache.isis.examples.apps:simpleapp-application:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.examples.apps:simpleapp-module-simple:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.extensions:isis-extensions-fixtures:jar:2.0.0-M3-SNAPSHOT:compile
- org.apache.isis.extensions:isis-extensions-specsupport:jar:2.0.0-M3-SNAPSHOT:compile
+ org.apache.isis.extensions:isis-extensions-specsupport:jar:2.0.0-M3-SNAPSHOT:test
org.apache.isis.extensions:isis-extensions-spring:jar:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-M3-SNAPSHOT:compile
org.apache.isis.mavendeps:isis-mavendeps-testing:pom:2.0.0-M3-SNAPSHOT:test
@@ -133,8 +132,8 @@
org.apache.wicket:wicket-spring:jar:8.6.1:compile
org.apache.wicket:wicket-util:jar:8.6.1:compile
org.apache.wicket:wicket:pom:8.6.1:compile
- org.apiguardian:apiguardian-api:jar:1.1.0:compile
- org.assertj:assertj-core:jar:3.13.2:compile
+ org.apiguardian:apiguardian-api:jar:1.1.0:test
+ org.assertj:assertj-core:jar:3.13.2:test
org.checkerframework:checker-qual:jar:2.8.1:compile
org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
org.codehaus.jackson:jackson-jaxrs:jar:1.9.13:compile
@@ -148,8 +147,8 @@
org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile
org.datanucleus:datanucleus-rdbms:jar:5.2.1:compile
org.datanucleus:javax.jdo:jar:3.2.0-m12:compile
- org.hamcrest:hamcrest-core:jar:2.1:compile
- org.hamcrest:hamcrest-library:jar:2.1:compile
+ org.hamcrest:hamcrest-core:jar:2.1:test
+ org.hamcrest:hamcrest-library:jar:2.1:test
org.hamcrest:hamcrest:jar:2.1:compile
org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
org.hsqldb:hsqldb:jar:2.5.0:test
@@ -161,29 +160,30 @@
org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:compile
org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:1.0.1.Final:compile
org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.0.Final:compile
- org.jmock:jmock-imposters:jar:2.11.0:runtime
- org.jmock:jmock-junit4:jar:2.11.0:compile
- org.jmock:jmock-legacy:jar:2.11.0:runtime
- org.jmock:jmock-testjar:jar:2.11.0:compile
- org.jmock:jmock:jar:2.11.0:compile
- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:compile
- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:compile
- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:compile
- org.junit.jupiter:junit-jupiter:jar:5.5.2:compile
- org.junit.platform:junit-platform-commons:jar:1.5.2:compile
- org.junit.platform:junit-platform-engine:jar:1.5.2:compile
- org.junit.vintage:junit-vintage-engine:jar:5.5.2:compile
- org.mockito:mockito-core:jar:3.1.0:compile
- org.mockito:mockito-junit-jupiter:jar:3.1.0:compile
+ org.jmock:jmock-imposters:jar:2.11.0:test
+ org.jmock:jmock-junit4:jar:2.11.0:test
+ org.jmock:jmock-legacy:jar:2.11.0:test
+ org.jmock:jmock-testjar:jar:2.11.0:test
+ org.jmock:jmock:jar:2.11.0:test
+ org.junit.jupiter:junit-jupiter-api:jar:5.5.2:test
+ org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:test
+ org.junit.jupiter:junit-jupiter-params:jar:5.5.2:test
+ org.junit.jupiter:junit-jupiter:jar:5.5.2:test
+ org.junit.platform:junit-platform-commons:jar:1.5.2:test
+ org.junit.platform:junit-platform-engine:jar:1.5.2:test
+ org.junit.vintage:junit-vintage-engine:jar:5.5.2:test
+ org.mockito:mockito-core:jar:3.1.0:test
+ org.mockito:mockito-junit-jupiter:jar:3.1.0:test
org.objenesis:objenesis:jar:2.2:compile
- org.opentest4j:opentest4j:jar:1.2.0:compile
+ org.opentest4j:opentest4j:jar:1.2.0:test
org.ow2.asm:asm-analysis:jar:7.1:compile
org.ow2.asm:asm-tree:jar:7.1:compile
org.ow2.asm:asm-util:jar:7.1:compile
- org.picocontainer:picocontainer:jar:2.15:compile
+ org.ow2.asm:asm:jar:6.2.1:test
+ org.picocontainer:picocontainer:jar:2.15:test
org.projectlombok:lombok:jar:1.18.10:provided
org.reactivestreams:reactive-streams:jar:1.0.3:compile
- org.skyscreamer:jsonassert:jar:1.5.0:compile
+ org.skyscreamer:jsonassert:jar:1.5.0:test
org.slf4j:jul-to-slf4j:jar:1.7.29:compile
org.slf4j:slf4j-api:jar:1.7.29:compile
org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.1.RELEASE:compile
@@ -191,13 +191,13 @@
org.springframework.boot:spring-boot-autoconfigure:jar:2.2.1.RELEASE:compile
org.springframework.boot:spring-boot-starter-json:jar:2.2.1.RELEASE:compile
org.springframework.boot:spring-boot-starter-log4j2:jar:2.2.1.RELEASE:compile
- org.springframework.boot:spring-boot-starter-test:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-starter-test:jar:2.2.1.RELEASE:test
org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.1.RELEASE:compile
org.springframework.boot:spring-boot-starter-validation:jar:2.2.1.RELEASE:compile
org.springframework.boot:spring-boot-starter-web:jar:2.2.1.RELEASE:compile
org.springframework.boot:spring-boot-starter:jar:2.2.1.RELEASE:compile
- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.1.RELEASE:compile
- org.springframework.boot:spring-boot-test:jar:2.2.1.RELEASE:compile
+ org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.1.RELEASE:test
+ org.springframework.boot:spring-boot-test:jar:2.2.1.RELEASE:test
org.springframework.boot:spring-boot:jar:2.2.1.RELEASE:compile
org.springframework:spring-aop:jar:5.2.1.RELEASE:compile
org.springframework:spring-beans:jar:5.2.1.RELEASE:compile
@@ -205,7 +205,7 @@
org.springframework:spring-core:jar:5.2.1.RELEASE:compile
org.springframework:spring-expression:jar:5.2.1.RELEASE:compile
org.springframework:spring-jcl:jar:5.2.1.RELEASE:compile
- org.springframework:spring-test:jar:5.2.1.RELEASE:compile
+ org.springframework:spring-test:jar:5.2.1.RELEASE:test
org.springframework:spring-tx:jar:5.2.1.RELEASE:compile
org.springframework:spring-web:jar:5.2.1.RELEASE:compile
org.springframework:spring-webmvc:jar:5.2.1.RELEASE:compile
@@ -220,6 +220,6 @@
org.webjars:modernizr:jar:2.8.3-1:compile
org.webjars:select2:jar:4.0.10:compile
org.wicketstuff:wicketstuff-select2:jar:8.6.0:compile
- org.xmlunit:xmlunit-core:jar:2.6.3:compile
+ org.xmlunit:xmlunit-core:jar:2.6.3:test
org.yaml:snakeyaml:jar:1.25:runtime
The following files have been resolved:
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
index 1ade18f..07973d3 100644
--- a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
+++ b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
@@ -1,19 +1,30 @@
org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
-+- org.apache.isis.examples.apps:simpleapp-application:jar:2.0.0-M3-SNAPSHOT:compile
-| +- org.apache.isis.examples.apps:simpleapp-module-simple:jar:2.0.0-M3-SNAPSHOT:compile
-| | +- org.apache.isis.extensions:isis-extensions-fixtures:jar:2.0.0-M3-SNAPSHOT:compile
-| | | \- org.apache.isis.extensions:isis-extensions-spring:jar:2.0.0-M3-SNAPSHOT:compile
-| | \- org.apache.isis.extensions:isis-extensions-specsupport:jar:2.0.0-M3-SNAPSHOT:compile
-| | +- io.cucumber:cucumber-java:jar:4.8.0:compile
-| | | \- io.cucumber:cucumber-core:jar:4.8.0:compile
-| | | +- io.cucumber:gherkin:jar:5.1.0:compile
-| | | +- io.cucumber:tag-expressions:jar:1.1.1:compile
-| | | +- io.cucumber:cucumber-expressions:jar:7.0.2:compile
-| | | \- io.cucumber:datatable:jar:1.1.14:compile
-| | | \- io.cucumber:datatable-dependencies:jar:1.1.14:compile
-| | +- io.cucumber:cucumber-spring:jar:4.8.0:compile
-| | \- io.cucumber:cucumber-junit:jar:4.8.0:compile
-| \- org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-M3-SNAPSHOT:compile
++- org.apache.isis.examples.apps:simpleapp-module-simple:jar:2.0.0-M3-SNAPSHOT:compile
+| +- org.apache.isis.core:isis-applib:jar:2.0.0-M3-SNAPSHOT:compile
+| | \- org.apache.isis.core:isis-commons:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- javax:javaee-api:jar:8.0:compile
+| | | \- com.sun.mail:javax.mail:jar:1.6.0:compile
+| | | \- javax.activation:activation:jar:1.1:compile
+| | +- com.google.code.findbugs:annotations:jar:2.0.1:compile
+| | +- org.springframework:spring-tx:jar:5.2.1.RELEASE:compile
+| | \- org.springframework.boot:spring-boot-starter-log4j2:jar:2.2.1.RELEASE:compile
+| | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.12.1:compile
+| | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
+| | +- org.apache.logging.log4j:log4j-core:jar:2.12.1:compile
+| | +- org.apache.logging.log4j:log4j-jul:jar:2.12.1:compile
+| | \- org.slf4j:jul-to-slf4j:jar:1.7.29:compile
+| +- org.apache.isis.core:isis-persistence-jdo-datanucleus5:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.datanucleus:javax.jdo:jar:3.2.0-m12:compile
+| | | \- javax.transaction:transaction-api:jar:1.1:compile
+| | +- org.datanucleus:datanucleus-core:jar:5.2.2:compile
+| | +- org.datanucleus:datanucleus-api-jdo:jar:5.2.2:compile
+| | +- org.datanucleus:datanucleus-jdo-query:jar:5.0.9:compile
+| | +- org.datanucleus:datanucleus-rdbms:jar:5.2.1:compile
+| | +- org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile
+| | \- org.apache.isis.core:isis-persistence-jdo-common:jar:2.0.0-M3-SNAPSHOT:compile
+| \- org.apache.isis.extensions:isis-extensions-fixtures:jar:2.0.0-M3-SNAPSHOT:compile
+| +- joda-time:joda-time:jar:2.10.5:compile
+| \- org.apache.isis.extensions:isis-extensions-spring:jar:2.0.0-M3-SNAPSHOT:compile
+- org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:2.0.0-M3-SNAPSHOT:compile
| +- org.springframework.boot:spring-boot-starter-web:jar:2.2.1.RELEASE:compile
| | +- org.springframework.boot:spring-boot-starter:jar:2.2.1.RELEASE:compile
@@ -33,21 +44,7 @@ org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
| | | \- com.fasterxml:classmate:jar:1.5.1:compile
| | +- org.springframework:spring-web:jar:5.2.1.RELEASE:compile
| | \- org.springframework:spring-webmvc:jar:5.2.1.RELEASE:compile
-| +- org.apache.isis.core:isis-applib:jar:2.0.0-M3-SNAPSHOT:compile
-| | \- org.apache.isis.core:isis-commons:jar:2.0.0-M3-SNAPSHOT:compile
-| | +- javax:javaee-api:jar:8.0:compile
-| | | \- com.sun.mail:javax.mail:jar:1.6.0:compile
-| | | \- javax.activation:activation:jar:1.1:compile
-| | +- com.google.code.findbugs:annotations:jar:2.0.1:compile
-| | +- org.springframework:spring-tx:jar:5.2.1.RELEASE:compile
-| | \- org.springframework.boot:spring-boot-starter-log4j2:jar:2.2.1.RELEASE:compile
-| | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.12.1:compile
-| | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
-| | +- org.apache.logging.log4j:log4j-core:jar:2.12.1:compile
-| | +- org.apache.logging.log4j:log4j-jul:jar:2.12.1:compile
-| | \- org.slf4j:jul-to-slf4j:jar:1.7.29:compile
| +- org.apache.isis.core:isis-schema:jar:2.0.0-M3-SNAPSHOT:compile
-| | \- joda-time:joda-time:jar:2.10.5:compile
| +- org.apache.isis.core:isis-codegen-bytebuddy:jar:2.0.0-M3-SNAPSHOT:compile
| | +- net.bytebuddy:byte-buddy:jar:1.10.2:compile
| | \- org.objenesis:objenesis:jar:2.2:compile
@@ -99,11 +96,6 @@ org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
| +- org.apache.isis.core:isis-viewer-restfulobjects-server:jar:2.0.0-M3-SNAPSHOT:compile
| | +- org.apache.isis.core:isis-runtime-web:jar:2.0.0-M3-SNAPSHOT:compile
| | +- org.apache.isis.core:isis-viewer-restfulobjects-rendering:jar:2.0.0-M3-SNAPSHOT:compile
-| | | +- org.apache.isis.core:isis-metamodel:jar:2.0.0-M3-SNAPSHOT:compile
-| | | | \- io.swagger:swagger-core:jar:1.5.21:compile
-| | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.10.0:compile
-| | | | \- io.swagger:swagger-models:jar:1.5.21:compile
-| | | | \- io.swagger:swagger-annotations:jar:1.5.21:compile
| | | \- org.apache.isis.core:isis-viewer-restfulobjects-applib:jar:2.0.0-M3-SNAPSHOT:compile
| | \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.10.0:compile
| | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
@@ -147,18 +139,6 @@ org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
| | | \- org.apache.shiro:shiro-event:jar:1.4.1:compile
| | \- org.apache.shiro:shiro-web:jar:1.4.1:compile
| +- org.apache.isis.core:isis-security-keycloak:jar:2.0.0-M3-SNAPSHOT:compile
-| +- org.apache.isis.core:isis-persistence-jdo-datanucleus5:jar:2.0.0-M3-SNAPSHOT:compile
-| | +- org.datanucleus:javax.jdo:jar:3.2.0-m12:compile
-| | | \- javax.transaction:transaction-api:jar:1.1:compile
-| | +- org.datanucleus:datanucleus-core:jar:5.2.2:compile
-| | +- org.datanucleus:datanucleus-api-jdo:jar:5.2.2:compile
-| | +- org.datanucleus:datanucleus-jdo-query:jar:5.0.9:compile
-| | +- org.datanucleus:datanucleus-rdbms:jar:5.2.1:compile
-| | +- org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile
-| | +- org.apache.isis.core:isis-runtime:jar:2.0.0-M3-SNAPSHOT:compile
-| | | \- org.apache.commons:commons-email:jar:1.4:compile
-| | +- org.apache.isis.core:isis-runtime-extensions:jar:2.0.0-M3-SNAPSHOT:compile
-| | \- org.apache.isis.core:isis-persistence-jdo-common:jar:2.0.0-M3-SNAPSHOT:compile
| \- com.google.guava:guava:jar:28.1-jre:compile
| +- com.google.guava:failureaccess:jar:1.0.1:compile
| +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
@@ -167,48 +147,68 @@ org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
| +- com.google.errorprone:error_prone_annotations:jar:2.3.2:compile
| +- com.google.j2objc:j2objc-annotations:jar:1.3:compile
| \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
++- org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-M3-SNAPSHOT:compile
+- com.h2database:h2:jar:1.4.200:compile
+- org.apache.isis.mavendeps:isis-mavendeps-testing:pom:2.0.0-M3-SNAPSHOT:test
-| +- org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:compile
-| | +- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:compile
-| | | +- org.apiguardian:apiguardian-api:jar:1.1.0:compile
-| | | +- org.opentest4j:opentest4j:jar:1.2.0:compile
-| | | \- org.junit.platform:junit-platform-commons:jar:1.5.2:compile
-| | +- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:compile
-| | | \- org.junit.platform:junit-platform-engine:jar:1.5.2:compile
-| | +- org.junit.vintage:junit-vintage-engine:jar:5.5.2:compile
-| | | \- junit:junit:jar:4.12:compile
-| | +- org.mockito:mockito-core:jar:3.1.0:compile
+| +- org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:test
+| | +- org.mockito:mockito-core:jar:3.1.0:test
| | +- org.slf4j:slf4j-api:jar:1.7.29:compile
-| | +- org.springframework.boot:spring-boot-starter-test:jar:2.2.1.RELEASE:compile
-| | | +- org.springframework.boot:spring-boot-test:jar:2.2.1.RELEASE:compile
-| | | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.1.RELEASE:compile
-| | | +- com.jayway.jsonpath:json-path:jar:2.4.0:compile
-| | | | \- net.minidev:json-smart:jar:2.3:compile
-| | | | \- net.minidev:accessors-smart:jar:1.2:compile
-| | | +- org.junit.jupiter:junit-jupiter:jar:5.5.2:compile
-| | | | \- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:compile
-| | | +- org.mockito:mockito-junit-jupiter:jar:3.1.0:compile
+| | +- org.springframework.boot:spring-boot-starter-test:jar:2.2.1.RELEASE:test
+| | | +- org.springframework.boot:spring-boot-test:jar:2.2.1.RELEASE:test
+| | | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.1.RELEASE:test
+| | | +- com.jayway.jsonpath:json-path:jar:2.4.0:test
+| | | | \- net.minidev:json-smart:jar:2.3:test
+| | | | \- net.minidev:accessors-smart:jar:1.2:test
+| | | +- org.junit.jupiter:junit-jupiter:jar:5.5.2:test
+| | | | \- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:test
+| | | +- org.mockito:mockito-junit-jupiter:jar:3.1.0:test
| | | +- org.hamcrest:hamcrest:jar:2.1:compile
-| | | +- org.skyscreamer:jsonassert:jar:1.5.0:compile
-| | | | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile
-| | | \- org.xmlunit:xmlunit-core:jar:2.6.3:compile
-| | +- org.springframework:spring-test:jar:5.2.1.RELEASE:compile
-| | +- org.jmock:jmock:jar:2.11.0:compile
-| | | +- org.jmock:jmock-testjar:jar:2.11.0:compile
-| | | \- org.apache-extras.beanshell:bsh:jar:2.0b6:compile
-| | \- org.jmock:jmock-junit4:jar:2.11.0:compile
-| | +- org.jmock:jmock-legacy:jar:2.11.0:runtime
-| | | \- cglib:cglib:jar:3.2.8:runtime
-| | \- org.jmock:jmock-imposters:jar:2.11.0:runtime
+| | | +- org.skyscreamer:jsonassert:jar:1.5.0:test
+| | | | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
+| | | \- org.xmlunit:xmlunit-core:jar:2.6.3:test
+| | +- org.springframework:spring-test:jar:5.2.1.RELEASE:test
+| | \- org.jmock:jmock-junit4:jar:2.11.0:test
+| | +- org.jmock:jmock-legacy:jar:2.11.0:test
+| | | \- cglib:cglib:jar:3.2.8:test
+| | \- org.jmock:jmock-imposters:jar:2.11.0:test
| +- org.apache.isis.core:isis-integtestsupport:jar:2.0.0-M3-SNAPSHOT:test
-| +- org.hamcrest:hamcrest-library:jar:2.1:compile
-| | \- org.hamcrest:hamcrest-core:jar:2.1:compile
-| +- org.assertj:assertj-core:jar:3.13.2:compile
+| +- org.hamcrest:hamcrest-library:jar:2.1:test
+| | \- org.hamcrest:hamcrest-core:jar:2.1:test
+| +- org.assertj:assertj-core:jar:3.13.2:test
| +- com.approvaltests:approvaltests:jar:4.0.2:test
| | \- com.approvaltests:approvaltests-util:jar:4.0.2:test
-| +- org.picocontainer:picocontainer:jar:2.15:compile
+| +- org.picocontainer:picocontainer:jar:2.15:test
| \- org.hsqldb:hsqldb:jar:2.5.0:test
++- org.apache.isis.extensions:isis-extensions-specsupport:jar:2.0.0-M3-SNAPSHOT:test
+| +- org.apache.isis.core:isis-runtime:jar:2.0.0-M3-SNAPSHOT:compile
+| | +- org.apache.isis.core:isis-metamodel:jar:2.0.0-M3-SNAPSHOT:compile
+| | | \- io.swagger:swagger-core:jar:1.5.21:compile
+| | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.10.0:compile
+| | | \- io.swagger:swagger-models:jar:1.5.21:compile
+| | | \- io.swagger:swagger-annotations:jar:1.5.21:compile
+| | \- org.apache.commons:commons-email:jar:1.4:compile
+| +- org.apache.isis.core:isis-runtime-extensions:jar:2.0.0-M3-SNAPSHOT:compile
+| +- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:test
+| | +- org.apiguardian:apiguardian-api:jar:1.1.0:test
+| | +- org.opentest4j:opentest4j:jar:1.2.0:test
+| | \- org.junit.platform:junit-platform-commons:jar:1.5.2:test
+| +- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:test
+| | \- org.junit.platform:junit-platform-engine:jar:1.5.2:test
+| +- org.junit.vintage:junit-vintage-engine:jar:5.5.2:test
+| | \- junit:junit:jar:4.12:test
+| +- org.jmock:jmock:jar:2.11.0:test
+| | +- org.jmock:jmock-testjar:jar:2.11.0:test
+| | +- org.ow2.asm:asm:jar:6.2.1:test
+| | \- org.apache-extras.beanshell:bsh:jar:2.0b6:test
+| +- io.cucumber:cucumber-java:jar:4.8.0:test
+| | \- io.cucumber:cucumber-core:jar:4.8.0:test
+| | +- io.cucumber:gherkin:jar:5.1.0:test
+| | +- io.cucumber:tag-expressions:jar:1.1.1:test
+| | +- io.cucumber:cucumber-expressions:jar:7.0.2:test
+| | \- io.cucumber:datatable:jar:1.1.14:test
+| | \- io.cucumber:datatable-dependencies:jar:1.1.14:test
+| +- io.cucumber:cucumber-spring:jar:4.8.0:test
+| \- io.cucumber:cucumber-junit:jar:4.8.0:test
+- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.1.RELEASE:compile
| +- org.springframework.boot:spring-boot-actuator:jar:2.2.1.RELEASE:compile
| | \- org.springframework.boot:spring-boot:jar:2.2.1.RELEASE:compile
[isis-app-simpleapp] 05/09: simplifies test package hierarchy for
webapp
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 1de02f55c5c71251448ed74a99bbbcacbdde4162
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 11:32:29 2019 +0000
simplifies test package hierarchy for webapp
---
.../domainapp/webapp./application/integtests/mml/received/.gitignore | 1 -
.../java/domainapp/webapp/{application => }/bdd/RunIntegBddSpecs.java | 2 +-
.../webapp/{application => }/bdd/glue/SimpleObjectsStepDef.java | 4 ++--
.../bdd/specs/SimpleObjectSpec_listAllAndCreate.feature | 0
.../{application => }/integtests/ApplicationIntegTestAbstract.java | 2 +-
.../{application => }/integtests/mml/DomainModel_IntegTest.java | 4 ++--
.../{application => }/integtests/mml/MetaModelService_IntegTest.java | 4 ++--
...plication.fixture.DomainAppFixtureScriptsSpecificationProvider.xml | 0
.../domainapp.application.services.health.HealthCheckServiceImpl.xml | 0
.../domainapp.application.services.homepage.HomePageViewModel.xml | 0
.../mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml | 0
.../mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml | 0
.../webapp/{application => }/integtests/mml/received/.gitignore | 0
.../webapp/{application => }/integtests/smoke/Smoke_IntegTest.java | 4 ++--
14 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/webapp/src/test/java/domainapp/webapp./application/integtests/mml/received/.gitignore b/webapp/src/test/java/domainapp/webapp./application/integtests/mml/received/.gitignore
deleted file mode 100644
index b81c795..0000000
--- a/webapp/src/test/java/domainapp/webapp./application/integtests/mml/received/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.xml
\ No newline at end of file
diff --git a/webapp/src/test/java/domainapp/webapp/application/bdd/RunIntegBddSpecs.java b/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
similarity index 97%
rename from webapp/src/test/java/domainapp/webapp/application/bdd/RunIntegBddSpecs.java
rename to webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
index c9093ba..04ede2f 100644
--- a/webapp/src/test/java/domainapp/webapp/application/bdd/RunIntegBddSpecs.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package domainapp.webapp.application.bdd;
+package domainapp.webapp.bdd;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
diff --git a/webapp/src/test/java/domainapp/webapp/application/bdd/glue/SimpleObjectsStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
similarity index 96%
rename from webapp/src/test/java/domainapp/webapp/application/bdd/glue/SimpleObjectsStepDef.java
rename to webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
index 459596a..dabde53 100644
--- a/webapp/src/test/java/domainapp/webapp/application/bdd/glue/SimpleObjectsStepDef.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.webapp.application.bdd.glue;
+package domainapp.webapp.bdd.glue;
import java.util.List;
import java.util.UUID;
@@ -32,7 +32,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import domainapp.webapp.application.fixture.scenarios.DomainAppDemo;
-import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
import domainapp.modules.simple.dom.impl.SimpleObject;
import domainapp.modules.simple.dom.impl.SimpleObjects;
import domainapp.modules.simple.fixture.SimpleObject_persona;
diff --git a/webapp/src/test/java/domainapp/webapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
rename to webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
similarity index 97%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/ApplicationIntegTestAbstract.java
rename to webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
index adcff47..f53dd7e 100644
--- a/webapp/src/test/java/domainapp/webapp/application/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.webapp.application.integtests;
+package domainapp.webapp.integtests;
import domainapp.webapp.application.ApplicationModule;
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/DomainModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
similarity index 91%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/DomainModel_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
index 4c46b3a..c6c7d25 100644
--- a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/DomainModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.webapp.application.integtests.mml;
+package domainapp.webapp.integtests.mml;
import javax.inject.Inject;
@@ -26,7 +26,7 @@ import org.junit.jupiter.api.Test;
import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
-import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
class DomainModel_IntegTest extends ApplicationIntegTestAbstract {
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/MetaModelService_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/mml/MetaModelService_IntegTest.java
similarity index 97%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/MetaModelService_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/MetaModelService_IntegTest.java
index 4cd94ca..cc54f7b 100644
--- a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/MetaModelService_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/mml/MetaModelService_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.webapp.application.integtests.mml;
+package domainapp.webapp.integtests.mml;
import java.io.File;
import java.util.List;
@@ -41,7 +41,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assume.assumeThat;
-import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml b/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml b/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/mml/received/.gitignore b/webapp/src/test/java/domainapp/webapp/integtests/mml/received/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/mml/received/.gitignore
rename to webapp/src/test/java/domainapp/webapp/integtests/mml/received/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/application/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
similarity index 95%
rename from webapp/src/test/java/domainapp/webapp/application/integtests/smoke/Smoke_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
index 228abbd..ed307fa 100644
--- a/webapp/src/test/java/domainapp/webapp/application/integtests/smoke/Smoke_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package domainapp.webapp.application.integtests.smoke;
+package domainapp.webapp.integtests.smoke;
import java.util.List;
@@ -29,7 +29,7 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import static org.assertj.core.api.Assertions.assertThat;
-import domainapp.webapp.application.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
import domainapp.modules.simple.dom.impl.SimpleObject;
import domainapp.modules.simple.dom.impl.SimpleObjects;
[isis-app-simpleapp] 06/09: Re-enables metamodel validation integ
test
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 3bc126cd245c350ec3f0f56d90b1bf24c615f0b8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 11:55:18 2019 +0000
Re-enables metamodel validation integ test
---
.../java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
index c6c7d25..ed2a754 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
@@ -32,7 +32,7 @@ class DomainModel_IntegTest extends ApplicationIntegTestAbstract {
@Inject protected SpecificationLoader specificationLoader;
- @Test @Disabled("with full introspection in place this test actually throws")
+ @Test
void validateDomainModel() {
new ValidateDomainModel(specificationLoader).run();
}
[isis-app-simpleapp] 02/09: combines application and webapp modules
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 4c95924c1a288e9c3f98dbd3d5799b46b7fb79fe
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 10:53:35 2019 +0000
combines application and webapp modules
---
application/.gitignore | 1 -
application/pom.xml | 133 ---------------------
pom.xml | 1 -
{application => webapp}/log4j2-test.xml | 0
webapp/pom.xml | 68 +++++++----
.../domainapp/application/ApplicationModule.java | 0
...mainAppFixtureScriptsSpecificationProvider.java | 0
.../fixture/scenarios/DomainAppDemo.java | 0
.../services/health/HealthCheckServiceImpl.java | 0
.../services/homepage/HomePageService.java | 0
.../services/homepage/HomePageViewModel.java | 0
.../services/homepage/HomePageViewModel.layout.xml | 0
.../services/homepage/HomePageViewModel.png | Bin
.../src/main/resources/log4j2-spring.xml | 0
.../application/bdd/RunIntegBddSpecs.java | 0
.../application/bdd/glue/SimpleObjectsStepDef.java | 0
.../SimpleObjectSpec_listAllAndCreate.feature | 0
.../integtests/ApplicationIntegTestAbstract.java | 0
.../integtests/mml/DomainModel_IntegTest.java | 0
.../integtests/mml/MetaModelService_IntegTest.java | 0
...omainAppFixtureScriptsSpecificationProvider.xml | 0
...tion.services.health.HealthCheckServiceImpl.xml | 0
...ication.services.homepage.HomePageViewModel.xml | 0
...ainapp.modules.simple.dom.impl.SimpleObject.xml | 0
...inapp.modules.simple.dom.impl.SimpleObjects.xml | 0
.../application/integtests/mml/received/.gitignore | 0
.../integtests/smoke/Smoke_IntegTest.java | 0
.../webapp/lockdown/.gitignore | 0
.../webapp/lockdown/LockDownMavenDeps_Test.java | 2 +-
.../LockDownMavenDeps_Test.list.approved.txt | 0
.../LockDownMavenDeps_Test.tree.approved.txt | 0
31 files changed, 46 insertions(+), 159 deletions(-)
diff --git a/application/.gitignore b/application/.gitignore
deleted file mode 100644
index c71ea97..0000000
--- a/application/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.apt_generated/
diff --git a/application/pom.xml b/application/pom.xml
deleted file mode 100644
index ee571d5..0000000
--- a/application/pom.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.isis.examples.apps</groupId>
- <artifactId>simpleapp</artifactId>
- <version>2.0.0-M3-SNAPSHOT</version>
- </parent>
-
- <artifactId>simpleapp-application</artifactId>
- <name>Apache Isis App - SimpleApp Application</name>
-
- <description>This defines the application (manifest) and runs application-level fixtures and integration (smoke) tests</description>
-
- <packaging>jar</packaging>
-
- <properties>
- <maven-cucumber-reporting.version>4.11.2</maven-cucumber-reporting.version>
- </properties>
-
- <build>
- <resources>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- </resource>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/java</directory>
- <includes>
- <include>**</include>
- </includes>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <filtering>false</filtering>
- <directory>src/test/resources</directory>
- </testResource>
- <testResource>
- <filtering>false</filtering>
- <directory>src/test/java</directory>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <groupId>net.masterthought</groupId>
- <artifactId>maven-cucumber-reporting</artifactId>
- <version>${maven-cucumber-reporting.version}</version>
- <executions>
- <execution>
- <id>execution</id>
- <phase>verify</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <projectName>SimpleApp</projectName>
- <outputDirectory>${project.build.directory}</outputDirectory>
- <inputDirectory>${project.build.directory}</inputDirectory>
- <jsonFiles>
- <param>**/*.json</param>
- </jsonFiles>
- <skip>${skipBSs}</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
-
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>simpleapp-module-simple</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-webapp</artifactId>
- <type>pom</type>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-jdk11</artifactId>
- <type>pom</type>
- </dependency>
-
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-testing</artifactId>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-</project>
diff --git a/pom.xml b/pom.xml
index 1f56c56..4740549 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,7 +74,6 @@
<modules>
<module>module-simple</module>
- <module>application</module>
<module>webapp</module>
</modules>
diff --git a/application/log4j2-test.xml b/webapp/log4j2-test.xml
similarity index 100%
rename from application/log4j2-test.xml
rename to webapp/log4j2-test.xml
diff --git a/webapp/pom.xml b/webapp/pom.xml
index a3758f8..c1d8d22 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -34,7 +34,10 @@
<packaging>jar</packaging>
<properties>
+<!--
<maven-war-plugin.warName>${project.parent.artifactId}</maven-war-plugin.warName>
+-->
+ <maven-cucumber-reporting.version>4.11.2</maven-cucumber-reporting.version>
</properties>
<build>
@@ -54,14 +57,48 @@
</excludes>
</resource>
</resources>
+ <testResources>
+ <testResource>
+ <filtering>false</filtering>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <testResource>
+ <filtering>false</filtering>
+ <directory>src/test/java</directory>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>net.masterthought</groupId>
+ <artifactId>maven-cucumber-reporting</artifactId>
+ <version>${maven-cucumber-reporting.version}</version>
+ <executions>
+ <execution>
+ <id>execution</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <projectName>SimpleApp</projectName>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <inputDirectory>${project.build.directory}</inputDirectory>
+ <jsonFiles>
+ <param>**/*.json</param>
+ </jsonFiles>
+ <skip>${skipBSs}</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
<dependencies>
- <!-- this app -->
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>simpleapp-application</artifactId>
+ <artifactId>simpleapp-module-simple</artifactId>
</dependency>
<!-- isis -->
@@ -72,6 +109,12 @@
</dependency>
<dependency>
+ <groupId>org.apache.isis.mavendeps</groupId>
+ <artifactId>isis-mavendeps-jdk11</artifactId>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
@@ -131,27 +174,6 @@
</profile>
<profile>
- <id>jdbc-logging</id>
- <activation>
- <property>
- <name>jdbc-logging</name>
- </property>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.lazyluke</groupId>
- <artifactId>log4jdbc-remix</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
-
- <profile>
<id>lockdown</id>
<activation>
<property>
diff --git a/application/src/main/java/domainapp/application/ApplicationModule.java b/webapp/src/main/java/domainapp/application/ApplicationModule.java
similarity index 100%
rename from application/src/main/java/domainapp/application/ApplicationModule.java
rename to webapp/src/main/java/domainapp/application/ApplicationModule.java
diff --git a/application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java b/webapp/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
similarity index 100%
rename from application/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
rename to webapp/src/main/java/domainapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
diff --git a/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java b/webapp/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
similarity index 100%
rename from application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
rename to webapp/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
diff --git a/application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java b/webapp/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
similarity index 100%
rename from application/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
rename to webapp/src/main/java/domainapp/application/services/health/HealthCheckServiceImpl.java
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageService.java b/webapp/src/main/java/domainapp/application/services/homepage/HomePageService.java
similarity index 100%
rename from application/src/main/java/domainapp/application/services/homepage/HomePageService.java
rename to webapp/src/main/java/domainapp/application/services/homepage/HomePageService.java
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java b/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
similarity index 100%
rename from application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
rename to webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml b/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
similarity index 100%
rename from application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
rename to webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.layout.xml
diff --git a/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png b/webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png
similarity index 100%
rename from application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png
rename to webapp/src/main/java/domainapp/application/services/homepage/HomePageViewModel.png
diff --git a/application/src/main/resources/log4j2-spring.xml b/webapp/src/main/resources/log4j2-spring.xml
similarity index 100%
rename from application/src/main/resources/log4j2-spring.xml
rename to webapp/src/main/resources/log4j2-spring.xml
diff --git a/application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java b/webapp/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
similarity index 100%
rename from application/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
rename to webapp/src/test/java/domainapp/application/bdd/RunIntegBddSpecs.java
diff --git a/application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java b/webapp/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
similarity index 100%
rename from application/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
rename to webapp/src/test/java/domainapp/application/bdd/glue/SimpleObjectsStepDef.java
diff --git a/application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
similarity index 100%
rename from application/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
rename to webapp/src/test/java/domainapp/application/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
diff --git a/application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
rename to webapp/src/test/java/domainapp/application/integtests/ApplicationIntegTestAbstract.java
diff --git a/application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java b/webapp/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
rename to webapp/src/test/java/domainapp/application/integtests/mml/DomainModel_IntegTest.java
diff --git a/application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java b/webapp/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
rename to webapp/src/test/java/domainapp/application/integtests/mml/MetaModelService_IntegTest.java
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
rename to webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml b/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
rename to webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml b/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
rename to webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
rename to webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
diff --git a/application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
rename to webapp/src/test/java/domainapp/application/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
diff --git a/application/src/test/java/domainapp/application/integtests/mml/received/.gitignore b/webapp/src/test/java/domainapp/application/integtests/mml/received/.gitignore
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/mml/received/.gitignore
rename to webapp/src/test/java/domainapp/application/integtests/mml/received/.gitignore
diff --git a/application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
similarity index 100%
rename from application/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
rename to webapp/src/test/java/domainapp/application/integtests/smoke/Smoke_IntegTest.java
diff --git a/webapp/src/test/java/domain/webapp/lockdown/.gitignore b/webapp/src/test/java/domainapp/webapp/lockdown/.gitignore
similarity index 100%
rename from webapp/src/test/java/domain/webapp/lockdown/.gitignore
rename to webapp/src/test/java/domainapp/webapp/lockdown/.gitignore
diff --git a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.java b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.java
similarity index 97%
rename from webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.java
rename to webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.java
index 600ce9e..f64caf2 100644
--- a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.java
+++ b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.java
@@ -1,4 +1,4 @@
-package domain.webapp.lockdown;
+package domainapp.webapp.lockdown;
import java.io.IOException;
import java.net.URL;
diff --git a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
similarity index 100%
rename from webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
rename to webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
diff --git a/webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
similarity index 100%
rename from webapp/src/test/java/domain/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
rename to webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
[isis-app-simpleapp] 08/09: cleans up the two lockdown tests/integ
tests. Removes ASF license statements.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 2051730df559fc0f686d0735c32e6af2f323c25f
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 17:08:22 2019 +0000
cleans up the two lockdown tests/integ tests. Removes ASF license statements.
---
.gitlab-ci.yml | 51 ------
.m2/settings.xml | 15 --
LICENSE | 201 +++++++++++++++++++++
README.adoc | 130 +++++++------
module-simple/logging-dn-enhance.properties | 17 --
module-simple/pom.xml | 10 -
.../src/main/java/META-INF/persistence.xml | 18 --
.../domainapp/modules/simple/SimpleModule.java | 18 --
.../modules/simple/dom/impl/SimpleObject.java | 18 --
.../simple/dom/impl/SimpleObject.layout.xml | 18 --
.../modules/simple/dom/impl/SimpleObjects.java | 18 --
.../domainapp/modules/simple/dom/types/Name.java | 18 --
.../domainapp/modules/simple/dom/types/Notes.java | 18 --
.../simple/fixture/SimpleObjectBuilder.java | 19 --
.../simple/fixture/SimpleObject_persona.java | 19 --
.../modules/simple/dom/impl/SimpleObject_Test.java | 16 --
.../simple/dom/impl/SimpleObjects_Test.java | 16 --
.../integtests/SimpleModuleIntegTestAbstract.java | 18 --
.../integtests/tests/SimpleObject_IntegTest.java | 18 --
.../integtests/tests/SimpleObjects_IntegTest.java | 18 --
pom.xml | 18 --
webapp/lib/.gitignore | 0
webapp/pom.xml | 91 +++-------
.../src/main/java/domainapp/webapp/SimpleApp.java | 18 --
.../webapp/application/ApplicationModule.java | 18 --
...mainAppFixtureScriptsSpecificationProvider.java | 18 --
.../fixture/scenarios/DomainAppDemo.java | 18 --
.../webapp/application/layout/menubars.layout.xml | 18 --
.../services/health/HealthCheckServiceImpl.java | 18 --
.../services/homepage/HomePageService.java | 18 --
.../services/homepage/HomePageViewModel.java | 18 --
.../services/homepage/HomePageViewModel.layout.xml | 18 --
webapp/src/main/resources/shiro.ini | 18 --
.../src/main/resources/static/css/application.css | 19 --
webapp/src/main/resources/static/index.html | 18 --
webapp/src/main/webapp/WEB-INF/web.xml | 18 --
.../domainapp/webapp/bdd/RunIntegBddSpecs.java | 16 --
.../webapp/bdd/glue/SimpleObjectsStepDef.java | 19 +-
.../SimpleObjectSpec_listAllAndCreate.feature | 16 --
.../integtests/ApplicationIntegTestAbstract.java | 18 --
.../metamodel/ValidateDomainModel_IntegTest.java | 22 +++
.../lockdown/LockDownMetaModel_IntegTest.java} | 65 ++-----
...ainapp.modules.simple.dom.impl.SimpleObject.xml | 103 ++++++++++-
...inapp.modules.simple.dom.impl.SimpleObjects.xml | 154 +++-------------
...mainAppFixtureScriptsSpecificationProvider.xml} | 10 +-
...ion.services.health.HealthCheckServiceImpl.xml} | 10 +-
...cation.services.homepage.HomePageViewModel.xml} | 84 +++++++--
.../lockdown}/received/.gitignore | 0
.../integtests/mml/DomainModel_IntegTest.java | 41 -----
.../webapp/integtests/smoke/Smoke_IntegTest.java | 18 --
.../webapp/lockdown/LockDownMavenDeps_Test.java | 50 -----
.../mavendeps/lockdown/LockDownMavenDeps_Test.java | 71 ++++++++
.../approved/LockDownMavenDeps_Test.list.txt} | 0
.../approved/LockDownMavenDeps_Test.tree.txt} | 24 +--
.../mavendeps}/lockdown/received/.gitignore | 0
.../util/ReceivedVsApprovedApprovalTextWriter.java | 35 ++++
56 files changed, 670 insertions(+), 1104 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 7d4a33b..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# requires the following gitlab secret variables
-# - DOCKER_REGISTRY_USERNAME
-# - DOCKER_REGISTRY_PASSWORD
-# - DOCKER_REGISTRY_EMAIL
-# - DOCKER_REGISTRY_NAME # eg "registry-1.docker.io" (for docker hub)
- # or "docker-dev.incode.cloud" (eg a cloud-based nexus)
-# - DOCKER_REGISTRY_URL # eg "https://index.docker.io/v1/" (for docker hub)
- # or "https://repo.incode.cloud/repository/docker-dev/" (eg a cloud-based nexus)
-#
-
-image: maven:3.5.3-jdk-8
-
-before_script:
- - export REVISION=$(date +%Y%m%d.%H%M).$CI_COMMIT_REF_SLUG.$(echo $CI_COMMIT_SHA | cut -c1-8)
-
-services:
- - docker:dind
-
-variables:
- DOCKER_HOST: tcp://docker:2375
- DOCKER_DRIVER: overlay2
- MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dskip.cloudbees-estatio-repositories -Dskip.sonatype-snapshots -Dskip.apache-snapshots"
- APP_NAME: "simpleapp"
-
-stages:
- - build-package-push
-
-build-package-push:
- stage: build-package-push
- script:
- - echo "REVISION=$REVISION"
- - >
- mvn --batch-mode \
- install \
- -Drevision=$REVISION \
- -Dmavenmixin-docker \
- -Ddocker-plugin.imageName=$DOCKER_REGISTRY_NAME/$DOCKER_REGISTRY_USERNAME/$APP_NAME
- - >
- mvn -s .m2/settings.xml \
- --batch-mode \
- docker:push@push-image-tagged \
- -pl webapp \
- -Drevision=$REVISION \
- -DskipTests \
- -Dskip.isis-swagger \
- -Dmavenmixin-docker \
- -Ddocker-plugin.imageName=$DOCKER_REGISTRY_USERNAME/$DOCKER_REGISTRY_REPOSITORY \
- -Ddocker-plugin.serverId=docker-registry \
- -Ddocker.registryUrl=$DOCKER_REGISTRY_URL
-
diff --git a/.m2/settings.xml b/.m2/settings.xml
deleted file mode 100644
index 6038b0e..0000000
--- a/.m2/settings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
- <servers>
- <server>
- <id>docker-registry</id>
- <username>${env.DOCKER_REGISTRY_USERNAME}</username>
- <password>${env.DOCKER_REGISTRY_PASSWORD}</password>
- <configuration>
- <email>${env.DOCKER_REGISTRY_EMAIL}</email>
- </configuration>
- </server>
- </servers>
-</settings>
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..e6e77b0
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
diff --git a/README.adoc b/README.adoc
index 79c242a..1d27310 100644
--- a/README.adoc
+++ b/README.adoc
@@ -25,7 +25,7 @@ Login using:
* username: `sven`
* password: `pass`
-The app runs with HSQLDB running in-memory, with sample data set up using link:https://isis.apache.org/guides/ugtst.html#_ugtst_fixture-scripts[fixture scripts].
+The app runs with H2 running in-memory, with sample data set up using link:https://isis.apache.org/guides/ugtst.html#_ugtst_fixture-scripts[fixture scripts].
@@ -33,18 +33,14 @@ The app runs with HSQLDB running in-memory, with sample data set up using link:h
The following table explains the contents of each of the directories:
-[width="100%",options="header,footer", cols="2a,4a"]
+[width="100%",options="header,footer",stripes="none",cols="2a,4a"]
|====================
|Directory
|Description
-|`application`
-|Defines application-level classes such as menus and the ``AppManifest`` (which defines the modules that make up the application).
-It also holds application-wide integration tests/BDD specs.
-
|`module-simple`
-|Holds the "simple" module, consisting of the `SimpleObject` entity and supporting repository, along with module-specific unit- and integration tests.
-Also runs `isis:validate` goal for the domain objects within the module. +
+|Holds the "simple" module, consisting of the `SimpleObject` entity and supporting services.
+It also contains module-specific unit- and integration tests.
[TIP]
====
@@ -52,52 +48,63 @@ Larger applications should consist of multiple modules; each such module can be
====
|`webapp`
-|Assembles the application into a webapp (comprising both the Wicket viewer and Restful Objects viewer) and also as a docker image, and runs the `isis:swagger` goal.
+|Holds the bootstrapping classes, along with application-level scoped services and home page.
+It also contains application-wide integration tests/BDD specs, and lockdown tests.
+The `pom.xml` also provides goals to run the app from the command line, or to be assembled into a Docker image.
|====================
-== More advanced use cases
-* To enhance all JDO entities prior to running: +
-+
+== In Development
+
+Apache Isis uses DataNucleus as its ORM, which requires that any entities are "enhanced", a post-compile process.
+
+Normally this is done as part of a "mvn clean install", but the entities can also be enhanced explicity using:
+
[source,bash]
----
mvn -pl module-simple datanucleus:enhance -o
----
+This is useful to know if the application or integration test fails to bootstrap, complaining of "unenhanced entities".
+
+TIP: You can also use `enhance-all.sh`
+
+
+== Testing
+
+To disable the running of unit tests: +
-* To disable the running of unit tests: +
-+
[source,bash]
----
mvn -DskipUTs
----
-+
+
[TIP]
====
By default, output of unit tests are in `target/surefire-unittest-reports` (in the ``module-simple`` modules).
====
-* To disable the running of integration tests: +
-+
+To disable the running of integration tests: +
+
[source,bash]
----
mvn -DskipITs
----
-+
+
[TIP]
====
By default, output of integration tests are in `target/surefire-integtest-reports` (in the ``application`` and ``module-simple`` modules).
====
-* To disable the running of BDD specs: +
-+
+To disable the running of BDD specs: +
+
[source,bash]
----
mvn -DskipBSs
----
-+
+
[TIP]
====
By default, output of integration tests are in `target/surefire-integbddspecs-reports` (in the ``application`` module).
@@ -110,40 +117,49 @@ By default, output of integration tests are in `target/surefire-integbddspecs-r
mvn -DskipTests
----
-//* To package up the application as a docker image (specifying the docker image name as a system property): +
-//+
-//[source,bash]
-//----
-//mvn install -Dmavenmixin-docker -Ddocker-plugin.imageName=mycompany/myapp
-//----
-//+
-//Alternatively, define the `${docker-plugin.imageName}` in the `webapp` module and use simply: +
-//+
-//[source,bash]
-//----
-//mvn install -Dmavenmixin-docker
-//----
-//+
-//The packaged image can be viewed using `docker images`.
-//
-//* To run a docker image previously packaged: +
-//+
-//[source,bash]
-//----
-//docker container run -d -p 8080:8080 mycompany/myapp
-//----
-//+
-//This can then be accessed at link:http://localhost:8080[localhost:8080].
-//+
-//See link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-consume[mavenmixin-docker] for further details on how to run docker images.
-//
-//* To upload the application as a docker image to link:https://hub.docker.com[docker hub] (or some other docker registry): +
-//+
-//[source,bash]
-//----
-//mvn -pl webapp deploy -Dmavenmixin-docker
-//----
-//+
-//This assumes that the `${docker-plugin.imageName}` property has been defined, _and_ also that docker registry credentials have been specified in `~/.m2/settings.xml`.
-//Once more, see link:https://github.com/danhaywood/java-mavenmixin-docker#how-to-configure[mavenmixin-docker] for further details.
+== Docker
+
+To package up the application as a docker image and push to a Docker registry:
+
+* set `$DOCKER_REGISTRY_USERNAME` and `$DOCKER_REGISTRY_PASSWORD` environment variables
+
+* modify the `to/image` configuration property for the link:https://github.com/GoogleContainerTools/jib[jib-maven-plugin] in the `pom.xml`
++
+The default value is `docker.io/apacheisis/simpleapp:latest`:
+
+** change `docker.io` prefix to push to a registry other than Docker hub
+** change `apacheisis/simpleapp` to the name of your app.
+
+* package up the app with the `docker` profile:
++
+[source,bash]
+----
+mvn -pl webapp -DskipTests -Ddocker package
+----
+
+Variants:
+
+* to specify Docker registry credentials through some other mechanism, configure the `pom.xml` for `maven-jib-plugin` (it supports a link:https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#authentication-methods[variety of ways] to specify credentials)
+
+* to override the image at the command line, use `-Dimage=...`.
+
+
+
+To run a docker image previously packaged:
+
+[source,bash]
+----
+docker pull apacheisis/simpleapp:latest
+docker container run -d -p 8080:8080 apacheisis/simpleapp:latest
+----
+
+This can then be accessed at link:http://localhost:8080[localhost:8080].
+
+
+== Externalized Configuration
+
+The application is configured to run in the `/run/secrets` directory.
+Configuration can be therefore be externalized by defining an `application.properties` secret for the Kubernetes or Docker Swarm cluster.
+
+Spring Boot will use these settings in preference to the configuration properties defined in `classpath:config/application.properties`, see link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config[Spring docs].
diff --git a/module-simple/logging-dn-enhance.properties b/module-simple/logging-dn-enhance.properties
index ca165ac..281bfb6 100644
--- a/module-simple/logging-dn-enhance.properties
+++ b/module-simple/logging-dn-enhance.properties
@@ -1,20 +1,3 @@
-# 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.
-
# LOG4J Configuration
# ===================
diff --git a/module-simple/pom.xml b/module-simple/pom.xml
index fbc8a88..eccb360 100644
--- a/module-simple/pom.xml
+++ b/module-simple/pom.xml
@@ -1,14 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
- license agreements. See the NOTICE file distributed with this work for additional
- information regarding copyright ownership. The ASF licenses this file to
- you under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of
- the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
- by applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
- OF ANY KIND, either express or implied. See the License for the specific
- language governing permissions and limitations under the License. -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
diff --git a/module-simple/src/main/java/META-INF/persistence.xml b/module-simple/src/main/java/META-INF/persistence.xml
index 8824aa1..dcd7ec0 100644
--- a/module-simple/src/main/java/META-INF/persistence.xml
+++ b/module-simple/src/main/java/META-INF/persistence.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
diff --git a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
index a2c757e..8315be4 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple;
import org.springframework.context.annotation.ComponentScan;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
index 58254b9..4da7a9f 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.dom.impl;
import java.util.Comparator;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
index 7b5442c..b3e841f 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.layout.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- 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.
--->
<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns:c="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bs3:row>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
index 6b3cbb9..1db1890 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.dom.impl;
import java.util.List;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
index 9cd2b22..ebf9531 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.dom.types;
import java.lang.annotation.ElementType;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
index d5fb397..bb35237 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.dom.types;
import java.lang.annotation.ElementType;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
index 7f1ee24..9a0e02a 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObjectBuilder.java
@@ -1,22 +1,3 @@
-/*
- * 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 domainapp.modules.simple.fixture;
import javax.inject.Inject;
diff --git a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
index 19c378b..f817ea8 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
@@ -1,22 +1,3 @@
-/*
- * 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 domainapp.modules.simple.fixture;
import org.apache.isis.applib.services.registry.ServiceRegistry;
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
index 8ad7b15..ab6be96 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
@@ -1,19 +1,3 @@
-/**
- * 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 domainapp.modules.simple.dom.impl;
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
index 732d0e9..f06ee67 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
@@ -1,19 +1,3 @@
-/**
- * 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 domainapp.modules.simple.dom.impl;
import java.util.List;
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
index 65334a1..2e1b410 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.integtests;
import domainapp.modules.simple.SimpleModule;
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
index 7901c41..f2362f0 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.integtests.tests;
import java.sql.Timestamp;
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
index 1769414..32dddf0 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.modules.simple.integtests.tests;
import java.sql.SQLIntegrityConstraintViolationException;
diff --git a/pom.xml b/pom.xml
index 4740549..42a1271 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
diff --git a/webapp/lib/.gitignore b/webapp/lib/.gitignore
deleted file mode 100644
index e69de29..0000000
diff --git a/webapp/pom.xml b/webapp/pom.xml
index e95c743..33f4524 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -88,6 +70,19 @@
</execution>
</executions>
</plugin>
+ <!-- running: mvn spring-boot:run -->
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <version>${spring-boot.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
@@ -112,6 +107,11 @@
</dependency>
<dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-actuator-autoconfigure</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
@@ -135,48 +135,6 @@
<profiles>
<profile>
- <id>actuator</id>
- <activation>
- <property>
- <name>!skip.actuator</name>
- </property>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-actuator-autoconfigure</artifactId>
- </dependency>
- </dependencies>
- </profile>
-
- <!-- running: mvn spring-boot:run -->
- <profile>
- <id>package-as-jar</id>
- <activation>
- <property>
- <name>!skip.package-as-jar</name>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <version>${spring-boot.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>repackage</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
<id>lockdown</id>
<activation>
<property>
@@ -195,7 +153,7 @@
<goal>list</goal>
</goals>
<configuration>
- <outputFile>${project.build.directory}/test-classes/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.actual.txt</outputFile>
+ <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/received/LockDownMavenDeps_Test.list.txt</outputFile>
</configuration>
</execution>
<execution>
@@ -205,7 +163,7 @@
<goal>tree</goal>
</goals>
<configuration>
- <outputFile>${project.build.directory}/test-classes/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.actual.txt</outputFile>
+ <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/received/LockDownMavenDeps_Test.tree.txt</outputFile>
</configuration>
</execution>
</executions>
@@ -221,10 +179,6 @@
<name>docker</name>
</property>
</activation>
- <properties>
- <packaging.type>jar</packaging.type>
- <package-as-war>false</package-as-war>
- </properties>
<build>
<plugins>
<plugin>
@@ -232,16 +186,17 @@
<artifactId>jib-maven-plugin</artifactId>
<configuration>
<from>
- <image>openjdk:13-alpine</image>
+ <image>openjdk:8-alpine</image>
</from>
<container>
<jvmFlags>
<jvmFlag>-Xmx512m</jvmFlag>
</jvmFlags>
- <mainClass>domainapp.webapp.HelloWorldApp</mainClass>
+ <mainClass>domainapp.webapp.SimpleApp</mainClass>
<ports>
<port>8080</port>
</ports>
+ <workingDirectory>/run/secrets</workingDirectory>
</container>
<to>
<image>docker.io/apacheisis/simpleapp:latest</image>
diff --git a/webapp/src/main/java/domainapp/webapp/SimpleApp.java b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
index 72a203b..cfbf890 100644
--- a/webapp/src/main/java/domainapp/webapp/SimpleApp.java
+++ b/webapp/src/main/java/domainapp/webapp/SimpleApp.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp;
import domainapp.webapp.application.ApplicationModule;
diff --git a/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java b/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
index bb98c45..d5c0535 100644
--- a/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
+++ b/webapp/src/main/java/domainapp/webapp/application/ApplicationModule.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.application;
import org.apache.isis.extensions.fixtures.modules.Module;
diff --git a/webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java b/webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
index 68eb5d5..c14ac14 100644
--- a/webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
+++ b/webapp/src/main/java/domainapp/webapp/application/fixture/DomainAppFixtureScriptsSpecificationProvider.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.application.fixture;
import org.apache.isis.applib.annotation.DomainService;
diff --git a/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java b/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
index 6d27b9d..0e19627 100644
--- a/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
+++ b/webapp/src/main/java/domainapp/webapp/application/fixture/scenarios/DomainAppDemo.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.application.fixture.scenarios;
import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
diff --git a/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml b/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
index 0d7ca75..46c44d6 100644
--- a/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
+++ b/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- 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.
--->
<mb3:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menubars/bootstrap3 http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:mb3="h [...]
<mb3:primary>
<mb3:menu>
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
index c6de00e..4a42b21 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/health/HealthCheckServiceImpl.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.application.services.health;
import javax.inject.Inject;
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
index 1f84380..4bc23a5 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageService.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.application.services.homepage;
import javax.inject.Inject;
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
index 5d05ee6..db8cfd3 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.application.services.homepage;
import java.util.List;
diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
index 1436efc..37b0af8 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- 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.
--->
<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd" xmlns="http://isis.apache.org/applib/layout/component" xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bs3:row>
<bs3:col span="2">
diff --git a/webapp/src/main/resources/shiro.ini b/webapp/src/main/resources/shiro.ini
index 019f356..22ff9e9 100644
--- a/webapp/src/main/resources/shiro.ini
+++ b/webapp/src/main/resources/shiro.ini
@@ -1,21 +1,3 @@
-#
-# 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.
-#
[main]
diff --git a/webapp/src/main/resources/static/css/application.css b/webapp/src/main/resources/static/css/application.css
index 9f1612a..e69de29 100644
--- a/webapp/src/main/resources/static/css/application.css
+++ b/webapp/src/main/resources/static/css/application.css
@@ -1,19 +0,0 @@
-/*
- * 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.
- */
-
diff --git a/webapp/src/main/resources/static/index.html b/webapp/src/main/resources/static/index.html
index e25c772..33578d5 100644
--- a/webapp/src/main/resources/static/index.html
+++ b/webapp/src/main/resources/static/index.html
@@ -1,22 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
- 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.
--->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
diff --git a/webapp/src/main/webapp/WEB-INF/web.xml b/webapp/src/main/webapp/WEB-INF/web.xml
index fc6da0b..9ab0567 100644
--- a/webapp/src/main/webapp/WEB-INF/web.xml
+++ b/webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java b/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
index 04ede2f..7c2f316 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/RunIntegBddSpecs.java
@@ -1,19 +1,3 @@
-/**
- * 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 domainapp.webapp.bdd;
import io.cucumber.junit.Cucumber;
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
index dabde53..2fe2e01 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/glue/SimpleObjectsStepDef.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.bdd.glue;
import java.util.List;
@@ -39,6 +21,7 @@ import domainapp.modules.simple.fixture.SimpleObject_persona;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.Given;
+import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
import lombok.val;
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
index 1fb0c83..0cbca41 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
+++ b/webapp/src/test/java/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
@@ -1,19 +1,3 @@
-#
-# 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.
-#
Feature: List and Create New Simple Objects
Scenario: Existing simple objects can be listed and new ones created
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
index f53dd7e..12ebfc9 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.integtests;
import domainapp.webapp.application.ApplicationModule;
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
new file mode 100644
index 0000000..d751edf
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
@@ -0,0 +1,22 @@
+package domainapp.webapp.integtests.metamodel;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.Test;
+
+import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
+import org.apache.isis.metamodel.specloader.SpecificationLoader;
+
+import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+
+class ValidateDomainModel_IntegTest extends ApplicationIntegTestAbstract {
+
+ @Inject protected SpecificationLoader specificationLoader;
+
+ @Test
+ void validate() {
+ new ValidateDomainModel(specificationLoader).run();
+ }
+
+
+}
\ No newline at end of file
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/MetaModelService_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
similarity index 55%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/MetaModelService_IntegTest.java
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
index cc54f7b..2bbd97d 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/MetaModelService_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
@@ -1,24 +1,5 @@
-/*
- * 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 domainapp.webapp.integtests.mml;
-
-import java.io.File;
+package domainapp.webapp.integtests.metamodel.lockdown;
+
import java.util.List;
import javax.inject.Inject;
@@ -27,7 +8,6 @@ import org.approvaltests.namer.StackTraceNamer;
import org.approvaltests.reporters.DiffReporter;
import org.approvaltests.reporters.QuietReporter;
import org.approvaltests.reporters.UseReporter;
-import org.approvaltests.writers.ApprovalTextWriter;
import org.junit.jupiter.api.Test;
import org.apache.isis.applib.services.jaxb.JaxbService;
@@ -42,8 +22,9 @@ import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assume.assumeThat;
import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
+import domainapp.webapp.util.ReceivedVsApprovedApprovalTextWriter;
-class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
+class LockDownMetaModel_IntegTest extends ApplicationIntegTestAbstract {
@Inject MetaModelService metaModelService;
@Inject JaxbService jaxbService;
@@ -57,7 +38,7 @@ class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
@Test
void _1_learn() throws Exception {
- assumeThat(System.getProperty("lockdown.learn"), is(notNullValue()));
+ assumeThat(System.getProperty("learn"), is(notNullValue()));
// when
MetamodelDto metamodelDto =
@@ -91,7 +72,7 @@ class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
@Test
void _2_verify() throws Exception {
- assumeThat(System.getProperty("lockdown.verify"), is(notNullValue()));
+ assumeThat(System.getProperty("lockdown"), is(notNullValue()));
// when
MetamodelDto metamodelDto =
@@ -113,33 +94,13 @@ class MetaModelService_IntegTest extends ApplicationIntegTestAbstract {
private void verifyClass(final DomainClassDto domainClass) {
String asXml = jaxbService.toXml(domainClass);
- verify(new ApprovalTextWriter(asXml, "xml"){
- @Override public String writeReceivedFile(final String received) {
- return super.writeReceivedFile(received);
- }
-
- @Override public String getReceivedFilename(final String base) {
- return toFilename("received", base);
- }
-
- @Override public String getApprovalFilename(final String base) {
- return toFilename("approved", base);
- }
-
- private String toFilename(final String prefix, final String base) {
- final File file = new File(base);
- final File parentFile = file.getParentFile();
- final String localName = file.getName();
- final File newDir = new File(parentFile, prefix);
- final File newFile = new File(newDir, localName + ".xml");
- return newFile.toString();
- }
-
- }, new StackTraceNamer() {
- @Override public String getApprovalName() {
- return domainClass.getId();
- }
- }, getReporter());
+ verify(
+ new ReceivedVsApprovedApprovalTextWriter(asXml, "xml"),
+ new StackTraceNamer() {
+ @Override public String getApprovalName() {
+ return domainClass.getId();
+ }
+ }, getReporter());
}
}
\ No newline at end of file
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
similarity index 90%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
index b664f8d..ee38c84 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
@@ -56,6 +56,10 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent">
<mml:attr name="iconUiEventClass">org.apache.isis.applib.events.ui.IconUiEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.editing.ImmutableFacetForDomainObjectAnnotationAsConfigured">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="reason">Disabled</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent">
<mml:attr name="layoutUiEventClass">org.apache.isis.applib.events.ui.LayoutUiEvent.Default</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback</mml:attr>
@@ -71,6 +75,7 @@
<mml:attr name="value">25</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.PluralFacetForDomainObjectLayoutAnnotation"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetForDomainObjectAnnotationAsConfigured"/>
<mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent">
<mml:attr name="titleUiEventClass">org.apache.isis.applib.events.ui.TitleUiEvent.Default</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod</mml:attr>
@@ -96,6 +101,11 @@
<mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusIdLong</mml:attr>
<mml:attr name="returnType">java.lang.Long</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -103,6 +113,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -146,6 +157,7 @@
<mml:attr name="hiding">true</mml:attr>
<mml:attr name="where">ALL_TABLES</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.lang.Long</mml:type>
</mml:prop>
@@ -168,6 +180,11 @@
<mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionLong</mml:attr>
<mml:attr name="returnType">java.lang.Long</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -175,6 +192,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -218,6 +236,7 @@
<mml:attr name="hiding">true</mml:attr>
<mml:attr name="where">ALL_TABLES</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.lang.Long</mml:type>
</mml:prop>
@@ -240,6 +259,11 @@
<mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_datanucleusVersionTimestamp</mml:attr>
<mml:attr name="returnType">java.sql.Timestamp</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -247,6 +271,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -290,6 +315,7 @@
<mml:attr name="hiding">true</mml:attr>
<mml:attr name="where">ALL_TABLES</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.sql.Timestamp</mml:type>
</mml:prop>
@@ -299,6 +325,11 @@
<mml:attr name="disabling">true</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
<mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#name</mml:attr>
@@ -351,6 +382,7 @@
<mml:attr name="validating">true</mml:attr>
<mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
<mml:attr name="clearFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
<mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
@@ -379,6 +411,11 @@
<mml:attr name="disabling">true</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
<mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObject#notes</mml:attr>
@@ -427,6 +464,7 @@
<mml:attr name="validating">true</mml:attr>
<mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
<mml:attr name="clearFacet">org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
<mml:attr name="getterFacet">org.apache.isis.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
@@ -468,6 +506,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
<mml:attr name="returnType">java.lang.String</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -475,6 +518,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -519,6 +563,7 @@
<mml:attr name="validating">true</mml:attr>
<mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.lang.String</mml:type>
</mml:prop>
@@ -541,6 +586,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
<mml:attr name="returnType">java.lang.String</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -548,6 +598,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -592,6 +643,7 @@
<mml:attr name="validating">true</mml:attr>
<mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.lang.String</mml:type>
</mml:prop>
@@ -617,9 +669,16 @@
<mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
<mml:attr name="returnType">void</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -635,12 +694,16 @@
<mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
<mml:attr name="value">hidden</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet" fqcn="org.apache.isis.metamodel.facets.members.cssclass.annotprop.CssClassFacetOnActionFromConfiguredRegex">
+ <mml:attr name="cssClass">btn-danger</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
<mml:attr name="bookmarkPolicy">NEVER</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>void</mml:returnType>
<mml:params/>
@@ -664,6 +727,11 @@
<mml:attr name="onType">org.apache.isis.jdo.jdosupport.mixins.Persistable_downloadJdoMetadata</mml:attr>
<mml:attr name="returnType">org.apache.isis.applib.value.Clob</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -675,6 +743,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -705,6 +774,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>org.apache.isis.applib.value.Clob</mml:returnType>
<mml:params>
@@ -753,6 +823,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
<mml:attr name="returnType">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -764,6 +839,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -794,6 +870,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.lang.Object</mml:returnType>
<mml:params>
@@ -871,6 +948,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
<mml:attr name="returnType">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -882,6 +964,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -912,6 +995,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.lang.Object</mml:returnType>
<mml:params>
@@ -965,6 +1049,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
<mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -976,6 +1065,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -1006,6 +1096,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
<mml:params/>
@@ -1029,6 +1120,12 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
<mml:attr name="returnType">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -1040,6 +1137,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -1070,6 +1168,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.lang.Object</mml:returnType>
<mml:params/>
@@ -1096,10 +1195,11 @@
<mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
<mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
</mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation">
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
<mml:attr name="disabled">false</mml:attr>
<mml:attr name="executeIn">FOREGROUND</mml:attr>
<mml:attr name="persistence">PERSISTED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
@@ -1131,6 +1231,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
<mml:params>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
similarity index 71%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
index 6e0d844..8733340 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
@@ -9,6 +9,9 @@
<mml:attr name="escaped">true</mml:attr>
<mml:attr name="value">Simple Objects</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditableFacetFromConfiguration">
+ <mml:attr name="enablement">ENABLED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
<mml:attr name="bookmarkPolicy">NEVER</mml:attr>
</mml:facet>
@@ -23,6 +26,10 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
<mml:attr name="repositoryFor">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.editing.ImmutableFacetFromConfiguration">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="reason">Disabled</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
<mml:attr name="derived">true</mml:attr>
</mml:facet>
@@ -40,6 +47,7 @@
<mml:attr name="derived">true</mml:attr>
<mml:attr name="value">Simple Objectses</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetFromConfiguration"/>
</mml:facets>
<mml:actions>
<mml:act id="create">
@@ -61,9 +69,16 @@
<mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
<mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -85,6 +100,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
<mml:attr name="promptStyle">DIALOG_MODAL</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
<mml:params>
@@ -151,9 +167,15 @@
<mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
<mml:attr name="returnType">java.util.List</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -176,6 +198,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
<mml:attr name="promptStyle">DIALOG_SIDEBAR</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.util.List</mml:returnType>
<mml:params>
@@ -219,83 +242,6 @@
</mml:param>
</mml:params>
</mml:act>
- <mml:act id="findByNameExact">
- <mml:facets>
- <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
- <mml:attr name="disabling">true</mml:attr>
- <mml:attr name="hiding">true</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
- <mml:attr name="disabling">true</mml:attr>
- <mml:attr name="hiding">true</mml:attr>
- <mml:attr name="validating">true</mml:attr>
- <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
- <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
- <mml:attr name="intent.findByNameExact">EXECUTE</mml:attr>
- <mml:attr name="methods">public domainapp.modules.simple.dom.impl.SimpleObject domainapp.modules.simple.dom.impl.SimpleObjects.findByNameExact(java.lang.String)</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
- <mml:attr name="returnType">domainapp.modules.simple.dom.impl.SimpleObject</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
- <mml:attr name="position">BELOW</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
- <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
- <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
- <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByNameExact()</mml:attr>
- <mml:attr name="originalText">Find By Name Exact</mml:attr>
- <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
- <mml:attr name="value">hidden</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
- <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
- <mml:attr name="promptStyle">INLINE</mml:attr>
- </mml:facet>
- </mml:facets>
- <mml:returnType>domainapp.modules.simple.dom.impl.SimpleObject</mml:returnType>
- <mml:params>
- <mml:param xsi:type="mml:scalarParam" id="name" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <mml:facets>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacet" fqcn="org.apache.isis.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFacets">
- <mml:attr name="defaultFacets">org.apache.isis.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
- <mml:attr name="derived">true</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterDerivedFromType"/>
- <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#findByNameExact(java.lang.String)</mml:attr>
- <mml:attr name="originalText">Name</mml:attr>
- <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.param.name.NamedFacetForParameterUsingReflection</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet" fqcn="org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration">
- <mml:attr name="label">NOT_SPECIFIED</mml:attr>
- <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.LabelAtFacetFromLayoutConfiguration</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
- <mml:attr name="inverted">false</mml:attr>
- <mml:attr name="semantics">REQUIRED</mml:attr>
- <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault</mml:attr>
- <mml:attr name="validating">true</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromType">
- <mml:attr name="derived">true</mml:attr>
- <mml:attr name="typicalLengthFacet">org.apache.isis.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
- </mml:facet>
- </mml:facets>
- <mml:type>java.lang.String</mml:type>
- </mml:param>
- </mml:params>
- </mml:act>
<mml:act id="listAll">
<mml:facets>
<mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
@@ -319,9 +265,15 @@
<mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
<mml:attr name="returnType">java.util.List</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -344,56 +296,10 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.util.List</mml:returnType>
<mml:params/>
</mml:act>
- <mml:act id="ping">
- <mml:facets>
- <mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
- <mml:attr name="disabling">true</mml:attr>
- <mml:attr name="hiding">true</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
- <mml:attr name="disabling">true</mml:attr>
- <mml:attr name="hiding">true</mml:attr>
- <mml:attr name="validating">true</mml:attr>
- <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
- <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
- <mml:attr name="intent.ping">EXECUTE</mml:attr>
- <mml:attr name="methods">public void domainapp.modules.simple.dom.impl.SimpleObjects.ping()</mml:attr>
- <mml:attr name="onType">domainapp.modules.simple.dom.impl.SimpleObjects</mml:attr>
- <mml:attr name="returnType">void</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
- <mml:attr name="position">BELOW</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacetFallback">
- <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent">
- <mml:attr name="value">NON_IDEMPOTENT</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
- <mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.modules.simple.dom.impl.SimpleObjects#ping()</mml:attr>
- <mml:attr name="originalText">Ping</mml:attr>
- <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
- <mml:attr name="value">hidden</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
- <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
- </mml:facet>
- <mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
- <mml:attr name="promptStyle">INLINE</mml:attr>
- </mml:facet>
- </mml:facets>
- <mml:returnType>void</mml:returnType>
- <mml:params/>
- </mml:act>
</mml:actions>
</mml:domainClassDto>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
similarity index 78%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
index 84cfa08..e240e84 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
+<mml:domainClassDto id="domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
<mml:facets>
<mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
<mml:attr name="disabling">true</mml:attr>
@@ -9,6 +9,9 @@
<mml:attr name="escaped">true</mml:attr>
<mml:attr name="value">Domain App Fixture Scripts Specification Provider</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditableFacetFromConfiguration">
+ <mml:attr name="enablement">ENABLED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
<mml:attr name="bookmarkPolicy">NEVER</mml:attr>
</mml:facet>
@@ -23,6 +26,10 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
<mml:attr name="repositoryFor">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.editing.ImmutableFacetFromConfiguration">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="reason">Disabled</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
<mml:attr name="derived">true</mml:attr>
</mml:facet>
@@ -40,5 +47,6 @@
<mml:attr name="derived">true</mml:attr>
<mml:attr name="value">Domain App Fixture Scripts Specification Providers</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetFromConfiguration"/>
</mml:facets>
</mml:domainClassDto>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
similarity index 78%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
index ec21c6c..da9f32f 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.health.HealthCheckServiceImpl.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.application.services.health.HealthCheckServiceImpl" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
+<mml:domainClassDto id="domainapp.webapp.application.services.health.HealthCheckServiceImpl" service="true" xmlns:mml="http://isis.apache.org/schema/metamodel">
<mml:facets>
<mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
<mml:attr name="disabling">true</mml:attr>
@@ -9,6 +9,9 @@
<mml:attr name="escaped">true</mml:attr>
<mml:attr name="value">Health Check Service Impl</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditableFacetFromConfiguration">
+ <mml:attr name="enablement">ENABLED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
<mml:attr name="bookmarkPolicy">NEVER</mml:attr>
</mml:facet>
@@ -23,6 +26,10 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
<mml:attr name="repositoryFor">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.editing.ImmutableFacetFromConfiguration">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="reason">Disabled</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
<mml:attr name="derived">true</mml:attr>
</mml:facet>
@@ -40,5 +47,6 @@
<mml:attr name="derived">true</mml:attr>
<mml:attr name="value">Health Check Service Impls</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetFromConfiguration"/>
</mml:facets>
</mml:domainClassDto>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
similarity index 87%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
index c176172..281f98e 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mml:domainClassDto id="domainapp.application.services.homepage.HomePageViewModel" xmlns:mml="http://isis.apache.org/schema/metamodel">
+<mml:domainClassDto id="domainapp.webapp.application.services.homepage.HomePageViewModel" xmlns:mml="http://isis.apache.org/schema/metamodel">
<mml:facets>
<mml:facet id="org.apache.isis.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.metamodel.authorization.standard.AuthorizationFacetImpl">
<mml:attr name="disabling">true</mml:attr>
@@ -9,6 +9,9 @@
<mml:attr name="escaped">true</mml:attr>
<mml:attr name="value">Home Page View Model</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditableFacetForDomainObjectAnnotationAsConfigured">
+ <mml:attr name="enablement">ENABLED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
<mml:attr name="bookmarkPolicy">NEVER</mml:attr>
</mml:facet>
@@ -34,12 +37,16 @@
<mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent.Default</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.metamodel.facets.object.grid.GridFacetDefault"/>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.editing.ImmutableFacetForDomainObjectAnnotationAsConfigured">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="reason">Disabled</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.layout.LayoutFacet" fqcn="org.apache.isis.metamodel.facets.object.layout.LayoutFacetFallback">
<mml:attr name="derived">true</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForDomainObjectAnnotation">
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromClassName</mml:attr>
- <mml:attr name="value">domainapp.webapp.application.services.homepage.HomePageViewModel</mml:attr>
+ <mml:attr name="value">domainapp.HomePageViewModel</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
<mml:attr name="validating">true</mml:attr>
@@ -52,10 +59,10 @@
<mml:attr name="derived">true</mml:attr>
<mml:attr name="value">Home Page View Models</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetForDomainObjectAnnotationAsConfigured"/>
<mml:facet id="org.apache.isis.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod">
<mml:attr name="intent.title">UI_HINT</mml:attr>
- <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString
- domainapp.webapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
+ <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString domainapp.webapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.viewmodel.ViewModelFacet" fqcn="org.apache.isis.metamodel.facets.object.domainobject.recreatable.RecreatableObjectFacetForDomainObjectAnnotation">
<mml:attr name="recreationMechanism">INITIALIZES</mml:attr>
@@ -81,6 +88,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
<mml:attr name="returnType">java.lang.String</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -88,6 +100,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -96,7 +109,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objectIdentifier()</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#objectIdentifier()</mml:attr>
<mml:attr name="originalText">Object Identifier</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
</mml:facet>
@@ -132,6 +145,7 @@
<mml:attr name="validating">true</mml:attr>
<mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.lang.String</mml:type>
</mml:prop>
@@ -154,6 +168,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
<mml:attr name="returnType">java.lang.String</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -161,6 +180,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.metamodel.facets.actions.position.ActionPositionFacetFallback">
<mml:attr name="position">BELOW</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -169,7 +189,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objectType()</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#objectType()</mml:attr>
<mml:attr name="originalText">Object Type</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
</mml:facet>
@@ -205,6 +225,7 @@
<mml:attr name="validating">true</mml:attr>
<mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:type>java.lang.String</mml:type>
</mml:prop>
@@ -221,7 +242,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#objects</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#objects</mml:attr>
<mml:attr name="originalText">Objects</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.fallback.NamedFacetDefault</mml:attr>
</mml:facet>
@@ -243,8 +264,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionClearFacet" fqcn="org.apache.isis.metamodel.facets.collections.clear.CollectionClearFacetViaAccessor">
<mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
- <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject>
- domainapp.webapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.webapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacet" fqcn="org.apache.isis.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault">
<mml:attr name="collectionRemoveFromFacet">org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor</mml:attr>
@@ -255,6 +275,12 @@
<mml:facet id="org.apache.isis.metamodel.facets.collparam.semantics.CollectionSemanticsFacet" fqcn="org.apache.isis.metamodel.facets.collparam.semantics.CollectionSemanticsFacetDefault">
<mml:attr name="value">LIST_INTERFACE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.members.disabled.DisabledFacet" fqcn="org.apache.isis.metamodel.facets.collections.disabled.fromimmutable.DisabledFacetOnCollectionDerivedFromImmutable">
+ <mml:attr name="disabling">true</mml:attr>
+ <mml:attr name="inverted">false</mml:attr>
+ <mml:attr name="semantics">DISABLED</mml:attr>
+ <mml:attr name="where">ANYWHERE</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.object.paged.PagedFacet" fqcn="org.apache.isis.metamodel.facets.fallback.PagedFacetFromConfiguration">
<mml:attr name="derived">true</mml:attr>
<mml:attr name="value">12</mml:attr>
@@ -267,8 +293,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet" fqcn="org.apache.isis.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor">
<mml:attr name="intent.getObjects">ACCESSOR</mml:attr>
- <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject>
- domainapp.webapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
+ <mml:attr name="methods">public java.util.List<domainapp.modules.simple.dom.impl.SimpleObject> domainapp.webapp.application.services.homepage.HomePageViewModel.getObjects()</mml:attr>
<mml:attr name="onType">domainapp.webapp.application.services.homepage.HomePageViewModel</mml:attr>
</mml:facet>
</mml:facets>
@@ -295,6 +320,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
<mml:attr name="returnType">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -306,6 +336,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -314,7 +345,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()</mml:attr>
<mml:attr name="originalText">Download Layout Xml</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
</mml:facet>
@@ -336,6 +367,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.lang.Object</mml:returnType>
<mml:params>
@@ -413,6 +445,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
<mml:attr name="returnType">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -424,6 +461,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -432,7 +470,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#downloadMetaModelXml()</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#downloadMetaModelXml()</mml:attr>
<mml:attr name="originalText">Download Meta Model Xml</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
</mml:facet>
@@ -454,6 +492,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.lang.Object</mml:returnType>
<mml:params>
@@ -507,6 +546,11 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
<mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -518,6 +562,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -526,7 +571,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#openRestApi()</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#openRestApi()</mml:attr>
<mml:attr name="originalText">Open Rest Api</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
</mml:facet>
@@ -548,6 +593,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
<mml:params/>
@@ -571,6 +617,12 @@
<mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
<mml:attr name="returnType">java.lang.Object</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
+ <mml:attr name="disabled">false</mml:attr>
+ <mml:attr name="executeIn">FOREGROUND</mml:attr>
+ <mml:attr name="persistence">PERSISTED</mml:attr>
+ <mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
+ </mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
<mml:attr name="contributed">AS_ACTION</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
@@ -582,6 +634,7 @@
<mml:attr name="deploymentType">PRODUCTION</mml:attr>
<mml:attr name="hiding">true</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
<mml:facet id="org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
<mml:attr name="redirect">AS_CONFIGURED</mml:attr>
</mml:facet>
@@ -590,7 +643,7 @@
</mml:facet>
<mml:facet id="org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
<mml:facet id="org.apache.isis.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.metamodel.facets.all.i18n.NamedFacetTranslated">
- <mml:attr name="context">domainapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()</mml:attr>
+ <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()</mml:attr>
<mml:attr name="originalText">Rebuild Metamodel</mml:attr>
<mml:attr name="underlyingFacet">org.apache.isis.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
</mml:facet>
@@ -612,6 +665,7 @@
<mml:facet id="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
<mml:attr name="promptStyle">INLINE</mml:attr>
</mml:facet>
+ <mml:facet id="org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
</mml:facets>
<mml:returnType>java.lang.Object</mml:returnType>
<mml:params/>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/received/.gitignore b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/received/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/mml/received/.gitignore
rename to webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/received/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
deleted file mode 100644
index ed2a754..0000000
--- a/webapp/src/test/java/domainapp/webapp/integtests/mml/DomainModel_IntegTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 domainapp.webapp.integtests.mml;
-
-import javax.inject.Inject;
-
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import org.apache.isis.integtestsupport.validate.ValidateDomainModel;
-import org.apache.isis.metamodel.specloader.SpecificationLoader;
-
-import domainapp.webapp.integtests.ApplicationIntegTestAbstract;
-
-class DomainModel_IntegTest extends ApplicationIntegTestAbstract {
-
- @Inject protected SpecificationLoader specificationLoader;
-
- @Test
- void validateDomainModel() {
- new ValidateDomainModel(specificationLoader).run();
- }
-
-
-}
\ No newline at end of file
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
index ed307fa..15825f4 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
@@ -1,21 +1,3 @@
-/*
- * 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 domainapp.webapp.integtests.smoke;
import java.util.List;
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.java b/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.java
deleted file mode 100644
index f64caf2..0000000
--- a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package domainapp.webapp.lockdown;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Arrays;
-
-import org.approvaltests.Approvals;
-import org.approvaltests.reporters.DiffReporter;
-import org.approvaltests.reporters.UseReporter;
-import org.assertj.core.api.Assumptions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import com.google.common.base.Charsets;
-import com.google.common.io.Resources;
-
-import static org.hamcrest.CoreMatchers.*;
-
-public class LockDownMavenDeps_Test {
-
- @BeforeEach
- public void setUp() throws Exception {
- Assumptions.assumeThat(System.getProperty("lockdown")).isNotNull();
- }
-
- @UseReporter(DiffReporter.class)
- @Test
- public void list() throws Exception {
- Approvals.verify(sort(read("list")));
- }
-
- @UseReporter(DiffReporter.class)
- @Test
- public void tree() throws Exception {
- Approvals.verify(read("tree"));
- }
-
- private String read(final String goal) throws IOException {
- final URL resource = Resources.getResource(getClass(),
- String.format("%s.%s.actual.txt", getClass().getSimpleName(), goal));
- return Resources.toString(resource, Charsets.UTF_8);
- }
-
- private static String sort(final String unsorted) {
- final String[] lines = unsorted.split("[\r\n]+");
- Arrays.sort(lines);
- return String.join("\n", lines);
- }
-
-}
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
new file mode 100644
index 0000000..7471f73
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
@@ -0,0 +1,71 @@
+package domainapp.webapp.unittests.mavendeps.lockdown;
+
+import domainapp.webapp.util.ReceivedVsApprovedApprovalTextWriter;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Arrays;
+
+import org.approvaltests.namer.StackTraceNamer;
+import org.approvaltests.reporters.DiffReporter;
+import org.approvaltests.reporters.UseReporter;
+import org.approvaltests.writers.ApprovalTextWriter;
+import org.assertj.core.api.Assumptions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import com.google.common.base.Charsets;
+import com.google.common.io.Resources;
+
+import static org.approvaltests.Approvals.getReporter;
+import static org.approvaltests.Approvals.verify;
+
+public class LockDownMavenDeps_Test {
+
+ @BeforeEach
+ public void setUp() throws Exception {
+ Assumptions.assumeThat(System.getProperty("lockdown")).isNotNull();
+ }
+
+ @UseReporter(DiffReporter.class)
+ @Test
+ public void list() throws Exception {
+ final String variant = "list";
+ final String received = sort(read(variant));
+ verify(approvalTextWriter(received, "txt"), namerFor(variant), getReporter());
+ }
+
+ @UseReporter(DiffReporter.class)
+ @Test
+ public void tree() throws Exception {
+ final String variant = "tree";
+ final String received = read(variant);
+ verify(approvalTextWriter(received, "txt"), namerFor(variant), getReporter());
+ }
+
+ private static ApprovalTextWriter approvalTextWriter(final String received, final String fileExtensionWithoutDot) {
+ return new ReceivedVsApprovedApprovalTextWriter(received, fileExtensionWithoutDot);
+ }
+
+ private StackTraceNamer namerFor(String variant) {
+ return new StackTraceNamer() {
+ @Override
+ public String getApprovalName() {
+ return "LockDownMavenDeps_Test." + variant;
+ }
+ };
+ }
+
+ private String read(final String goal) throws IOException {
+ final URL resource = Resources.getResource(getClass(),
+ String.format("received/%s.%s.txt", getClass().getSimpleName(), goal));
+ return Resources.toString(resource, Charsets.UTF_8);
+ }
+
+ private static String sort(final String unsorted) {
+ final String[] lines = unsorted.split("[\r\n]+");
+ Arrays.sort(lines);
+ return String.join("\n", lines);
+ }
+
+}
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.list.approved.txt
rename to webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
rename to webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
index 07973d3..0b5d7b1 100644
--- a/webapp/src/test/java/domainapp/webapp/lockdown/LockDownMavenDeps_Test.tree.approved.txt
+++ b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
@@ -148,6 +148,18 @@ org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
| +- com.google.j2objc:j2objc-annotations:jar:1.3:compile
| \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
+- org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-M3-SNAPSHOT:compile
++- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.1.RELEASE:compile
+| +- org.springframework.boot:spring-boot-actuator:jar:2.2.1.RELEASE:compile
+| | \- org.springframework.boot:spring-boot:jar:2.2.1.RELEASE:compile
+| +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.1.RELEASE:compile
+| +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.0:compile
+| +- org.springframework:spring-core:jar:5.2.1.RELEASE:compile
+| | \- org.springframework:spring-jcl:jar:5.2.1.RELEASE:compile
+| +- org.springframework:spring-context:jar:5.2.1.RELEASE:compile
+| | +- org.springframework:spring-aop:jar:5.2.1.RELEASE:compile
+| | +- org.springframework:spring-beans:jar:5.2.1.RELEASE:compile
+| | \- org.springframework:spring-expression:jar:5.2.1.RELEASE:compile
+| \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.0:compile
+- com.h2database:h2:jar:1.4.200:compile
+- org.apache.isis.mavendeps:isis-mavendeps-testing:pom:2.0.0-M3-SNAPSHOT:test
| +- org.apache.isis.core:isis-unittestsupport:jar:2.0.0-M3-SNAPSHOT:test
@@ -209,16 +221,4 @@ org.apache.isis.examples.apps:simpleapp-webapp:jar:2.0.0-M3-SNAPSHOT
| | \- io.cucumber:datatable-dependencies:jar:1.1.14:test
| +- io.cucumber:cucumber-spring:jar:4.8.0:test
| \- io.cucumber:cucumber-junit:jar:4.8.0:test
-+- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.1.RELEASE:compile
-| +- org.springframework.boot:spring-boot-actuator:jar:2.2.1.RELEASE:compile
-| | \- org.springframework.boot:spring-boot:jar:2.2.1.RELEASE:compile
-| +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.1.RELEASE:compile
-| +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.0:compile
-| +- org.springframework:spring-core:jar:5.2.1.RELEASE:compile
-| | \- org.springframework:spring-jcl:jar:5.2.1.RELEASE:compile
-| +- org.springframework:spring-context:jar:5.2.1.RELEASE:compile
-| | +- org.springframework:spring-aop:jar:5.2.1.RELEASE:compile
-| | +- org.springframework:spring-beans:jar:5.2.1.RELEASE:compile
-| | \- org.springframework:spring-expression:jar:5.2.1.RELEASE:compile
-| \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.0:compile
\- org.projectlombok:lombok:jar:1.18.10:provided
diff --git a/webapp/src/test/java/domainapp/webapp/lockdown/received/.gitignore b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/received/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/lockdown/received/.gitignore
rename to webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/received/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/util/ReceivedVsApprovedApprovalTextWriter.java b/webapp/src/test/java/domainapp/webapp/util/ReceivedVsApprovedApprovalTextWriter.java
new file mode 100644
index 0000000..b00f6b2
--- /dev/null
+++ b/webapp/src/test/java/domainapp/webapp/util/ReceivedVsApprovedApprovalTextWriter.java
@@ -0,0 +1,35 @@
+package domainapp.webapp.util;
+
+import java.io.File;
+
+import org.approvaltests.writers.ApprovalTextWriter;
+
+public class ReceivedVsApprovedApprovalTextWriter extends ApprovalTextWriter {
+
+ private final String fileExtensionWithoutDot;
+
+ public ReceivedVsApprovedApprovalTextWriter(String received, String fileExtensionWithoutDot) {
+ super(received, fileExtensionWithoutDot);
+ this.fileExtensionWithoutDot = fileExtensionWithoutDot;
+ }
+
+ @Override
+ public String getReceivedFilename(final String base) {
+ return toFilename("received", base);
+ }
+
+ @Override
+ public String getApprovalFilename(final String base) {
+ return toFilename("approved", base);
+ }
+
+ private String toFilename(final String prefix, final String base) {
+ final File file = new File(base);
+ final File parentFile = file.getParentFile();
+ final String localName = file.getName();
+ final File newDir = new File(parentFile, prefix);
+ final File newFile = new File(newDir, localName + "." + fileExtensionWithoutDot);
+ return newFile.toString();
+ }
+
+}
[isis-app-simpleapp] 07/09: removes stale action from menubars
(fixture scripts refactoring)
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git
commit 29f5db02fd7ed50ff94499e1a491fa3f3dbebe69
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Dec 2 11:55:36 2019 +0000
removes stale action from menubars (fixture scripts refactoring)
---
.../main/java/domainapp/webapp/application/layout/menubars.layout.xml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml b/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
index d286f2d..0d7ca75 100644
--- a/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
+++ b/webapp/src/main/java/domainapp/webapp/application/layout/menubars.layout.xml
@@ -44,9 +44,6 @@
<mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
<cpt:named>Run Fixture Script</cpt:named>
</mb3:serviceAction>
- <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
- <cpt:named>Run Fixture Script</cpt:named>
- </mb3:serviceAction>
<mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
<cpt:named>Recreate Objects And Return First</cpt:named>
</mb3:serviceAction>