in core/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java [127:152]
private static ResourceResolverTypeAdapter getResourceResolverTypeAdapter(
final ResourceResolverType type, @NotNull final BundleContext bundleContext) {
try {
Class clazz = Class.forName(type.getResourceResolverTypeAdapterClass());
try {
Constructor<ResourceResolverTypeAdapter> bundleContextConstructor =
clazz.getConstructor(BundleContext.class);
// use constructor with bundle context
return bundleContextConstructor.newInstance(bundleContext);
} catch (NoSuchMethodException ex) {
// fallback to default constructor
return (ResourceResolverTypeAdapter) clazz.newInstance();
}
} catch (ClassNotFoundException
| InstantiationException
| IllegalAccessException
| InvocationTargetException ex) {
throw new RuntimeException(
"Unable to instantiate resourcer resolver: "
+ type.getResourceResolverTypeAdapterClass()
+ (type.getArtifactCoordinates() != null
? ". Make sure this maven dependency is included: " + type.getArtifactCoordinates()
: ""),
ex);
}
}