in core/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java [96:116]
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);
}
}