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;
+
 }