ImageResolver.java

1
package pro.verron.officestamper.preset.resolvers.image;
2
3
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
4
import org.docx4j.wml.R;
5
import org.springframework.lang.Nullable;
6
import pro.verron.officestamper.api.DocxPart;
7
import pro.verron.officestamper.api.ObjectResolver;
8
import pro.verron.officestamper.api.OfficeStamperException;
9
import pro.verron.officestamper.preset.Image;
10
11
/// This [ObjectResolver] allows context objects to return objects of
12
/// type [Image]. An expression that resolves to an [Image]
13
/// object will be replaced by an actual image in the resulting .docx document.
14
/// The image will be put as an inline into the surrounding paragraph of text.
15
///
16
/// @author Joseph Verron
17
/// @version ${version}
18
/// @since 1.6.7
19
public class ImageResolver
20
        implements ObjectResolver {
21
22
    @Override
23
    public boolean canResolve(@Nullable Object object) {
24 2 1. canResolve : replaced boolean return with true for pro/verron/officestamper/preset/resolvers/image/ImageResolver::canResolve → KILLED
2. canResolve : replaced boolean return with false for pro/verron/officestamper/preset/resolvers/image/ImageResolver::canResolve → KILLED
        return object instanceof Image;
25
    }
26
27
    @Override
28
    public R resolve(
29
            DocxPart document,
30
            String expression,
31
            Object object
32
    ) {
33 1 1. resolve : negated conditional → KILLED
        if (object instanceof Image image)
34 1 1. resolve : replaced return value with null for pro/verron/officestamper/preset/resolvers/image/ImageResolver::resolve → KILLED
            return resolve(document, image);
35
        String message = "Expected %s to be an Image".formatted(object);
36
        throw new OfficeStamperException(message);
37
    }
38
39
    /// Resolves an image and adds it to a [WordprocessingMLPackage]
40
    /// document.
41
    ///
42
    /// @param image The image to be resolved and added
43
    ///
44
    /// @return The run containing the added image
45
    ///
46
    /// @throws OfficeStamperException If an error occurs while adding the image to the document
47
    private R resolve(DocxPart document, Image image) {
48
        try {
49 1 1. resolve : replaced return value with null for pro/verron/officestamper/preset/resolvers/image/ImageResolver::resolve → KILLED
            return image.newRun(document, "dummyFileName", "dummyAltText");
50
        } catch (Exception e) {
51
            throw new OfficeStamperException("Error while adding image to document!", e);
52
        }
53
    }
54
55
}

Mutations

24

1.1
Location : canResolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#37]
replaced boolean return with true for pro/verron/officestamper/preset/resolvers/image/ImageResolver::canResolve → KILLED

2.2
Location : canResolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#30]
replaced boolean return with false for pro/verron/officestamper/preset/resolvers/image/ImageResolver::canResolve → KILLED

33

1.1
Location : resolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#30]
negated conditional → KILLED

34

1.1
Location : resolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#30]
replaced return value with null for pro/verron/officestamper/preset/resolvers/image/ImageResolver::resolve → KILLED

49

1.1
Location : resolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#30]
replaced return value with null for pro/verron/officestamper/preset/resolvers/image/ImageResolver::resolve → KILLED

Active mutators

Tests examined


Report generated by PIT 1.21.0