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 2017/08/03 15:44:26 UTC

[1/9] isis git commit: ISIS-1687: Implemented IsisJdoSupport::executeQueryUnique for executing typesafe queries with a unique match as result

Repository: isis
Updated Branches:
  refs/heads/master a8ee04b7e -> a1be8886b


ISIS-1687: Implemented IsisJdoSupport::executeQueryUnique for executing typesafe queries with a unique match as result


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/43a89c22
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/43a89c22
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/43a89c22

Branch: refs/heads/master
Commit: 43a89c2260d5587881b58d585f914c1cc6f292d1
Parents: 11efdec
Author: Rosco Kalis <ro...@gmail.com>
Authored: Wed Aug 2 16:40:22 2017 +0200
Committer: Rosco Kalis <ro...@gmail.com>
Committed: Wed Aug 2 16:40:22 2017 +0200

----------------------------------------------------------------------
 .../services/jdosupport/IsisJdoSupport.java      | 19 +++++++++++++++++++
 .../service/support/IsisJdoSupportImpl.java      | 13 +++++++++++++
 2 files changed, 32 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/43a89c22/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java b/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
index 6242528..4ca5c10 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
@@ -104,6 +104,25 @@ public interface IsisJdoSupport {
     <T> List<T> executeQuery(final Class<T> cls, final BooleanExpression booleanExpression);
 
     /**
+     * To perform a common use-case of executing a (type-safe) query against the specified class,
+     * filtering a unique match using the provided {@link BooleanExpression}, then returning
+     * the result and closing the query.
+     *
+     * <p>
+     *     Typical usage:
+     *     <pre>
+     *          final QToDoItem q = QToDoItem.candidate();
+     *          return executeQueryUnique(ToDoItem.class,
+     *                              q.atPath.eq(atPath).and(
+     *                              q.description.eq(description))
+     *                              );
+     *     </pre>
+     * </p>
+     */
+    @Programmatic
+    <T> T executeQueryUnique(final Class<T> cls, final BooleanExpression booleanExpression);
+
+    /**
      * To support the execution of type-safe queries using DataNucleus' lower-level APIs
      * (eg for group by and so on).
      *

http://git-wip-us.apache.org/repos/asf/isis/blob/43a89c22/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
index 8ceb3ee..6470720 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
@@ -182,6 +182,13 @@ public class IsisJdoSupportImpl implements IsisJdoSupport {
 
     @Programmatic
     @Override
+    public <T> T executeQueryUnique(final Class<T> cls, final BooleanExpression expression) {
+        final TypesafeQuery<T> query = newTypesafeQuery(cls).filter(expression);
+        return executeUniqueAndClose(query);
+    }
+
+    @Programmatic
+    @Override
     public <T> TypesafeQuery<T> newTypesafeQuery(Class<T> cls) {
         return ((JDOPersistenceManager)getJdoPersistenceManager()).newTypesafeQuery(cls);
     }
@@ -193,6 +200,12 @@ public class IsisJdoSupportImpl implements IsisJdoSupport {
         return list;
     }
 
+    private static <T> T executeUniqueAndClose(final TypesafeQuery<T> query) {
+        final T result = query.executeUnique();
+        query.closeAll();
+        return result;
+    }
+
     // //////////////////////////////////////
 
     @javax.inject.Inject


[9/9] isis git commit: Merge branch 'ISIS-1687_pr-83'

Posted by da...@apache.org.
Merge branch 'ISIS-1687_pr-83'


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a1be8886
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a1be8886
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a1be8886

Branch: refs/heads/master
Commit: a1be8886b7a0719b50c80e2645b176c61861b3d9
Parents: 93045fb 8795583
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 16:42:27 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 16:42:27 2017 +0100

----------------------------------------------------------------------
 .../services/jdosupport/IsisJdoSupport.java      | 19 +++++++++++++++++++
 .../service/support/IsisJdoSupportImpl.java      | 13 +++++++++++++
 2 files changed, 32 insertions(+)
----------------------------------------------------------------------



[7/9] isis git commit: ISIS-1690: backing out and then reinstating the errant code

Posted by da...@apache.org.
ISIS-1690: backing out and then reinstating the errant code


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/93045fb7
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/93045fb7
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/93045fb7

Branch: refs/heads/master
Commit: 93045fb779bf4de5a9bc0c1d1aeb27fcc8f9c188
Parents: 76c92a4
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 16:08:02 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 16:31:09 2017 +0100

----------------------------------------------------------------------
 .../ajaxtable/IsisAjaxFallbackDataTable.java            | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/93045fb7/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
index 3841ec8..39de90f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
@@ -85,7 +85,17 @@ public class IsisAjaxFallbackDataTable<T, S> extends DataTable<T, S> {
 
         addBottomToolbar(new NoRecordsToolbar(this));
     }
-    
+
+    @Override
+    protected void onConfigure() {
+        super.onConfigure();
+    }
+
+    @Override
+    protected void onBeforeRender() {
+        super.onBeforeRender();
+    }
+
     @Override
     protected Item<T> newRowItem(final String id, final int index, final IModel<T> model)
     {


[2/9] isis git commit: isis-1686: further extensions to AppManifestAbstract, and updates to the properties in the two archetypes

Posted by da...@apache.org.
isis-1686: further extensions to AppManifestAbstract, and updates to the properties in the two archetypes


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/eae978ed
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/eae978ed
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/eae978ed

Branch: refs/heads/master
Commit: eae978ed413dbd5d4505348c0975c414d69860d3
Parents: a8ee04b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 14:30:14 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 14:30:14 2017 +0100

----------------------------------------------------------------------
 .../apache/isis/applib/AppManifestAbstract.java |  18 +-
 .../application/HelloWorldAppManifest.java      |   7 +-
 .../application/isis-non-changing.properties    |  55 ---
 .../domainapp/application/isis.properties       |  55 +++
 .../src/main/webapp/WEB-INF/isis.properties     |   8 +-
 .../manifest/DomainAppAppManifest.java          |   7 +-
 .../manifest/authentication_shiro.properties    |  25 +
 .../manifest/isis-non-changing.properties       | 453 -------------------
 .../application/manifest/isis.properties        | 382 ++++++++++++++++
 .../manifest/persistor_datanucleus.properties   | 106 +++++
 .../manifest/viewer_restfulobjects.properties   |  64 +++
 .../manifest/viewer_wicket.properties           | 180 ++++++++
 .../WEB-INF/authentication_shiro.properties     |  25 -
 .../src/main/webapp/WEB-INF/isis.properties     | 100 +++-
 .../main/webapp/WEB-INF/persistor.properties    | 113 -----
 .../WEB-INF/viewer_restfulobjects.properties    |  66 ---
 .../webapp/WEB-INF/viewer_wicket.properties     | 178 --------
 17 files changed, 930 insertions(+), 912 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
index 78df5f3..54678a6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
@@ -247,17 +247,23 @@ public abstract class AppManifestAbstract implements AppManifest {
             return this;
         }
 
-        public Builder withPropertiesFile(final String propertiesFile) {
-            return withPropertiesFile(propertiesFile, getClass());
+        public Builder withConfigurationPropertiesFile(final String propertiesFile) {
+            return withConfigurationPropertiesFile(getClass(), propertiesFile);
         }
 
-        public Builder withPropertiesFile(
-                final String propertiesFile,
-                final Class<?> propertiesFileContext) {
-            propertyResources.add(new PropertyResource(propertiesFileContext, propertiesFile));
+        public Builder withConfigurationPropertiesFile(
+                final Class<?> propertiesFileContext, final String propertiesFile, final String... furtherPropertiesFiles) {
+            addPropertyResource(propertiesFileContext, propertiesFile);
+            for (final String otherFile : furtherPropertiesFiles) {
+                addPropertyResource(propertiesFileContext, otherFile);
+            }
             return this;
         }
 
+        private void addPropertyResource(final Class<?> propertiesFileContext, final String propertiesFile) {
+            propertyResources.add(new PropertyResource(propertiesFileContext, propertiesFile));
+        }
+
         public Builder withConfigurationProperty(final String key, final String value) {
             individualConfigProps.add(new ConfigurationProperty(key,value));
             return this;

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java b/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
index b35c7f2..e14a1b4 100644
--- a/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
+++ b/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
@@ -27,9 +27,12 @@ import domainapp.dom.HelloWorldModule;
  */
 public class HelloWorldAppManifest extends AppManifestAbstract {
 
+    public static final Builder BUILDER = Builder
+            .forModules(HelloWorldModule.class)
+            .withConfigurationPropertiesFile(HelloWorldAppManifest.class, "isis.properties");
+
     public HelloWorldAppManifest() {
-        super(Builder.forModules(HelloWorldModule.class)
-                       .withPropertiesFile("isis-non-changing.properties"));
+        super(BUILDER);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/helloworld/src/main/java/domainapp/application/isis-non-changing.properties
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/java/domainapp/application/isis-non-changing.properties b/example/application/helloworld/src/main/java/domainapp/application/isis-non-changing.properties
deleted file mode 100644
index 036d95d..0000000
--- a/example/application/helloworld/src/main/java/domainapp/application/isis-non-changing.properties
+++ /dev/null
@@ -1,55 +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.
-
-
-
-isis.reflector.validator.allowDeprecated=false
-isis.reflector.validator.noParamsOnly=true
-isis.reflector.validator.explicitObjectType=true
-isis.reflector.validator.serviceActionsOnly=true
-isis.reflector.validator.mixinsOnly=true
-
-
-isis.reflector.facet.cssClassFa.patterns=\
-                        new.*:fa-plus,\
-                        add.*:fa-plus-square,\
-                        create.*:fa-plus,\
-                        update.*:fa-edit,\
-                        delete.*:fa-trash,\
-                        find.*:fa-search,\
-                        list.*:fa-list
-
-isis.reflector.facet.cssClass.patterns=\
-                        delete.*:btn-danger
-
-isis.objects.editing=false
-
-
-isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
-isis.viewer.wicket.maxTitleLengthInParentedTables=0
-
-
-isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
-isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
-isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true
-
-
-isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
-isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
-isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
-isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
-

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/helloworld/src/main/resources/domainapp/application/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/resources/domainapp/application/isis.properties b/example/application/helloworld/src/main/resources/domainapp/application/isis.properties
new file mode 100644
index 0000000..036d95d
--- /dev/null
+++ b/example/application/helloworld/src/main/resources/domainapp/application/isis.properties
@@ -0,0 +1,55 @@
+#  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.
+
+
+
+isis.reflector.validator.allowDeprecated=false
+isis.reflector.validator.noParamsOnly=true
+isis.reflector.validator.explicitObjectType=true
+isis.reflector.validator.serviceActionsOnly=true
+isis.reflector.validator.mixinsOnly=true
+
+
+isis.reflector.facet.cssClassFa.patterns=\
+                        new.*:fa-plus,\
+                        add.*:fa-plus-square,\
+                        create.*:fa-plus,\
+                        update.*:fa-edit,\
+                        delete.*:fa-trash,\
+                        find.*:fa-search,\
+                        list.*:fa-list
+
+isis.reflector.facet.cssClass.patterns=\
+                        delete.*:btn-danger
+
+isis.objects.editing=false
+
+
+isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
+isis.viewer.wicket.maxTitleLengthInParentedTables=0
+
+
+isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
+isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
+isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true
+
+
+isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
+isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
+

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/helloworld/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/webapp/WEB-INF/isis.properties b/example/application/helloworld/src/main/webapp/WEB-INF/isis.properties
index b03c5c4..5a42451 100644
--- a/example/application/helloworld/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/helloworld/src/main/webapp/WEB-INF/isis.properties
@@ -27,12 +27,8 @@ isis.appManifest=domainapp.application.HelloWorldAppManifest
 
 
 
-#
-# Remaining properties are loaded programmatically by the AppManifest
-# (they are unlikely to vary between dev/test/prod so can be "baked in")
-#
-
-isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
+#isis.services.eventbus.implementation=guava
+isis.services.eventbus.implementation=axon
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java b/example/application/simpleapp/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
index d0aedff..f10dfdd 100644
--- a/example/application/simpleapp/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
+++ b/example/application/simpleapp/application/src/main/java/domainapp/application/manifest/DomainAppAppManifest.java
@@ -34,7 +34,12 @@ public class DomainAppAppManifest extends AppManifestAbstract {
                     DomainAppApplicationModuleFixtureSubmodule.class,
                     DomainAppApplicationModuleServicesSubmodule.class
             )
-            .withPropertiesFile("isis-non-changing.properties", DomainAppAppManifest.class);
+            .withConfigurationPropertiesFile(DomainAppAppManifest.class,
+                    "isis.properties",
+                    "authentication_shiro.properties",
+                    "persistor_datanucleus.properties",
+                    "viewer_restfulobjects.properties", "viewer_wicket.properties"
+            );
 
     public DomainAppAppManifest() {
         super(BUILDER);

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/authentication_shiro.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/authentication_shiro.properties b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/authentication_shiro.properties
new file mode 100644
index 0000000..552e840
--- /dev/null
+++ b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/authentication_shiro.properties
@@ -0,0 +1,25 @@
+#  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.
+
+
+
+#
+# if the shiro Subject is still authenticated, then just reuse.
+# Prior to 1.13.0, we forced an auto-logout, so set to 'true' to reinstate this behaviour.
+# See this thread for further info: http://markmail.org/message/hsjljwgkhhrzxbrm
+#
+#isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated=false

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties
deleted file mode 100644
index f7d4034..0000000
--- a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties
+++ /dev/null
@@ -1,453 +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.
-
-
-
-#################################################################################
-#
-# MetaModel
-#
-# The metamodel typically does not require additional configuration, although
-# the system components (defined above) may refine the metamodel for their needs.
-#
-#################################################################################
-
-
-#
-# Additional programming model facet factories, or remove standard facet factories.
-# Comma separated list of fully qualified class names.
-#
-#isis.reflector.facets.include=
-#isis.reflector.facets.exclude=
-
-
-#
-# Metamodel validation (in addition to that automatically performed by the programming model facet factories)
-# Default implementation does nothing.
-#
-# Use a custom implementation to enforce additional constraints specific to your app/project/company.
-#
-#isis.reflector.validator=org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault
-
-
-
-#
-# Whether to allow deprecated annotations/method prefixes (otherwise raise metamodel validation errors).
-# If not specified, default is to allow.
-#
-isis.reflector.validator.allowDeprecated=false
-
-
-#
-# Whether to check that JAXB view models are not abstract.  If not specified, default is to validate.
-#
-#isis.reflector.validator.jaxbViewModelNotAbstract=true
-
-#
-# Whether to check that JAXB view models are not inner classes.  If not specified, default is to validate.
-#
-#isis.reflector.validator.jaxbViewModelNotInnerClass=true
-
-#
-# Whether to check that JAXB view models have no-arg constructors.  If not specified, default is NOT to validate.
-#
-#isis.reflector.validator.jaxbViewModelNoArgConstructor=false
-
-#
-# Whether to check that, for JAXB view model with properties referencing persistent entities, that those entities
-# are annotated with @XmlJavaTypeAdapter.  If not specified, default is to validate.
-#
-#isis.reflector.validator.jaxbViewModelReferenceTypeAdapter=true
-
-#
-# Whether to check that, for JAXB view model with date/time properties, that those properties are annotated with
-# @XmlJavaTypeAdapter.  If not specified, default is to validate.
-#
-#isis.reflector.validator.jaxbViewModelDateTimeTypeAdapter=true
-
-
-#
-# Whether to validate JDOQL clauses.  If not specified, default is to validate.
-#
-#isis.reflector.validator.jdoqlFromClause=true
-#isis.reflector.validator.jdoqlVariablesClause=true
-
-
-#
-# Whether to only allow hideXxx() and disableXxx() methods with no params.
-# If not specified, defaults to false (ie will also search for methods with parameter types matching the action).
-#
-isis.reflector.validator.noParamsOnly=true
-
-
-#
-# Whether to require the object type to be specified explicitly for entities.
-# If not specified, defaults to false
-#
-isis.reflector.validator.explicitObjectType=true
-
-
-#
-# Whether to ignore or honour (at least some of the) deprecated annotations/method prefixes.
-# If not specified, default is to honour
-#
-#isis.reflector.facets.ignoreDeprecated=false
-
-
-#
-# Whether to enforce the rule that domain services can only declare actions, not properties and collections.
-# If not specified, defaults to false
-#
-isis.reflector.validator.serviceActionsOnly=true
-
-
-#
-# Whether to use only mixins, and no contributed services.
-# If not specified, defaults to false
-#
-isis.reflector.validator.mixinsOnly=true
-
-
-#
-# Implementation to use for reading dynamic layout.
-# Default implementation reads Xxx.layout.json files from classpath.
-#
-#isis.reflector.layoutMetadataReaders=org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson
-
-
-#
-# patterns for applying CssClassFa facet (font-awesome icons), matching on action names
-#
-isis.reflector.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
-
-
-#
-# patterns for applying CssClass facet (CSS styles), matching on member names
-#
-isis.reflector.facet.cssClass.patterns=\
-                        delete.*:btn-danger,\
-                        discard.*:btn-warning,\
-                        remove.*:btn-warning
-
-
-#
-# whether to suppress posting of events if not specified (left as Xxx.Default); defaults to true
-#
-
-#isis.reflector.facet.actionAnnotation.domainEvent.postForDefault=false
-#isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault=false
-#isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault=false
-
-#isis.reflector.facet.domainObjectLayoutAnnotation.cssClassUiEvent.postForDefault=false
-#isis.reflector.facet.domainObjectLayoutAnnotation.iconUiEvent.postForDefault=false
-#isis.reflector.facet.domainObjectLayoutAnnotation.titleUiEvent.postForDefault=false
-
-isis.reflector.facet.domainObjectAnnotation.createdLifecycleEvent.postForDefault=false
-isis.reflector.facet.domainObjectAnnotation.persistingLifecycleEvent.postForDefault=false
-isis.reflector.facet.domainObjectAnnotation.persistedLifecycleEvent.postForDefault=false
-isis.reflector.facet.domainObjectAnnotation.loadedLifecycleEvent.postForDefault=false
-isis.reflector.facet.domainObjectAnnotation.updatingLifecycleEvent.postForDefault=false
-isis.reflector.facet.domainObjectAnnotation.updatedLifecycleEvent.postForDefault=false
-isis.reflector.facet.domainObjectAnnotation.removingLifecycleEvent.postForDefault=false
-
-#################################################################################
-#
-# Domain Service configuration
-#
-#################################################################################
-
-#
-# required by EmailServiceDefault
-#
-#isis.service.email.sender.address=some.valid@email.address
-#isis.service.email.sender.password=the.password.for-isis.service.email.sender.address
-
-
-#
-# whether ExceptionRecognizers should also log any recognized exceptions
-# (default false; enable for diagnostics/debugging)
-#
-#isis.services.exceprecog.logRecognizedExceptions=true
-
-
-#
-# disable to (automatically registered) ExceptionRecognizerCompositeForJdoObjectStore service
-# almost all of this service should be registered.  Since all exception recognizer implementations
-# are consulted in the event of an exception, it's not sufficient to override the implementation
-# (in isis.services); instead this configuration property disables this particular implementation.
-#
-#isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable=true
-
-
-################################################################################
-#
-# Auditing, Commands, Publishing
-#
-################################################################################
-
-#
-# Whether changes to objects should be audited; if not set, defaults to "none"
-# - if not set or set to "none", can explicitly enable using @DomainObject(auditing=Auditing.ENABLED)
-# - if set to "all", can explicitly disable using @Object(auditing=Auditing.DISABLED)
-#
-#isis.services.audit.objects=all|none
-isis.services.audit.objects=all
-
-
-#
-# Whether changes to objects should be published; if not set, defaults to "none"
-# - if not set or set to "none", can explicitly enable using @DomainObject(publishing=Publishing.ENABLED)
-# - if set to "all", can explicitly disable using @Object(publishing=Publishing.DISABLED)
-#
-#isis.services.publish.objects=all|none
-isis.services.publish.objects=all
-
-
-#
-# Whether all (or all non-query only) actions should be reified as commands; if not set, defaults to "none"
-# - if not set or set to "none", can explicitly enable using @Action(command=CommandReification.ENABLED)
-# - if set to "all", can explicitly disable using @Action(command=CommandReification.DISABLED)
-#
-#isis.services.command.actions=all|none|ignoreSafe
-isis.services.command.actions=ignoreSafe
-
-
-#
-# Whether all (or all non-query only) action invocations should be published; if not set, defaults to "none"
-# - if not set or set to "none", can explicitly enable using @Action(publishing=Publishing.ENABLED)
-# - if set to "all", can explicitly disable using @Action(publishing=Publishing.DISABLED)
-#
-#isis.services.publish.actions=all|none|ignoreSafe
-isis.services.publish.actions=all
-
-
-#
-# Whether all property edits sshould be published; if not set, defaults to "none"
-# - if not set or set to "none", can explicitly enable using @Property(publishing=Publishing.ENABLED)
-# - if set to "all", can explicitly disable using @Property(publishing=Publishing.DISABLED)
-#
-#isis.services.publish.properties=all|none
-isis.services.publish.properties=all
-
-
-
-#
-# Whether the ApplicationFeatureRepository should eagerly initialize itself (increasing start-up times)
-# or initialize itself lazily.  Default is lazy initialization.
-#
-#isis.services.applicationFeatures.init=lazy|eager
-
-
-#
-# Whether the framework supports inject...() and set...() styles of dependency injection.   By default the former
-# is disabled, the latter is enabled.  Disabling these settings can reduce application start-up times.
-#
-#isis.services.injector.injectPrefix=false|true
-#isis.services.injector.setPrefix=false|true
-isis.services.injector.setPrefix=false
-
-
-
-
-################################################################################
-#
-# Policies
-#
-#################################################################################
-
-#
-# Whether editing of object properties is allowed; if not set, defaults to "true"
-# - if not set or set to "true", can explicitly disable using @DomainObject(editing=Editing.DISABLED)
-# - if set to "false", can explicitly enable using @DomainObject(editing=Editing.ENABLED)
-#
-isis.objects.editing=false
-
-
-
-################################################################################
-#
-# i18n
-#
-#################################################################################
-
-#
-# force read translations, even if running in prototype mode
-#
-#isis.services.translation.po.mode=read
-
-
-
-################################################################################
-#
-# Viewer defaults
-#
-#################################################################################
-
-#
-# Specify viewer defaults
-# 
-#isis.viewers.paged.standalone=30
-#isis.viewers.paged.parented=10
-
-
-#isis.viewers.propertyLayout.labelPosition=LEFT
-#isis.viewers.parameterLayout.labelPosition=LEFT
-
-
-#################################################################################
-#
-# Value facet defaults
-#
-# (see also viewer-specific config files, eg viewer_wicket.properties)
-#
-#################################################################################
-
-# as used by @Title of a date
-isis.value.format.date=dd-MM-yyyy
-
-
-
-
-#################################################################################
-#
-# Persistor
-#
-#################################################################################
-
-
-
-# generally speaking this should not be enabled
-isis.persistor.disableConcurrencyChecking=false
-
-
-#
-# hook to perform additional initialization when JDO class metadata is loaded
-# default implementation will attempt to run 'create schema' for the specified schema.
-#
-# this implementation is installed by default:
-#isis.persistor.datanucleus.classMetadataLoadedListener=org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata
-
-
-# whether to persist the event data as a "clob" or as a "zipped" byte[]
-# default is "zipped"
-#isis.persistor.datanucleus.PublishingService.serializedForm=zipped
-
-
-
-
-#####################################################################
-#
-# DataNucleus' configuration
-#
-# The 'isis.persistor.datanucleus.impl' prefix is stripped off,
-# remainder is passed through to DataNucleus
-#
-#####################################################################
-
-isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
-isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
-isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true
-
-
-#
-# Require explicit persistence (since entities are Comparable and using ObjectContracts#compareTo).
-# see http://www.datanucleus.org/products/accessplatform_3_0/jdo/transaction_types.html
-#
-isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
-
-
-#
-# How column names are identified
-# (http://www.datanucleus.org/products/datanucleus/jdo/orm/datastore_identifiers.html)
-#
-isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
-
-#
-# L2 cache
-# off except if explicitly marked as cacheable
-# http://www.datanucleus.org/products/datanucleus/jdo/cache.html
-#
-isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
-isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
-
-
-
-#
-# uncomment to use JNDI rather than direct JDBC
-#
-#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart
-
-#
-# uncomment to use JTA resource
-#
-#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx
-#isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA
-
-
-
-#
-#
-# JDBC connection details
-# ... are in persistor.properties
-#
-#

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis.properties b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis.properties
new file mode 100644
index 0000000..18a429e
--- /dev/null
+++ b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/isis.properties
@@ -0,0 +1,382 @@
+#  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.
+
+#################################################################################
+#
+# use AppManifest to specify modules, system components and fixtures
+#
+#################################################################################
+
+#
+# Specify the modules (= entities + services) and other components that make up
+# this application.
+#
+isis.appManifest=domainapp.application.manifest.DomainAppAppManifest
+
+
+
+
+#isis.services.eventbus.implementation=guava
+isis.services.eventbus.implementation=axon
+
+
+#################################################################################
+#
+# MetaModel
+#
+# The metamodel typically does not require additional configuration, although
+# the system components (defined above) may refine the metamodel for their needs.
+#
+#################################################################################
+
+
+#
+# Additional programming model facet factories, or remove standard facet factories.
+# Comma separated list of fully qualified class names.
+#
+#isis.reflector.facets.include=
+#isis.reflector.facets.exclude=
+
+
+#
+# Metamodel validation (in addition to that automatically performed by the programming model facet factories)
+# Default implementation does nothing.
+#
+# Use a custom implementation to enforce additional constraints specific to your app/project/company.
+#
+#isis.reflector.validator=org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault
+
+
+
+#
+# Whether to allow deprecated annotations/method prefixes (otherwise raise metamodel validation errors).
+# If not specified, default is to allow.
+#
+isis.reflector.validator.allowDeprecated=false
+
+
+#
+# Whether to check that JAXB view models are not abstract.  If not specified, default is to validate.
+#
+#isis.reflector.validator.jaxbViewModelNotAbstract=true
+
+#
+# Whether to check that JAXB view models are not inner classes.  If not specified, default is to validate.
+#
+#isis.reflector.validator.jaxbViewModelNotInnerClass=true
+
+#
+# Whether to check that JAXB view models have no-arg constructors.  If not specified, default is NOT to validate.
+#
+#isis.reflector.validator.jaxbViewModelNoArgConstructor=false
+
+#
+# Whether to check that, for JAXB view model with properties referencing persistent entities, that those entities
+# are annotated with @XmlJavaTypeAdapter.  If not specified, default is to validate.
+#
+#isis.reflector.validator.jaxbViewModelReferenceTypeAdapter=true
+
+#
+# Whether to check that, for JAXB view model with date/time properties, that those properties are annotated with
+# @XmlJavaTypeAdapter.  If not specified, default is to validate.
+#
+#isis.reflector.validator.jaxbViewModelDateTimeTypeAdapter=true
+
+
+#
+# Whether to validate JDOQL clauses.  If not specified, default is to validate.
+#
+#isis.reflector.validator.jdoqlFromClause=true
+#isis.reflector.validator.jdoqlVariablesClause=true
+
+
+#
+# Whether to only allow hideXxx() and disableXxx() methods with no params.
+# If not specified, defaults to false (ie will also search for methods with parameter types matching the action).
+#
+isis.reflector.validator.noParamsOnly=true
+
+
+#
+# Whether to require the object type to be specified explicitly for entities.
+# If not specified, defaults to false
+#
+isis.reflector.validator.explicitObjectType=true
+
+
+#
+# Whether to ignore or honour (at least some of the) deprecated annotations/method prefixes.
+# If not specified, default is to honour
+#
+#isis.reflector.facets.ignoreDeprecated=false
+
+
+#
+# Whether to enforce the rule that domain services can only declare actions, not properties and collections.
+# If not specified, defaults to false
+#
+isis.reflector.validator.serviceActionsOnly=true
+
+
+#
+# Whether to use only mixins, and no contributed services.
+# If not specified, defaults to false
+#
+isis.reflector.validator.mixinsOnly=true
+
+
+
+
+#
+# patterns for applying CssClassFa facet (font-awesome icons), matching on action names
+#
+isis.reflector.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
+
+
+#
+# patterns for applying CssClass facet (CSS styles), matching on member names
+#
+isis.reflector.facet.cssClass.patterns=\
+                        delete.*:btn-danger,\
+                        discard.*:btn-warning,\
+                        remove.*:btn-warning
+
+
+#
+# whether to suppress posting of events if not specified (left as Xxx.Default); defaults to true
+#
+
+#isis.reflector.facet.actionAnnotation.domainEvent.postForDefault=false
+#isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault=false
+#isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault=false
+
+#isis.reflector.facet.domainObjectLayoutAnnotation.cssClassUiEvent.postForDefault=false
+#isis.reflector.facet.domainObjectLayoutAnnotation.iconUiEvent.postForDefault=false
+#isis.reflector.facet.domainObjectLayoutAnnotation.titleUiEvent.postForDefault=false
+
+#isis.reflector.facet.domainObjectAnnotation.createdLifecycleEvent.postForDefault=false
+#isis.reflector.facet.domainObjectAnnotation.persistingLifecycleEvent.postForDefault=false
+#isis.reflector.facet.domainObjectAnnotation.persistedLifecycleEvent.postForDefault=false
+#isis.reflector.facet.domainObjectAnnotation.loadedLifecycleEvent.postForDefault=false
+#isis.reflector.facet.domainObjectAnnotation.updatingLifecycleEvent.postForDefault=false
+#isis.reflector.facet.domainObjectAnnotation.updatedLifecycleEvent.postForDefault=false
+#isis.reflector.facet.domainObjectAnnotation.removingLifecycleEvent.postForDefault=false
+
+#################################################################################
+#
+# Domain Service configuration
+#
+#################################################################################
+
+#
+# required by EmailServiceDefault
+#
+#isis.service.email.sender.address=some.valid@email.address
+#isis.service.email.sender.password=the.password.for-isis.service.email.sender.address
+
+
+#
+# whether ExceptionRecognizers should also log any recognized exceptions
+# (default false; enable for diagnostics/debugging)
+#
+#isis.services.exceprecog.logRecognizedExceptions=true
+
+
+#
+# disable to (automatically registered) ExceptionRecognizerCompositeForJdoObjectStore service
+# almost all of this service should be registered.  Since all exception recognizer implementations
+# are consulted in the event of an exception, it's not sufficient to override the implementation
+# (in isis.services); instead this configuration property disables this particular implementation.
+#
+#isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable=true
+
+
+################################################################################
+#
+# Auditing, Commands, Publishing
+#
+################################################################################
+
+#
+# Whether changes to objects should be audited; if not set, defaults to "none"
+# - if not set or set to "none", can explicitly enable using @DomainObject(auditing=Auditing.ENABLED)
+# - if set to "all", can explicitly disable using @Object(auditing=Auditing.DISABLED)
+#
+#isis.services.audit.objects=all|none
+isis.services.audit.objects=all
+
+
+#
+# Whether all (or all non-query only) actions should be reified as commands; if not set, defaults to "none"
+# - if not set or set to "none", can explicitly enable using @Action(command=CommandReification.ENABLED)
+# - if set to "all", can explicitly disable using @Action(command=CommandReification.DISABLED)
+#
+#isis.services.command.actions=all|none|ignoreSafe
+isis.services.command.actions=ignoreSafe
+
+
+#
+# Whether changes to objects should be published; if not set, defaults to "none"
+# - if not set or set to "none", can explicitly enable using @DomainObject(publishing=Publishing.ENABLED)
+# - if set to "all", can explicitly disable using @Object(publishing=Publishing.DISABLED)
+#
+#isis.services.publish.objects=all|none
+isis.services.publish.objects=all
+
+
+#
+# Whether all (or all non-query only) action invocations should be published; if not set, defaults to "none"
+# - if not set or set to "none", can explicitly enable using @Action(publishing=Publishing.ENABLED)
+# - if set to "all", can explicitly disable using @Action(publishing=Publishing.DISABLED)
+#
+#isis.services.publish.actions=all|none|ignoreSafe
+isis.services.publish.actions=all
+
+
+#
+# Whether all property edits sshould be published; if not set, defaults to "none"
+# - if not set or set to "none", can explicitly enable using @Property(publishing=Publishing.ENABLED)
+# - if set to "all", can explicitly disable using @Property(publishing=Publishing.DISABLED)
+#
+#isis.services.publish.properties=all|none
+isis.services.publish.properties=all
+
+
+
+#
+# Whether the ApplicationFeatureRepository should eagerly initialize itself (increasing start-up times)
+# or initialize itself lazily.  Default is lazy initialization.
+#
+#isis.services.applicationFeatures.init=lazy|eager
+
+
+#
+# Whether the framework supports inject...() and set...() styles of dependency injection.   By default the former
+# is disabled, the latter is enabled.  Disabling these settings can reduce application start-up times.
+#
+#isis.services.injector.injectPrefix=false|true
+#isis.services.injector.setPrefix=false|true
+isis.services.injector.setPrefix=false
+
+
+
+
+################################################################################
+#
+# Policies
+#
+#################################################################################
+
+#
+# Whether editing of object properties is allowed; if not set, defaults to "true"
+# - if not set or set to "true", can explicitly disable using @DomainObject(editing=Editing.DISABLED)
+# - if set to "false", can explicitly enable using @DomainObject(editing=Editing.ENABLED)
+#
+#isis.objects.editing=true|false
+isis.objects.editing=false
+
+
+
+################################################################################
+#
+# i18n
+#
+#################################################################################
+
+#
+# force read translations, even if running in prototype mode
+#
+#isis.services.translation.po.mode=read
+
+
+
+################################################################################
+#
+# Viewer defaults
+#
+#################################################################################
+
+#
+# Specify viewer defaults
+# 
+#isis.viewers.paged.standalone=30
+#isis.viewers.paged.parented=10
+
+
+#isis.viewers.propertyLayout.labelPosition=LEFT
+#isis.viewers.parameterLayout.labelPosition=LEFT
+
+
+#################################################################################
+#
+# Value facet defaults
+#
+# (see also viewer-specific config files, eg viewer_wicket.properties)
+#
+#################################################################################
+
+# as used by @Title of a date
+isis.value.format.date=dd-MM-yyyy
+
+
+

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/persistor_datanucleus.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/persistor_datanucleus.properties b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/persistor_datanucleus.properties
new file mode 100644
index 0000000..48e3a35
--- /dev/null
+++ b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/persistor_datanucleus.properties
@@ -0,0 +1,106 @@
+#  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.
+
+#
+# configuration file for the JDO/DataNucleus objectstore
+#
+
+
+
+#################################################################################
+#
+# Persistor
+#
+#################################################################################
+
+
+
+# generally speaking this should not be enabled
+isis.persistor.disableConcurrencyChecking=false
+
+
+#
+# hook to perform additional initialization when JDO class metadata is loaded
+# default implementation will attempt to run 'create schema' for the specified schema.
+#
+# this implementation is installed by default:
+#isis.persistor.datanucleus.classMetadataLoadedListener=org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata
+
+
+# whether to persist the event data as a "clob" or as a "zipped" byte[]
+# default is "zipped"
+#isis.persistor.datanucleus.PublishingService.serializedForm=zipped
+
+
+
+
+#####################################################################
+#
+# DataNucleus' configuration
+#
+# The 'isis.persistor.datanucleus.impl' prefix is stripped off,
+# remainder is passed through to DataNucleus
+#
+#####################################################################
+
+isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
+isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
+isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true
+
+
+#
+# Require explicit persistence (since entities are Comparable and using ObjectContracts#compareTo).
+# see http://www.datanucleus.org/products/accessplatform_3_0/jdo/transaction_types.html
+#
+isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
+
+
+#
+# How column names are identified
+# (http://www.datanucleus.org/products/datanucleus/jdo/orm/datastore_identifiers.html)
+#
+isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
+
+#
+# L2 cache
+# off except if explicitly marked as cacheable
+# http://www.datanucleus.org/products/datanucleus/jdo/cache.html
+#
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
+isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
+
+
+
+#
+# uncomment to use JNDI rather than direct JDBC
+#
+#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart
+
+#
+# uncomment to use JTA resource
+#
+#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx
+#isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA
+
+
+
+#
+#
+# JDBC connection details
+# ... are in persistor.properties
+#
+#

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_restfulobjects.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_restfulobjects.properties b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_restfulobjects.properties
new file mode 100644
index 0000000..e6124fc
--- /dev/null
+++ b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_restfulobjects.properties
@@ -0,0 +1,64 @@
+#  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.
+
+#
+# configuration file for the Restful Objects viewer
+#
+
+
+# renders param details in the (incorrect) form that they were for GSOC2013 viewers
+# isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true
+
+# whether to honor UI hints, in particular Render(EAGERLY).  Defaults to false.
+#isis.viewer.restfulobjects.honorUiHints=false
+
+
+
+###############################################################################
+# Non-standard configuration settings.
+#
+# If enabled of the following are enabled then the viewer is deviating from the
+# RO spec standard; compatibility may be compromised with RO clients.
+###############################################################################
+
+# whether to show only object properties for object members
+# (on the object representation only)
+# Takes precedence over the other 'suppress' below.
+#isis.viewer.restfulobjects.objectPropertyValuesOnly=true
+
+# whether to suppress "describedby" links.  Defaults to false.
+#isis.viewer.restfulobjects.suppressDescribedByLinks=true
+
+# whether to suppress "update" links.  Defaults to false.
+#isis.viewer.restfulobjects.suppressUpdateLink=true
+
+# whether to suppress "id" json-prop for object members.  Defaults to false.
+#isis.viewer.restfulobjects.suppressMemberId=true
+
+# whether to suppress "links" json-prop for object members
+# (on the object representation only).  Defaults to false.
+#isis.viewer.restfulobjects.suppressMemberLinks=true
+
+# whether to suppress "extensions" json-prop for object members
+# (on the object representation only).  Defaults to false.
+#isis.viewer.restfulobjects.suppressMemberExtensions=true
+
+# whether to suppress "disabledReason" json-prop for object members
+# (on the object representation only).  Defaults to false.
+#isis.viewer.restfulobjects.suppressMemberDisabledReason=true
+
+###############################################################################

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_wicket.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_wicket.properties b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_wicket.properties
new file mode 100644
index 0000000..245bfdf
--- /dev/null
+++ b/example/application/simpleapp/application/src/main/resources/domainapp/application/manifest/viewer_wicket.properties
@@ -0,0 +1,180 @@
+    #  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.
+
+#
+# configuration file for the Wicket viewer
+#
+
+#
+# The maximum length of titles to display in standalone or parented tables.
+# Titles longer than this length will be truncated with trailing ellipses (...)
+#
+# For example, if set to 12, the title
+# "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
+#
+# If set to 0, then only the icon will be shown.
+#
+isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
+isis.viewer.wicket.maxTitleLengthInParentedTables=0
+
+
+#
+# in Firefox and more recent versions of Chrome 54+, cannot copy out of disabled fields; instead we use the
+# readonly attribute (https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#the-readonly-attribute)
+# This behaviour is enabled by default but can be disabled using this flag
+#
+#isis.viewer.wicket.replaceDisabledTagWithReadonlyTag=true
+
+
+#
+# Whether to disable buttons after it has been clicked (for both form submit and no-arg actions), to prevent users
+# causing an error if they do a double click.
+# Also, whether to show an indicator alongside the button.
+#
+# This behaviour is enabled by default, but can be disabled using this flag.
+#
+#isis.viewer.wicket.preventDoubleClickForFormSubmit=true
+#isis.viewer.wicket.preventDoubleClickForNoArgAction=true
+#isis.viewer.wicket.useIndicatorForFormSubmit=true
+#isis.viewer.wicket.useIndicatorForNoArgAction=true
+
+
+#isis.viewer.wicket.datePicker.minDate=1900-01-01T00:00:00.000Z
+#isis.viewer.wicket.datePicker.maxDate=2100-01-01T00:00:00.000Z
+
+#isis.viewer.wicket.datePattern=dd-MM-yyyy
+#isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm
+
+#isis.viewer.wicket.datePattern=dd/MM/yy
+#isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
+
+
+#
+# whether to strip wicket tags from markup (default is true, as they may break some CSS rules)
+#
+#isis.viewer.wicket.stripWicketTags=false
+
+
+#
+# whether to suppress the 'rememberMe' checkbox on the login page (default is false)
+#
+#isis.viewer.wicket.rememberMe.suppress=false
+
+
+#
+# Encryption key is used to encrypt the rememberMe user/password.  It should be set to a unique and private value.
+# If a hard-coded and publicly known value is used, then it would be possible for rememberMe user/password to be
+# intercepted and decrypted, compromising access.
+#
+# If no value is set then (for safety) a random UUID will be used as the encryption key.  The net effect of this
+# default is that 'rememberMe' will work, but only until the webapp is restarted (after which the end-user will
+# have to log in again).
+#
+#isis.viewer.wicket.rememberMe.encryptionKey=myEncryptionKey
+
+
+#
+# if user attempts to access a protected URL before signing in, then as a convenience the viewer will continue
+# through to that destination after successful login.  If you consider this to be a security risk then this flag
+# disables that behaviour (default is false).
+#
+#isis.viewer.wicket.clearOriginalDestination=true
+
+
+#
+# whether to show the Wicket debug bar and any other development utilities
+# (default depends on whether running in prototype mode or not; this property overrides that)
+#
+#isis.viewer.wicket.developmentUtilities.enable=true
+isis.viewer.wicket.developmentUtilities.enable=true
+
+
+
+#
+# whether to show bookmarks (defaults to true)
+#
+#isis.viewer.wicket.bookmarkedPages.showChooser=true
+isis.viewer.wicket.bookmarkedPages.showChooser=false
+
+
+
+#
+# the maximum number of pages to list in bookmark (default is 15)
+#
+#isis.viewer.wicket.bookmarkedPages.maxSize=15
+
+
+#
+# whether to show breadcrumbs (defaults to true)
+#
+#isis.viewer.wicket.breadcrumbs.showChooser=true
+
+
+
+
+
+#
+# whether to show the bootstrap theme chooser (defaults false)
+#
+#isis.viewer.wicket.themes.showChooser=false
+isis.viewer.wicket.themes.showChooser=true
+
+
+#
+# comma-separated list of themes to choose from (default is to show all themes from bootswatch.com).
+#
+#isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
+
+# ISIS-1520 Temporarily disable the broken Amelia theme and list all other themes
+isis.viewer.wicket.themes.enabled=bootstrap-theme, Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Lumen, Paper, Readable, Sandstone, Simplex, Slate, Spacelab, Superhero, United, Yeti
+
+#
+# whether to automatically select dependent choice when the choice it depends upon changes.
+#
+#isis.viewer.wicket.disableDependentChoiceAutoSelection=false
+
+
+#
+# enable liveReload.  For example, use with gradle -t -b liveReload.gradle --offline &
+#
+#isis.viewer.wicket.liveReloadUrl=http://localhost:35729/livereload.js?snipver=1
+
+
+
+#
+# cookie key holding the (encrypted) 'rememberMe' user/password.
+# If not specified then the cookie key 'isisWicketRememberMe' will be used; there is generally no need to change this.
+#
+#isis.viewer.wicket.rememberMe.cookieKey=isisWicketRememberMe
+
+
+#
+# specifies whether an INLINE or DIALOG prompt should be used for property edits and for action invocations (of actions
+# associated with a property).  This is a fallback where not specified on a case-by-case using @PropertyLayout or
+# @ActionLayout (or equivalents in the Xxx.layout.xml file).
+#
+# If not specified then the default is an inline prompt.
+#
+#isis.viewer.wicket.promptStyle=INLINE
+
+
+#
+# If set then reverts to pre-1.15.0 behaviour of redirecting to a new page on any action invocation or property edit.
+# If left to its default then the page will be updated if the same object is rendered, making for a smoother user
+# experience.
+#
+#isis.viewer.wicket.redirectEvenIfSameObject=false

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/authentication_shiro.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/authentication_shiro.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/authentication_shiro.properties
deleted file mode 100644
index 552e840..0000000
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/authentication_shiro.properties
+++ /dev/null
@@ -1,25 +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.
-
-
-
-#
-# if the shiro Subject is still authenticated, then just reuse.
-# Prior to 1.13.0, we forced an auto-logout, so set to 'true' to reinstate this behaviour.
-# See this thread for further info: http://markmail.org/message/hsjljwgkhhrzxbrm
-#
-#isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated=false

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
index 5f1b54f..e0185d1 100644
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -16,21 +16,107 @@
 #  under the License.
 
 
+#
+# All other properties are loaded programmatically by the AppManifest
+# (they are unlikely to vary between dev/test/prod so can be "baked in")
+#
+
+
+
+# the baseUrl for hrefs in the events generated by the RO EventSerializer
+isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
+
+
+
+
+#################################################################################
+#
+# JDBC configuration
+#
+#################################################################################
+
 
+#
+# JDBC connection details
+# (also update the pom.xml to reference the appropriate JDBC driver)
+#
 
 #
-# Specify the modules (= entities + services) and other components that make up
-# this application.
+# HSQLDB in-memory
 #
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
 
-isis.appManifest=domainapp.application.manifest.DomainAppAppManifest
-#isis.appManifest=domainapp.application.manifest.DomainAppAppManifestBypassSecurity
-#isis.appManifest=domainapp.application.manifest.DomainAppAppManifestWithFixtures
+
+#
+# HSQLDB in-memory (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
 
 
 
 #
-# Remaining properties are loaded programmatically by the AppManifest
-# (they are unlikely to vary between dev/test/prod so can be "baked in")
+# HSQLDB to file
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+#
+# HSQLDB to file (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
+
+
+
+#
+# PostgreSQL Server
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+#
+# PostgreSQL Server (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
+
+
+
+#
+# MS SQL Server
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=simple
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
+
+#
+# MS SQL Server (using log4jdbc-remix)
+#
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass
+
+
+
+#
+# neo4j
+# (experimental; run with -P neo4j profile in webapp project)
 #
+#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=neo4j:neo4j_DB
 

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/persistor.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/persistor.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/persistor.properties
deleted file mode 100644
index 763f17e..0000000
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/persistor.properties
+++ /dev/null
@@ -1,113 +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.
-
-
-
-#################################################################################
-#
-# JDBC configuration
-#
-#################################################################################
-
-#
-# configuration file holding the JDO objectstore's JDBC configuration
-#
-
-
-#
-# JDBC connection details
-# (also update the pom.xml to reference the appropriate JDBC driver)
-#
-
-#
-# HSQLDB in-memory
-#
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-#
-# HSQLDB in-memory (using log4jdbc-remix)
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-
-
-#
-# HSQLDB to file
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-#
-# HSQLDB to file (using log4jdbc-remix)
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-simple-app/hsql-db;hsqldb.write_delay=false;shutdown=true
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
-
-
-
-#
-# PostgreSQL Server 
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
-
-#
-# PostgreSQL Server (using log4jdbc-remix)
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis
-
-
-
-#
-# MS SQL Server
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=simple
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
-
-#
-# MS SQL Server (using log4jdbc-remix)
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=SQLEXPRESS;databaseName=jdo
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass
-
-
-
-#
-# neo4j
-# (experimental; run with -P neo4j profile in webapp project)
-#
-#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=neo4j:neo4j_DB
-

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
deleted file mode 100644
index 0a85fb6..0000000
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_restfulobjects.properties
+++ /dev/null
@@ -1,66 +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.
-
-#
-# configuration file for the Restful Objects viewer
-#
-
-# the baseUrl for hrefs in the events generated by the RO EventSerializer 
-isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
-
-# renders param details in the (incorrect) form that they were for GSOC2013 viewers
-# isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true
-
-# whether to honor UI hints, in particular Render(EAGERLY).  Defaults to false.
-#isis.viewer.restfulobjects.honorUiHints=false
-
-
-
-###############################################################################
-# Non-standard configuration settings.
-#
-# If enabled of the following are enabled then the viewer is deviating from the
-# RO spec standard; compatibility may be compromised with RO clients.
-###############################################################################
-
-# whether to show only object properties for object members
-# (on the object representation only)
-# Takes precedence over the other 'suppress' below.
-#isis.viewer.restfulobjects.objectPropertyValuesOnly=true
-
-# whether to suppress "describedby" links.  Defaults to false.
-#isis.viewer.restfulobjects.suppressDescribedByLinks=true
-
-# whether to suppress "update" links.  Defaults to false.
-#isis.viewer.restfulobjects.suppressUpdateLink=true
-
-# whether to suppress "id" json-prop for object members.  Defaults to false.
-#isis.viewer.restfulobjects.suppressMemberId=true
-
-# whether to suppress "links" json-prop for object members
-# (on the object representation only).  Defaults to false.
-#isis.viewer.restfulobjects.suppressMemberLinks=true
-
-# whether to suppress "extensions" json-prop for object members
-# (on the object representation only).  Defaults to false.
-#isis.viewer.restfulobjects.suppressMemberExtensions=true
-
-# whether to suppress "disabledReason" json-prop for object members
-# (on the object representation only).  Defaults to false.
-#isis.viewer.restfulobjects.suppressMemberDisabledReason=true
-
-###############################################################################

http://git-wip-us.apache.org/repos/asf/isis/blob/eae978ed/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
deleted file mode 100644
index c6ce045..0000000
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
+++ /dev/null
@@ -1,178 +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.
-
-#
-# configuration file for the Wicket viewer
-#
-
-#
-# The maximum length of titles to display in standalone or parented tables.
-# Titles longer than this length will be truncated with trailing ellipses (...)
-#
-# For example, if set to 12, the title
-# "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
-#
-# If set to 0, then only the icon will be shown.
-#
-isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
-isis.viewer.wicket.maxTitleLengthInParentedTables=0
-
-
-#
-# in Firefox and more recent versions of Chrome 54+, cannot copy out of disabled fields; instead we use the
-# readonly attribute (https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#the-readonly-attribute)
-# This behaviour is enabled by default but can be disabled using this flag
-#
-#isis.viewer.wicket.replaceDisabledTagWithReadonlyTag=true
-
-
-#
-# Whether to disable buttons after it has been clicked (for both form submit and no-arg actions), to prevent users
-# causing an error if they do a double click.
-# Also, whether to show an indicator alongside the button.
-#
-# This behaviour is enabled by default, but can be disabled using this flag.
-#
-#isis.viewer.wicket.preventDoubleClickForFormSubmit=true
-#isis.viewer.wicket.preventDoubleClickForNoArgAction=true
-#isis.viewer.wicket.useIndicatorForFormSubmit=true
-#isis.viewer.wicket.useIndicatorForNoArgAction=true
-
-
-#isis.viewer.wicket.datePicker.minDate=1900-01-01T00:00:00.000Z
-#isis.viewer.wicket.datePicker.maxDate=2100-01-01T00:00:00.000Z
-
-#isis.viewer.wicket.datePattern=dd-MM-yyyy
-#isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm
-
-#isis.viewer.wicket.datePattern=dd/MM/yy
-#isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
-
-
-#
-# whether to strip wicket tags from markup (default is true, as they may break some CSS rules)
-#
-#isis.viewer.wicket.stripWicketTags=false
-
-
-#
-# whether to suppress the 'rememberMe' checkbox on the login page (default is false)
-#
-#isis.viewer.wicket.rememberMe.suppress=false
-
-
-#
-# Encryption key is used to encrypt the rememberMe user/password.  It should be set to a unique and private value.
-# If a hard-coded and publicly known value is used, then it would be possible for rememberMe user/password to be
-# intercepted and decrypted, compromising access.
-#
-# If no value is set then (for safety) a random UUID will be used as the encryption key.  The net effect of this
-# default is that 'rememberMe' will work, but only until the webapp is restarted (after which the end-user will
-# have to log in again).
-#
-#isis.viewer.wicket.rememberMe.encryptionKey=myEncryptionKey
-
-
-#
-# if user attempts to access a protected URL before signing in, then as a convenience the viewer will continue
-# through to that destination after successful login.  If you consider this to be a security risk then this flag
-# disables that behaviour (default is false).
-#
-#isis.viewer.wicket.clearOriginalDestination=true
-
-
-#
-# whether to show the Wicket debug bar and any other development utilities
-# (default depends on whether running in prototype mode or not; this property overrides that)
-#
-#isis.viewer.wicket.developmentUtilities.enable=true
-isis.viewer.wicket.developmentUtilities.enable=true
-
-
-
-#
-# whether to show bookmarks (defaults to true)
-#
-#isis.viewer.wicket.bookmarkedPages.showChooser=true
-isis.viewer.wicket.bookmarkedPages.showChooser=false
-
-
-
-#
-# the maximum number of pages to list in bookmark (default is 15)
-#
-#isis.viewer.wicket.bookmarkedPages.maxSize=15
-
-
-#
-# whether to show breadcrumbs (defaults to true)
-#
-#isis.viewer.wicket.breadcrumbs.showChooser=true
-isis.viewer.wicket.breadcrumbs.showChooser=false
-
-
-
-
-#
-# whether to show the bootstrap theme chooser (defaults false)
-#
-#isis.viewer.wicket.themes.showChooser=false
-isis.viewer.wicket.themes.showChooser=true
-
-
-#
-# comma-separated list of themes to choose from (default is to show all themes from bootswatch.com).
-#
-#isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
-
-
-#
-# whether to automatically select dependent choice when the choice it depends upon changes.
-#
-#isis.viewer.wicket.disableDependentChoiceAutoSelection=false
-
-
-#
-# enable liveReload.  For example, use with gradle -t -b liveReload.gradle --offline &
-#
-#isis.viewer.wicket.liveReloadUrl=http://localhost:35729/livereload.js?snipver=1
-
-
-
-#
-# cookie key holding the (encrypted) 'rememberMe' user/password.
-# If not specified then the cookie key 'isisWicketRememberMe' will be used; there is generally no need to change this.
-#
-#isis.viewer.wicket.rememberMe.cookieKey=isisWicketRememberMe
-
-
-#
-# specifies whether an INLINE or DIALOG prompt should be used for property edits and for action invocations (of actions
-# associated with a property).  This is a fallback where not specified on a case-by-case using @PropertyLayout or
-# @ActionLayout (or equivalents in the Xxx.layout.xml file).
-#
-# If not specified then the default is an inline prompt.
-#
-#isis.viewer.wicket.promptStyle=INLINE
-
-
-#
-# If set then reverts to pre-1.15.0 behaviour of redirecting to a new page on any action invocation or property edit.
-# If left to its default then the page will be updated if the same object is rendered, making for a smoother user
-# experience.
-#
-#isis.viewer.wicket.redirectEvenIfSameObject=false


[4/9] isis git commit: ISIS-1690: if a service's @PostConstruct throws an exception, continue to initialize remainder, and THEN throw the exception to caller

Posted by da...@apache.org.
ISIS-1690: if a service's @PostConstruct throws an exception, continue to initialize remainder, and THEN throw the exception to caller


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/650c285e
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/650c285e
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/650c285e

Branch: refs/heads/master
Commit: 650c285e7b87ecc8c34d6b40829307b95ad391b6
Parents: 5dbbb2b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 14:37:24 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 14:37:24 2017 +0100

----------------------------------------------------------------------
 .../specloader/ServiceInitializer.java          | 26 ++++++++++++++++----
 1 file changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/650c285e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
index e528806..b1f1d42 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
@@ -112,6 +112,7 @@ public class ServiceInitializer {
             LOG.info("calling @PostConstruct on all domain services");
         }
 
+        Exception firstExceptionIfAny = null;
         for (final Map.Entry<Object, Method> entry : postConstructMethodsByService.entrySet()) {
             final Object service = entry.getKey();
             final Method method = entry.getValue();
@@ -124,12 +125,25 @@ public class ServiceInitializer {
             final int numParams = method.getParameterTypes().length;
             
             // unlike shutdown, we don't swallow exceptions; would rather fail early
-            if(numParams == 0) {
-                MethodExtensions.invoke(method, service);
-            } else {
-                MethodExtensions.invoke(method, service, new Object[] { props });
+            try {
+                if(numParams == 0) {
+                    MethodExtensions.invoke(method, service);
+                } else {
+                    MethodExtensions.invoke(method, service, new Object[] { props });
+                }
+            } catch(Exception ex) {
+                LOG.error(String.format(
+                            "@PostConstruct on %s#%s: failed",
+                            service.getClass().getName(), method.getName()),
+                        ex);
+                if(firstExceptionIfAny == null) {
+                    firstExceptionIfAny = ex;
+                }
             }
         }
+        if(firstExceptionIfAny != null) {
+            throw new RuntimeException(firstExceptionIfAny);
+        }
     }
 
     //endregion
@@ -152,7 +166,9 @@ public class ServiceInitializer {
                 MethodExtensions.invoke(method, service);
             } catch(Exception ex) {
                 // do nothing
-                LOG.warn("... @PreDestroy method threw exception - continuing anyway", ex);
+                LOG.warn(String.format(
+                        "@PreDestroy on %s#%s: failed, continuing anyway",
+                        service.getClass().getName(), method.getName()));
             }
         }
     }


[6/9] isis git commit: ISIS-1647: bumps to wicket 7.8.0

Posted by da...@apache.org.
ISIS-1647: bumps to wicket 7.8.0

nb: fix to compile issue ... wicketstuff not quite backwardly compatible


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/76c92a47
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/76c92a47
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/76c92a47

Branch: refs/heads/master
Commit: 76c92a47270c139c15481177e94207ae7e56c9ff
Parents: 2f74620
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jul 13 13:05:06 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 14:38:43 2017 +0100

----------------------------------------------------------------------
 core/pom.xml                                                  | 7 +++----
 .../widgets/select2/providers/EmptyChoiceProvider.java        | 4 ++--
 2 files changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/76c92a47/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 3379199..609e65f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -139,13 +139,13 @@
 
         <jetty.version>9.3.10.v20160621</jetty.version>
 
-        <wicket.version>7.6.0</wicket.version>
+        <wicket.version>7.8.0</wicket.version>
 
         <wicket-webjars.version>0.5.4</wicket-webjars.version>
-        <wicket-bootstrap.version>0.10.12</wicket-bootstrap.version>
+        <wicket-bootstrap.version>0.10.16</wicket-bootstrap.version>
         <wicket-source.version>7.0.0</wicket-source.version>
 
-        <wicketstuff.version>7.6.0</wicketstuff.version>
+        <wicketstuff.version>7.8.0</wicketstuff.version>
         <select2.version>4.0.3</select2.version>
 
         <jquery-ui.version>1.11.4</jquery-ui.version>
@@ -153,7 +153,6 @@
         <guice.version>4.1.0</guice.version>
         <picocontainer.version>2.15</picocontainer.version>
 
-
         <dom4j.version>1.6.1</dom4j.version>
         <jdom.version>2.0.2</jdom.version>
         <xstream.version>1.4.9</xstream.version>

http://git-wip-us.apache.org/repos/asf/isis/blob/76c92a47/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/EmptyChoiceProvider.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/EmptyChoiceProvider.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/EmptyChoiceProvider.java
index aa4387b..aaf752d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/EmptyChoiceProvider.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/EmptyChoiceProvider.java
@@ -19,7 +19,7 @@ package org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers;
 import java.util.Collection;
 
 import org.apache.wicket.ajax.json.JSONException;
-import org.apache.wicket.ajax.json.JSONWriter;
+import org.apache.wicket.ajax.json.JSONStringer;
 import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 
@@ -44,7 +44,7 @@ public class EmptyChoiceProvider extends ChoiceProvider<ObjectAdapterMemento> {
     }
 
     @Override
-    public void toJson(ObjectAdapterMemento choice, JSONWriter writer) throws JSONException {
+    public void toJson(ObjectAdapterMemento choice, JSONStringer writer) throws JSONException {
     }
 
     @Override


[3/9] isis git commit: ISIS-1689: ObjectSpecIdFacetDerivedFromClassName is now a derived facet so will not clobber object spec id facet from JDO PersistenceCapable#schema

Posted by da...@apache.org.
ISIS-1689:  ObjectSpecIdFacetDerivedFromClassName is now a derived facet so will not clobber object spec id facet from JDO PersistenceCapable#schema


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5dbbb2ba
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5dbbb2ba
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5dbbb2ba

Branch: refs/heads/master
Commit: 5dbbb2ba925847aa36a948129076e62d1ceb8956
Parents: eae978e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 14:34:35 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 14:34:35 2017 +0100

----------------------------------------------------------------------
 .../objectspecid/ObjectSpecIdFacetAbstract.java       | 14 ++++++++++----
 .../ObjectSpecIdFacetDerivedFromClassName.java        |  2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/5dbbb2ba/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/ObjectSpecIdFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/ObjectSpecIdFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/ObjectSpecIdFacetAbstract.java
index f2c1355..89fda4a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/ObjectSpecIdFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/ObjectSpecIdFacetAbstract.java
@@ -33,12 +33,18 @@ public abstract class ObjectSpecIdFacetAbstract extends
 
     private final ObjectSpecId value;
 
-    public ObjectSpecIdFacetAbstract(final String value,
-            final FacetHolder holder) {
-        super(ObjectSpecIdFacetAbstract.type(), holder, Derivation.NOT_DERIVED);
-        this.value = ObjectSpecId.of(value);
+    public ObjectSpecIdFacetAbstract(final String value, final FacetHolder holder) {
+        this(value, holder, Derivation.NOT_DERIVED);
     }
     
+    public ObjectSpecIdFacetAbstract(
+            final String value,
+            final FacetHolder holder,
+            final Derivation derivation) {
+        super(ObjectSpecIdFacetAbstract.type(), holder, derivation);
+        this.value = ObjectSpecId.of(value);
+    }
+
     public ObjectSpecId value() {
         return value;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/5dbbb2ba/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassName.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassName.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassName.java
index dba2248..0e5b289 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassName.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassName.java
@@ -28,6 +28,6 @@ public class ObjectSpecIdFacetDerivedFromClassName extends ObjectSpecIdFacetAbst
         this(cls.getCanonicalName(), holder);
     }
     public ObjectSpecIdFacetDerivedFromClassName(final String value, final FacetHolder holder) {
-        super(value, holder);
+        super(value, holder, Derivation.DERIVED);
     }
 }


[5/9] isis git commit: ISIS-1521: tiny tweaks to simpleapp archetype

Posted by da...@apache.org.
ISIS-1521: tiny tweaks to simpleapp archetype


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2f746200
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2f746200
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2f746200

Branch: refs/heads/master
Commit: 2f746200241e592e74e22c35247c7a57cf9b1ef0
Parents: 650c285
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 14:37:41 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 14:37:41 2017 +0100

----------------------------------------------------------------------
 .../application/services/homepage/HomePageViewModel.java       | 2 +-
 .../src/main/java/domainapp/webapp/DomainApplication.java      | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/2f746200/example/application/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java b/example/application/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
index 4bf5563..89f11f8 100644
--- a/example/application/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
+++ b/example/application/simpleapp/application/src/main/java/domainapp/application/services/homepage/HomePageViewModel.java
@@ -29,7 +29,7 @@ import domainapp.modules.simple.dom.impl.SimpleObjectRepository;
 
 @DomainObject(
         nature = Nature.VIEW_MODEL,
-        objectType = "homepage.HomePageViewModel"
+        objectType = "domainapp.application.services.homepage.HomePageViewModel"
 )
 public class HomePageViewModel {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/2f746200/example/application/simpleapp/webapp/src/main/java/domainapp/webapp/DomainApplication.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/java/domainapp/webapp/DomainApplication.java b/example/application/simpleapp/webapp/src/main/java/domainapp/webapp/DomainApplication.java
index df5edfa..b921249 100644
--- a/example/application/simpleapp/webapp/src/main/java/domainapp/webapp/DomainApplication.java
+++ b/example/application/simpleapp/webapp/src/main/java/domainapp/webapp/DomainApplication.java
@@ -62,6 +62,8 @@ public class DomainApplication extends IsisWicketApplication {
         settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly));
     }
 
+    private static final String APP_NAME = "Simple App";
+
     @Override
     protected Module newIsisWicketModule() {
         final Module isisDefaults = super.newIsisWicketModule();
@@ -69,11 +71,11 @@ public class DomainApplication extends IsisWicketApplication {
         final Module overrides = new AbstractModule() {
             @Override
             protected void configure() {
-                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("Simple App");
+                bind(String.class).annotatedWith(Names.named("applicationName")).toInstance(APP_NAME);
                 bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
                 bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
                 bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(), "welcome.html", "This is a simple app"));
-                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Simple App");
+                bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(APP_NAME);
                 bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(
                         Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
                 // if uncommented, then overrides isis.appManifest in config file.


[8/9] isis git commit: Merge branch 'master' of https://github.com/rkalis/isis into ISIS-1687_pr-83

Posted by da...@apache.org.
Merge branch 'master' of https://github.com/rkalis/isis into ISIS-1687_pr-83


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/87955838
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/87955838
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/87955838

Branch: refs/heads/master
Commit: 879558385c9ec7482c9620acaf81384362c84c9d
Parents: 93045fb 43a89c2
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Aug 3 16:42:20 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Aug 3 16:42:20 2017 +0100

----------------------------------------------------------------------
 .../services/jdosupport/IsisJdoSupport.java      | 19 +++++++++++++++++++
 .../service/support/IsisJdoSupportImpl.java      | 13 +++++++++++++
 2 files changed, 32 insertions(+)
----------------------------------------------------------------------