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/09/21 10:41:48 UTC

[1/6] isis git commit: FIX ISIS-1731 @Property(hidden=Where.PARENTED_TABLES) does not render correctly in standalone collection view

Repository: isis
Updated Branches:
  refs/heads/master 9306dff52 -> ff85b71ee


FIX ISIS-1731 @Property(hidden=Where.PARENTED_TABLES) does not render
correctly in standalone collection view

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

Branch: refs/heads/master
Commit: 0cae6aa3fbf2fcfd3410ea5cb72c32a91bfb52f7
Parents: 4912a4d
Author: hobrom <ho...@gmx.at>
Authored: Thu Sep 21 01:32:19 2017 +0200
Committer: hobrom <ho...@gmx.at>
Committed: Thu Sep 21 01:32:19 2017 +0200

----------------------------------------------------------------------
 .../scalars/ScalarPanelAbstract2.java           | 49 +++++++++++++-------
 1 file changed, 33 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/0cae6aa3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 8678ea0..1d0a6cf 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -187,7 +187,7 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
         }
 
         final ScalarModel scalarModel = getModel();
-        final String disableReasonIfAny = scalarModel.whetherDisabled(getRendering().getWhere());
+        final String disableReasonIfAny = scalarModel.whetherDisabled(whereAreWeRendering());
 
         if (scalarModel.isViewMode()) {
             onInitializeWhenViewMode();
@@ -398,10 +398,10 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
     protected void onConfigure() {
 
         final ScalarModel scalarModel = getModel();
-
-        final boolean hidden = scalarModel.whetherHidden(getRendering().getWhere());
+        
+        final boolean hidden = scalarModel.whetherHidden(whereAreWeRendering());
         setVisibilityAllowed(!hidden);
-
+        
         super.onConfigure();
     }
 
@@ -474,7 +474,7 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
 
     // ///////////////////////////////////////////////////////////////////
 
-
+    
     public enum Rendering {
         /**
          * Does not show labels, eg for use in tables
@@ -490,10 +490,6 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
                 panel.getComponentForRegular().setVisible(false);
             }
 
-            @Override
-            public Where getWhere() {
-                return Where.PARENTED_TABLES;
-            }
         },
         /**
          * Does show labels, eg for use in forms.
@@ -509,20 +505,14 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
                 panel.scalarIfCompact.setVisible(false);
             }
 
-            @Override
-            public Where getWhere() {
-                return Where.OBJECT_FORMS;
-            }
         };
 
         public abstract String getLabelCaption(LabeledWebMarkupContainer labeledContainer);
 
         public abstract void buildGui(ScalarPanelAbstract2 panel);
 
-        public abstract Where getWhere();
-
         private static Rendering renderingFor(EntityModel.RenderingHint renderingHint) {
-            return renderingHint.isInTable()? Rendering.COMPACT: Rendering.REGULAR;
+            return renderingHint.isRegular()? Rendering.REGULAR :Rendering.COMPACT;
         }
     }
 
@@ -530,6 +520,33 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
         return Rendering.renderingFor(scalarModel.getRenderingHint());
     }
 
+    /**
+     * Returns the current rendering context of this component, one of 
+     * <ul>
+     * <li>standalone table</li>
+     * <li>parented table</li>
+     * <li>form</li>
+     * </ul>
+     * @return
+     */
+    protected Where whereAreWeRendering() {
+        switch (scalarModel.getRenderingHint()) {
+		case PARENTED_TITLE_COLUMN:
+			return Where.PARENTED_TABLES;
+		case STANDALONE_TITLE_COLUMN:
+			return Where.STANDALONE_TABLES;
+		case PROPERTY_COLUMN:
+			final ObjectAdapter parentAdapter =
+			 	scalarModel.getParentEntityModel().load(AdapterManager.ConcurrencyChecking.NO_CHECK);
+			final boolean parented = parentAdapter.isParentedCollection();
+			return parented ? Where.PARENTED_TABLES : Where.STANDALONE_TABLES;
+		case REGULAR:
+			return Where.OBJECT_FORMS;
+		default:
+			throw new RuntimeException("unmatched case "+scalarModel.getRenderingHint());
+		}
+    }
+    
 
     // ///////////////////////////////////////////////////////////////////
 


[4/6] isis git commit: ISIS-1466: adds null guard which fixes Hidden(Where.PARENTED_TABLES), and testing Hidden(Where.REFERENCES_PARENT) this also seems to be ok.

Posted by da...@apache.org.
ISIS-1466: adds null guard which fixes Hidden(Where.PARENTED_TABLES), and testing Hidden(Where.REFERENCES_PARENT) this also seems to be ok.


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

Branch: refs/heads/master
Commit: f8ecbde40c8014ebd24d868c3fb058d84b7b9ab9
Parents: 2493cf8
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 21 11:21:41 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 21 11:21:41 2017 +0100

----------------------------------------------------------------------
 .../ajaxtable/CollectionContentsAsAjaxTablePanel.java          | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/f8ecbde4/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 8f5541c..94ca53d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -205,8 +205,10 @@ public class CollectionContentsAsAjaxTablePanel
 
         for (final String propertyId : propertyIds) {
             final ObjectAssociation property = propertyById.get(propertyId);
-            final ColumnAbstract<ObjectAdapter> nopc = createObjectAdapterPropertyColumn(property);
-            columns.add(nopc);
+            if(property != null) {
+                final ColumnAbstract<ObjectAdapter> nopc = createObjectAdapterPropertyColumn(property);
+                columns.add(nopc);
+            }
         }
     }
 


[2/6] isis git commit: Merge branch 'ISIS-1731' of https://github.com/hobrom/isis into ISIS-1731_pr-94

Posted by da...@apache.org.
Merge branch 'ISIS-1731' of https://github.com/hobrom/isis into ISIS-1731_pr-94


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

Branch: refs/heads/master
Commit: 7f15b185379496ffffac30eb9bece3352cc62b3f
Parents: 9306dff 0cae6aa
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 21 09:50:07 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 21 09:50:07 2017 +0100

----------------------------------------------------------------------
 .../scalars/ScalarPanelAbstract2.java           | 49 +++++++++++++-------
 1 file changed, 33 insertions(+), 16 deletions(-)
----------------------------------------------------------------------



[5/6] isis git commit: ISIS-1733: updates RepositoryService and its framework implementation so that persist and persistAndFlush are now generic and return the supplied object ... allow for more fluent coding style

Posted by da...@apache.org.
ISIS-1733: updates RepositoryService and its framework implementation so that persist and persistAndFlush are now generic and return the supplied object ... allow for more fluent coding style


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

Branch: refs/heads/master
Commit: 3076e5b796e30005f536eb8bcdd24b3f4ddca9b3
Parents: f8ecbde
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 21 11:23:47 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 21 11:23:47 2017 +0100

----------------------------------------------------------------------
 .../services/repository/RepositoryService.java     |  4 ++--
 .../RepositoryServiceInternalDefault.java          | 17 ++++++++++-------
 2 files changed, 12 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/3076e5b7/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java b/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
index 49cbe08..46f77b9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
@@ -72,7 +72,7 @@ public interface RepositoryService {
      * @see #isPersistent(Object)
      */
     @Programmatic
-    void persist(Object domainObject);
+    <T> T persist(T domainObject);
     
     /**
      * Persist the specified object (or do nothing if already persistent) and flushes changes to the database.
@@ -80,7 +80,7 @@ public interface RepositoryService {
      * @see #persist(Object)
      */
     @Programmatic
-    void persistAndFlush(Object domainObject);
+    <T> T persistAndFlush(T domainObject);
 
     /**
      * Deletes the domain object but only if is persistent.

http://git-wip-us.apache.org/repos/asf/isis/blob/3076e5b7/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
index e692dc2..15853c1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceInternalDefault.java
@@ -78,30 +78,33 @@ public class RepositoryServiceInternalDefault implements RepositoryService {
 
     @Programmatic
     @Override
-    public void persist(final Object object) {
+    public <T> T persist(final T object) {
         if (isPersistent(object)) {
-            return;
+            return object;
         }
         final ObjectAdapter adapter = persistenceSessionServiceInternal.adapterFor(unwrapped(object));
 
         if(adapter == null) {
-            throw new PersistFailedException("Object not known to framework; instantiate using newTransientInstance(...) rather than simply new'ing up.");
+            throw new PersistFailedException("Object not known to framework (unable to create/obtain an adapter)");
         }
         if (adapter.isParentedCollection()) {
             // TODO check aggregation is supported
-            return;
+            return  object;
         }
         if (isPersistent(object)) {
             throw new PersistFailedException("Object already persistent; OID=" + adapter.getOid());
         }
         persistenceSessionServiceInternal.makePersistent(adapter);
+
+        return object;
     }
     
     @Programmatic
     @Override
-    public void persistAndFlush(final Object object) {
-	persist(object);
-	transactionService.flushTransaction();
+    public <T> T persistAndFlush(final T object) {
+        persist(object);
+        transactionService.flushTransaction();
+        return object;
     }
 
     @Override


[6/6] isis git commit: ISIS-1712: uses @RequiredArgsConstructor from lombok to remove some more boilerplate from helloworld and simpleapp

Posted by da...@apache.org.
ISIS-1712: uses @RequiredArgsConstructor from lombok to remove some more boilerplate from helloworld and simpleapp

Also adds enhance-all.sh to each


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

Branch: refs/heads/master
Commit: ff85b71ee89954b16fde26ba4769396fbdefc08a
Parents: 3076e5b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 21 11:27:51 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 21 11:38:09 2017 +0100

----------------------------------------------------------------------
 example/application/helloworld/enhance-all.sh   |  2 +
 .../domainapp/dom/impl/HelloWorldObject.java    | 14 +--
 .../domainapp/dom/impl/HelloWorldObjects.java   |  5 +-
 .../dom/impl/HelloWorldObjectTest_delete.java   |  2 +-
 .../impl/HelloWorldObjectTest_updateName.java   |  2 +-
 example/application/simpleapp/enhance-all.sh    |  2 +
 .../modules/simple/dom/impl/SimpleObject.java   | 15 ++--
 .../simple/dom/impl/SimpleObjectRepository.java |  5 +-
 .../dom/impl/SimpleObjectRepository_Test.java   |  8 +-
 .../simple/dom/impl/SimpleObject_Test.java      |  2 +-
 .../simpleapp/pom-jdo-enhance-all.xml           | 89 --------------------
 11 files changed, 27 insertions(+), 119 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/helloworld/enhance-all.sh
----------------------------------------------------------------------
diff --git a/example/application/helloworld/enhance-all.sh b/example/application/helloworld/enhance-all.sh
new file mode 100644
index 0000000..2da7b0f
--- /dev/null
+++ b/example/application/helloworld/enhance-all.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+mvn datanucleus:enhance -o
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
index d06ad59..40708dd 100644
--- a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
+++ b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
@@ -40,6 +40,8 @@ import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
 
+import lombok.AccessLevel;
+
 @javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "helloworld" )
 @javax.jdo.annotations.DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column ="version")
@@ -53,20 +55,19 @@ import org.apache.isis.applib.services.title.TitleService;
 @javax.jdo.annotations.Unique(name="HelloWorldObject_name_UNQ", members = {"name"})
 @DomainObject(auditing = Auditing.ENABLED)
 @DomainObjectLayout()  // trigger events etc.
+@lombok.RequiredArgsConstructor(staticName = "create")
+@lombok.Getter @lombok.Setter
 public class HelloWorldObject implements Comparable<HelloWorldObject> {
 
-    public HelloWorldObject(final String name) {
-        this.name = name;
-    }
 
     @javax.jdo.annotations.Column(allowsNull = "false", length = 40)
-    @lombok.Getter @lombok.Setter
+    @lombok.NonNull
     @Property(editing = Editing.DISABLED)
     @Title(prepend = "Object: ")
     private String name;
 
+
     @javax.jdo.annotations.Column(allowsNull = "true", length = 4000)
-    @lombok.Getter @lombok.Setter
     @Property(editing = Editing.ENABLED)
     private String notes;
 
@@ -101,12 +102,15 @@ public class HelloWorldObject implements Comparable<HelloWorldObject> {
 
     //region > injected services
     @javax.inject.Inject
+    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     RepositoryService repositoryService;
 
     @javax.inject.Inject
+    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     TitleService titleService;
 
     @javax.inject.Inject
+    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     MessageService messageService;
     //endregion
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
index 5dc3e20..a8c4d39 100644
--- a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
+++ b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
@@ -44,10 +44,7 @@ public class HelloWorldObjects {
             @Parameter(maxLength = 40)
             @ParameterLayout(named = "Name")
             final String name) {
-        final HelloWorldObject object = new HelloWorldObject(name);
-        serviceRegistry.injectServicesInto(object);
-        repositoryService.persistAndFlush(object);
-        return object;
+        return repositoryService.persist(HelloWorldObject.create(name));
     }
 
     @Action(semantics = SemanticsOf.SAFE)

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java b/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java
index 43e2967..23736b9 100644
--- a/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java
+++ b/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java
@@ -48,7 +48,7 @@ public class HelloWorldObjectTest_delete {
     public void happy_case() throws Exception {
 
         // given
-        final HelloWorldObject object = new HelloWorldObject("Foo");
+        final HelloWorldObject object = HelloWorldObject.create("Foo");
         object.titleService = mockTitleService;
         object.messageService = mockMessageService;
         object.repositoryService = mockRepositoryService;

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java b/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java
index 7ae316f..96b6a12 100644
--- a/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java
+++ b/example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java
@@ -27,7 +27,7 @@ public class HelloWorldObjectTest_updateName {
     @Test
     public void happy_case() throws Exception {
         // given
-        final HelloWorldObject object = new HelloWorldObject("Foo");
+        final HelloWorldObject object = HelloWorldObject.create("Foo");
         assertThat(object.getName()).isEqualTo("Foo");
 
         // when

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/simpleapp/enhance-all.sh
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/enhance-all.sh b/example/application/simpleapp/enhance-all.sh
new file mode 100644
index 0000000..63572d1
--- /dev/null
+++ b/example/application/simpleapp/enhance-all.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+mvn -pl module-simple datanucleus:enhance -o
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
index ed4b600..50a5a73 100644
--- a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
+++ b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
@@ -36,8 +36,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
 import org.apache.isis.applib.util.ObjectContracts;
 
-import lombok.Getter;
-import lombok.Setter;
+import lombok.AccessLevel;
 
 @javax.jdo.annotations.PersistenceCapable(
         identityType=IdentityType.DATASTORE,
@@ -59,21 +58,18 @@ import lombok.Setter;
 @javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
 @DomainObject() // objectType inferred from @PersistenceCapable#schema
 @DomainObjectLayout() // trigger events etc.
+@lombok.Getter @lombok.Setter
+@lombok.RequiredArgsConstructor(staticName = "create")
 public class SimpleObject implements Comparable<SimpleObject> {
 
-    public SimpleObject(final String name) {
-        setName(name);
-    }
-
     @javax.jdo.annotations.Column(allowsNull = "false", length = 40)
+    @lombok.NonNull
     @Property() // editing disabled by default, see isis.properties
-    @Getter @Setter
     @Title(prepend = "Object: ")
     private String name;
 
     @javax.jdo.annotations.Column(allowsNull = "true", length = 4000)
     @Property(editing = Editing.ENABLED)
-    @Getter @Setter
     private String notes;
 
 
@@ -120,12 +116,15 @@ public class SimpleObject implements Comparable<SimpleObject> {
 
     //region > injected services
     @javax.inject.Inject
+    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     RepositoryService repositoryService;
 
     @javax.inject.Inject
+    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     TitleService titleService;
 
     @javax.inject.Inject
+    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     MessageService messageService;
     //endregion
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
index 5c9fc89..7a0f14e 100644
--- a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
+++ b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
@@ -45,10 +45,7 @@ public class SimpleObjectRepository {
     }
 
     public SimpleObject create(final String name) {
-        final SimpleObject object = new SimpleObject(name);
-        serviceRegistry.injectServicesInto(object);
-        repositoryService.persist(object);
-        return object;
+        return repositoryService.persist(SimpleObject.create(name));
     }
 
     @javax.inject.Inject

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java b/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
index a81e9a3..eea0c81 100644
--- a/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
+++ b/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
@@ -24,7 +24,6 @@ import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
 import org.jmock.Expectations;
-import org.jmock.Sequence;
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
@@ -32,6 +31,7 @@ import org.junit.Test;
 
 import org.apache.isis.applib.services.registry.ServiceRegistry2;
 import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.core.unittestsupport.jmocking.JMockActions;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
@@ -65,14 +65,10 @@ public class SimpleObjectRepository_Test {
             final String someName = "Foobar";
 
             // given
-            final Sequence seq = context.sequence("create");
             context.checking(new Expectations() {
                 {
-                    oneOf(mockServiceRegistry).injectServicesInto(with(any(SimpleObject.class)));
-                    inSequence(seq);
-
                     oneOf(mockRepositoryService).persist(with(nameOf(someName)));
-                    inSequence(seq);
+                    will(JMockActions.returnArgument(0));
                 }
 
             });

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java b/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
index d228676..132269b 100644
--- a/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
+++ b/example/application/simpleapp/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
@@ -27,7 +27,7 @@ public class SimpleObject_Test {
 
     @Before
     public void setUp() throws Exception {
-        simpleObject = new SimpleObject("Foobar");
+        simpleObject = SimpleObject.create("Foobar");
     }
 
     public static class Name extends SimpleObject_Test {

http://git-wip-us.apache.org/repos/asf/isis/blob/ff85b71e/example/application/simpleapp/pom-jdo-enhance-all.xml
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/pom-jdo-enhance-all.xml b/example/application/simpleapp/pom-jdo-enhance-all.xml
deleted file mode 100644
index 3a8e457..0000000
--- a/example/application/simpleapp/pom-jdo-enhance-all.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
-    license agreements. See the NOTICE file distributed with this work for additional 
-    information regarding copyright ownership. The ASF licenses this file to 
-    you under the Apache License, Version 2.0 (the "License"); you may not use 
-    this file except in compliance with the License. You may obtain a copy of 
-    the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
-    by applicable law or agreed to in writing, software distributed under the 
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
-    OF ANY KIND, either express or implied. See the License for the specific 
-    language governing permissions and limitations under the License. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache</groupId>
-        <artifactId>apache</artifactId>
-        <version>13</version>
-        <relativePath />
-    </parent>
-
-    <groupId>org.apache.isis.example.application</groupId>
-    <artifactId>simpleapp-enhance-all</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    
-    <packaging>pom</packaging>
-
-    <name>Enhance All DOM Modules</name>
-
-    <description>
-        Utility to enhance all Maven projects containing JDO entities with a single command:
-        mvn -f pom-jdo-enhance-all.xml datanucleus:enhance -o
-    </description>
-
-    <properties>
-        <datanucleus-maven-plugin.version>4.0.1</datanucleus-maven-plugin.version>
-    </properties>
-
-    <build>
-        <resources>
-            <resource>
-                <filtering>false</filtering>
-                <directory>src/main/resources</directory>
-            </resource>
-            <resource>
-                <filtering>false</filtering>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.datanucleus</groupId>
-                <artifactId>datanucleus-maven-plugin</artifactId>
-                <version>${datanucleus-maven-plugin.version}</version>
-                <configuration>
-                    <fork>false</fork>
-                    <verbose>true</verbose>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>compile</phase>
-                        <goals>
-                            <goal>enhance</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>core</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <modules>
-                <module>module-simple</module>
-            </modules>
-        </profile>
-    </profiles>
-
-</project>


[3/6] isis git commit: Merge branch 'ISIS-1731_pr-94'

Posted by da...@apache.org.
Merge branch 'ISIS-1731_pr-94'


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

Branch: refs/heads/master
Commit: 2493cf84f6a9fc08e65cac96f40810e7ae6c56e6
Parents: 9306dff 7f15b18
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 21 11:19:25 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 21 11:19:25 2017 +0100

----------------------------------------------------------------------
 .../scalars/ScalarPanelAbstract2.java           | 49 +++++++++++++-------
 1 file changed, 33 insertions(+), 16 deletions(-)
----------------------------------------------------------------------