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 2018/10/23 17:48:07 UTC

[isis] branch v2 updated (57d42f3 -> fd3b782)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a change to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from 57d42f3  ISIS-1811: blobs should be encoded using base 64 encoding, not base 64 url safe encoding.
     add d536787  ISIS-2017: adds support for $$domainType
     new fd3b782  ISIS-2019: adds guards for missing facets

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/isis/applib/client/SuppressionType.java    |  7 +++++--
 .../core/metamodel/specloader/SpecificationLoader.java    |  2 +-
 .../specloader/specimpl/OneToManyAssociationDefault.java  |  3 ++-
 .../ContentNegotiationServiceForRestfulObjectsV1_0.java   |  7 ++++++-
 .../conneg/ContentNegotiationServiceOrgApacheIsisV1.java  | 15 +++++++++++++--
 5 files changed, 27 insertions(+), 7 deletions(-)


[isis] 01/01: ISIS-2019: adds guards for missing facets

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git

commit fd3b782ee09d271bb4c458a28a055ab611e348cd
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 23 18:47:39 2018 +0100

    ISIS-2019: adds guards for missing facets
    
    if missing TypeOfFacet or CollectionSemantcsFacet when invoking a collection mixin
---
 .../apache/isis/core/metamodel/specloader/SpecificationLoader.java | 2 +-
 .../metamodel/specloader/specimpl/OneToManyAssociationDefault.java | 3 ++-
 .../conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java     | 7 ++++++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index 3ef0654..878f3eb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -576,7 +576,7 @@ public class SpecificationLoader implements ApplicationScopedComponent {
      * </p>
      */
     @Programmatic
-    public Collection<ObjectSpecification> allSpecifications() {
+    public List<ObjectSpecification> allSpecifications() {
         return _Lists.newArrayList(allCachedSpecifications());
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationDefault.java
index 90691bb..7acfbd9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationDefault.java
@@ -68,7 +68,8 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
 
     @Override
     public CollectionSemantics getCollectionSemantics() {
-        return getFacet(CollectionSemanticsFacet.class).value();
+        final CollectionSemanticsFacet facet = getFacet(CollectionSemanticsFacet.class);
+        return facet != null ? facet.value() : CollectionSemantics.OTHER_IMPLEMENTATION;
     }
 
 
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
index 21ad5a6..ad82bda 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.java
@@ -38,6 +38,8 @@ import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
 import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
@@ -314,7 +316,7 @@ public class ContentNegotiationServiceForRestfulObjectsV1_0 implements ContentNe
 
     private ObjectSpecification elementSpecFrom(final ObjectAndActionInvocation objectAndActionInvocation) {
         final TypeOfFacet typeOfFacet = objectAndActionInvocation.getAction().getFacet(TypeOfFacet.class);
-        return typeOfFacet.valueSpec();
+        return typeOfFacet != null ? typeOfFacet.valueSpec() :  getSpecificationLoader().loadSpecification(Object.class) ;
     }
 
     private Collection<ObjectAdapter> objectAdaptersFrom(final ObjectAndActionInvocation objectAndActionInvocation) {
@@ -411,6 +413,9 @@ public class ContentNegotiationServiceForRestfulObjectsV1_0 implements ContentNe
         return true;
     }
 
+    private SpecificationLoader getSpecificationLoader() {
+        return IsisContext.getSpecificationLoader();
+    }
 
 
 }