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 2016/04/21 11:05:45 UTC
[09/12] isis git commit: ISIS-1385: using new API in
MetaModelService2 to disable the "openTargetObject" action if the object
pertains to a domain service.
ISIS-1385: using new API in MetaModelService2 to disable the "openTargetObject" action if the object pertains to a domain service.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/0f1fe2eb
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/0f1fe2eb
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/0f1fe2eb
Branch: refs/heads/ISIS-1291
Commit: 0f1fe2ebbb7df9826a936b23c8f16ed3b13aed5d
Parents: 16a42b8
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Apr 21 09:48:50 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Apr 21 09:50:47 2016 +0100
----------------------------------------------------------------------
.../applib/service/DomainChangeJdoAbstract.java | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/0f1fe2eb/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java b/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
index 368508e..20d646c 100644
--- a/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
@@ -19,8 +19,10 @@ package org.apache.isis.objectstore.jdo.applib.service;
import java.sql.Timestamp;
import java.util.Comparator;
import java.util.UUID;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
@@ -36,6 +38,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
+import org.apache.isis.applib.services.metamodel.MetaModelService2;
import org.apache.isis.applib.util.ObjectContracts;
import static org.apache.isis.applib.annotation.Optionality.MANDATORY;
@@ -222,10 +225,23 @@ public abstract class DomainChangeJdoAbstract {
public Object openTargetObject() {
return Util.lookupBookmark(getTarget(), bookmarkService, container);
}
+
public boolean hideOpenTargetObject() {
return getTarget() == null;
}
+ public String disableOpenTargetObject() {
+ final Object targetObject = getTarget();
+ if (targetObject == null) {
+ return null;
+ }
+ final MetaModelService2.Sort sortOfObject = metaModelService.sortOf(getTarget());
+ return !(sortOfObject.isViewModel() || sortOfObject.isJdoEntity())
+ ? "Can only open view models or entities"
+ : null;
+ }
+
+
// //////////////////////////////////////
@@ -331,4 +347,7 @@ public abstract class DomainChangeJdoAbstract {
@javax.inject.Inject
protected DomainObjectContainer container;
+ @javax.inject.Inject
+ protected MetaModelService2 metaModelService;
+
}