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/02/14 21:47:05 UTC
[2/4] isis git commit: ISIS-1587: for 'explicitObjectTypes' exclude
mixins and contributed services. Also JAXB DTO view models.
ISIS-1587: for 'explicitObjectTypes' exclude mixins and contributed services. Also JAXB DTO view models.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/97db6986
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/97db6986
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/97db6986
Branch: refs/heads/master
Commit: 97db6986121c385848df812e6326c7870f955198
Parents: aec90df
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Feb 14 18:11:58 2017 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Feb 14 18:11:58 2017 +0000
----------------------------------------------------------------------
...tSpecIdFacetDerivedFromClassNameFactory.java | 28 +++++++++++++-------
1 file changed, 18 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/97db6986/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
index 943cd13..7d38a38 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
@@ -21,6 +21,8 @@ package org.apache.isis.core.metamodel.facets.object.objectspecid.classname;
import java.util.List;
+import javax.xml.bind.annotation.XmlType;
+
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,7 +32,6 @@ import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
-import org.apache.isis.core.metamodel.facets.object.recreatable.RecreatableObjectFacetForXmlRootElementAnnotation;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
import org.apache.isis.core.metamodel.services.ServiceUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -136,22 +137,29 @@ public class ObjectSpecIdFacetDerivedFromClassNameFactory extends FacetFactoryAb
return true;
}
if (objectSpec.isViewModel()) {
- ViewModelFacet viewModelFacet = objectSpec.getFacet(ViewModelFacet.class);
- if(viewModelFacet instanceof RecreatableObjectFacetForXmlRootElementAnnotation) {
- // JAXB DTOs are excluded
+ final ViewModelFacet viewModelFacet = objectSpec.getFacet(ViewModelFacet.class);
+ // don't check JAXB DTOs
+ final XmlType xmlType = objectSpec.getCorrespondingClass().getAnnotation(XmlType.class);
+ if(xmlType != null) {
return false;
}
return true;
}
+ if(objectSpec.isMixin()) {
+ return false;
+ }
if (objectSpec.isService()) {
- // don't care about domain services.
- DomainServiceFacet domainServiceFacet = objectSpec.getFacet(DomainServiceFacet.class);
- if(domainServiceFacet != null && domainServiceFacet.getNatureOfService() == NatureOfService.DOMAIN) {
- return false;
+ // don't check if domain service isn't a target in public API (UI/REST)
+ final DomainServiceFacet domainServiceFacet = objectSpec.getFacet(DomainServiceFacet.class);
+ if(domainServiceFacet != null) {
+ if(domainServiceFacet.getNatureOfService() == NatureOfService.DOMAIN ||
+ domainServiceFacet.getNatureOfService() == NatureOfService.VIEW_CONTRIBUTIONS_ONLY) {
+ return false;
+ }
}
- // we don't care about services that have only programmatic methods
- List<ObjectAction> objectActions = objectSpec.getObjectActions(Contributed.INCLUDED);
+ // don't check if domain service has only programmatic methods
+ final List<ObjectAction> objectActions = objectSpec.getObjectActions(Contributed.INCLUDED);
if(objectActions.isEmpty()) {
return false;
}