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