1
|
|
package fr.sii.ogham.template.freemarker.adapter; |
2
|
|
|
3
|
|
import java.net.URL; |
4
|
|
|
5
|
|
import fr.sii.ogham.core.resource.resolver.ClassPathResolver; |
6
|
|
import fr.sii.ogham.core.resource.resolver.DelegateResourceResolver; |
7
|
|
import fr.sii.ogham.core.resource.resolver.ResourceResolver; |
8
|
|
import freemarker.cache.ClassTemplateLoader; |
9
|
|
import freemarker.cache.TemplateLoader; |
10
|
|
|
11
|
|
/** |
12
|
|
* Adapter that converts general {@link ClassPathResolver} into FreeMarker |
13
|
|
* specific {@link ClassTemplateLoader}. |
14
|
|
* |
15
|
|
* @author Cyril Dejonghe |
16
|
|
* |
17
|
|
*/ |
18
|
|
public class ClassPathResolverAdapter extends AbstractFreeMarkerTemplateLoaderOptionsAdapter { |
19
|
|
private final ClassLoader classLoader; |
20
|
|
|
21
|
|
public ClassPathResolverAdapter(ClassLoader classLoader) { |
22
|
|
super(); |
23
|
|
this.classLoader = classLoader; |
24
|
|
} |
25
|
|
|
26
|
|
@Override |
27
|
|
public boolean supports(ResourceResolver resolver) { |
28
|
4
1. supports : negated conditional → KILLED
2. supports : negated conditional → KILLED
3. supports : negated conditional → KILLED
4. supports : negated conditional → KILLED
|
ResourceResolver actualResolver = resolver instanceof DelegateResourceResolver ? ((DelegateResourceResolver) resolver).getActualResourceResolver() : resolver; |
29
|
7
1. supports : replaced boolean return with true for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → SURVIVED
2. supports : replaced boolean return with true for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → TIMED_OUT
3. supports : replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED
4. supports : replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED
5. supports : replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED
6. supports : replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED
7. supports : replaced boolean return with true for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED
|
return actualResolver instanceof ClassPathResolver; |
30
|
|
} |
31
|
|
|
32
|
|
@Override |
33
|
|
public TemplateLoader adapt(ResourceResolver resolver) { |
34
|
4
1. adapt : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED
2. adapt : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED
3. adapt : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED
4. adapt : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED
|
return new FixClassTemplateLoader(getClassLoader(), ""); |
35
|
|
} |
36
|
|
|
37
|
|
private ClassLoader getClassLoader() { |
38
|
4
1. getClassLoader : negated conditional → KILLED
2. getClassLoader : negated conditional → KILLED
3. getClassLoader : negated conditional → KILLED
4. getClassLoader : negated conditional → KILLED
|
if(classLoader!=null) { |
39
|
1
1. getClassLoader : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → NO_COVERAGE
|
return classLoader; |
40
|
|
} |
41
|
4
1. getClassLoader : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED
2. getClassLoader : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED
3. getClassLoader : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED
4. getClassLoader : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED
|
return Thread.currentThread().getContextClassLoader(); |
42
|
|
} |
43
|
|
|
44
|
|
private static class FixClassTemplateLoader extends ClassTemplateLoader { |
45
|
|
public FixClassTemplateLoader(ClassLoader classLoader, String basePackagePath) { |
46
|
|
super(classLoader, basePackagePath); |
47
|
|
} |
48
|
|
|
49
|
|
@Override |
50
|
|
protected URL getURL(String name) { |
51
|
4
1. getURL : negated conditional → TIMED_OUT
2. getURL : negated conditional → KILLED
3. getURL : negated conditional → KILLED
4. getURL : negated conditional → KILLED
|
String path = name.startsWith("/") ? name.substring(1) : name; |
52
|
4
1. getURL : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → TIMED_OUT
2. getURL : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → KILLED
3. getURL : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → KILLED
4. getURL : replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → KILLED
|
return super.getURL(path); |
53
|
|
} |
54
|
|
} |
55
|
|
|
56
|
|
} |
| | Mutations |
28 |
|
1.1 Location : supports Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredAndFreemarkerOnlyRegisteredButResourceResolutionNotConfiguredCantHandleTemplateContent(oghamall.it.configuration.EmptyBuilderTest) negated conditional → KILLED 2.2 Location : supports Killed by : oghamspringbootv2autoconfigure.it.StaticMethodAccessTest.emailUsingFreemarkerTemplateAndStaticMethodAccessDisabledShouldFail(oghamspringbootv2autoconfigure.it.StaticMethodAccessTest) negated conditional → KILLED 3.3 Location : supports Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) negated conditional → KILLED 4.4 Location : supports Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) negated conditional → KILLED
|
29 |
|
1.1 Location : supports Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED 2.2 Location : supports Killed by : oghamall.it.email.EmailMultiTemplateTest.withFreemarkerOneVariantWithParsingError(oghamall.it.email.EmailMultiTemplateTest) replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED 3.3 Location : supports Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED 4.4 Location : supports Killed by : oghamspringbootv2autoconfigure.it.StaticMethodAccessTest.emailUsingFreemarkerTemplateAndStaticMethodAccessDisabledShouldFail(oghamspringbootv2autoconfigure.it.StaticMethodAccessTest) replaced boolean return with false for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED 5.5 Location : supports Killed by : none replaced boolean return with true for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → TIMED_OUT 6.6 Location : supports Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredAndFreemarkerOnlyRegisteredButResourceResolutionNotConfiguredCantHandleTemplateContent(oghamall.it.configuration.EmptyBuilderTest) replaced boolean return with true for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → KILLED 7.7 Location : supports Killed by : none replaced boolean return with true for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::supports → SURVIVED
|
34 |
|
1.1 Location : adapt Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED 2.2 Location : adapt Killed by : oghamall.it.email.EmailMultiTemplateTest.withFreemarkerOneVariantWithParsingError(oghamall.it.email.EmailMultiTemplateTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED 3.3 Location : adapt Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED 4.4 Location : adapt Killed by : oghamspringbootv2autoconfigure.it.StaticMethodAccessTest.emailUsingFreemarkerTemplateAndStaticMethodAccessDisabledShouldFail(oghamspringbootv2autoconfigure.it.StaticMethodAccessTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::adapt → KILLED
|
38 |
|
1.1 Location : getClassLoader Killed by : oghamspringbootv2autoconfigure.it.StaticMethodAccessTest.emailUsingFreemarkerTemplateAndStaticMethodAccessDisabledShouldFail(oghamspringbootv2autoconfigure.it.StaticMethodAccessTest) negated conditional → KILLED 2.2 Location : getClassLoader Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) negated conditional → KILLED 3.3 Location : getClassLoader Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) negated conditional → KILLED 4.4 Location : getClassLoader Killed by : oghamall.it.retry.AutoRetryTest.doNotResendEmailIfParsingFailed(oghamall.it.retry.AutoRetryTest) negated conditional → KILLED
|
39 |
|
1.1 Location : getClassLoader Killed by : none replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → NO_COVERAGE
|
41 |
|
1.1 Location : getClassLoader Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED 2.2 Location : getClassLoader Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED 3.3 Location : getClassLoader Killed by : oghamspringbootv2autoconfigure.it.StaticMethodAccessTest.emailUsingFreemarkerTemplateAndStaticMethodAccessDisabledShouldFail(oghamspringbootv2autoconfigure.it.StaticMethodAccessTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED 4.4 Location : getClassLoader Killed by : oghamall.it.retry.AutoRetryTest.doNotResendEmailIfParsingFailed(oghamall.it.retry.AutoRetryTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter::getClassLoader → KILLED
|
51 |
|
1.1 Location : getURL Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) negated conditional → KILLED 2.2 Location : getURL Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) negated conditional → KILLED 3.3 Location : getURL Killed by : none negated conditional → TIMED_OUT 4.4 Location : getURL Killed by : oghamall.it.retry.AutoRetryTest.doNotResendEmailIfParsingFailed(oghamall.it.retry.AutoRetryTest) negated conditional → KILLED
|
52 |
|
1.1 Location : getURL Killed by : oghamall.it.retry.AutoRetryTest.doNotResendEmailIfParsingFailed(oghamall.it.retry.AutoRetryTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → KILLED 2.2 Location : getURL Killed by : oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest.smsUsingFreemarkerTemplateShouldResolveBeans(oghamspringbootv1autoconfigure.it.SpringBeanResolutionTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → KILLED 3.3 Location : getURL Killed by : none replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → TIMED_OUT 4.4 Location : getURL Killed by : oghamfremarker.it.FreeMarkerParserTest.nested(oghamfremarker.it.FreeMarkerParserTest) replaced return value with null for fr/sii/ogham/template/freemarker/adapter/ClassPathResolverAdapter$FixClassTemplateLoader::getURL → KILLED
|