ClassPathResolverAdapter.java

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

Active mutators

Tests examined


Report generated by PIT OGHAM