You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2017/05/09 13:01:37 UTC
svn commit: r1794571 - in /sling/trunk/bundles/extensions/models/impl/src:
main/java/org/apache/sling/models/impl/AdapterImplementations.java
test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java
Author: sseifert
Date: Tue May 9 13:01:37 2017
New Revision: 1794571
URL: http://svn.apache.org/viewvc?rev=1794571&view=rev
Log:
SLING-6846 Sling Models Impl: Avoid exceptions when resource has no resource type
Modified:
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/AdapterImplementations.java
sling/trunk/bundles/extensions/models/impl/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java
Modified: sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/AdapterImplementations.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/AdapterImplementations.java?rev=1794571&r1=1794570&r2=1794571&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/AdapterImplementations.java (original)
+++ sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/AdapterImplementations.java Tue May 9 13:01:37 2017
@@ -324,6 +324,9 @@ final class AdapterImplementations {
}
private static Class<?> getClassFromResourceTypeMap(final String resourceType, final Map<String, Class<?>> map, final ResourceResolver resolver) {
+ if (resourceType == null) {
+ return null;
+ }
Class<?> modelClass = map.get(resourceType);
if (modelClass == null) {
for (String searchPath : resolver.getSearchPath()) {
Modified: sling/trunk/bundles/extensions/models/impl/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/impl/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java?rev=1794571&r1=1794570&r2=1794571&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/impl/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java (original)
+++ sling/trunk/bundles/extensions/models/impl/src/test/java/org/apache/sling/models/impl/AdapterImplementationsTest.java Tue May 9 13:01:37 2017
@@ -244,6 +244,16 @@ public class AdapterImplementationsTest
assertNull(underTest.getModelClassForResource(resource));
}
+ @Test
+ public void testResourceTypeRegistrationForResourceWithoutResourceType() {
+ when(resource.getResourceType()).thenReturn(null);
+ when(resource.getResourceResolver()).thenReturn(resourceResolver);
+ when(resourceResolver.getSearchPath()).thenReturn(new String[] { "/apps/", "/libs/" });
+
+ // ensure we don't have any registrations and no exception is thrown
+ assertNull(underTest.getModelClassForResource(resource));
+ }
+
static final class NoneImplementationPicker implements ImplementationPicker {
@Override
public Class<?> pick(Class<?> adapterType, Class<?>[] implementationsTypes, Object adaptable) {