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(-)
----------------------------------------------------------------------