1 | package com.fwmotion.threescale.cms.mappers; | |
2 | ||
3 | import com.fwmotion.threescale.cms.model.*; | |
4 | import com.redhat.threescale.rest.cms.model.*; | |
5 | import org.mapstruct.Mapper; | |
6 | import org.mapstruct.Mapping; | |
7 | ||
8 | @Mapper | |
9 | public interface CmsTemplateMapper { | |
10 | ||
11 | CmsBuiltinPage fromRestBuiltinPage(BuiltinPage builtinPage); | |
12 | ||
13 | @Mapping(target = "layoutName", source = "layout") | |
14 | @Mapping(target = "draft", ignore = true) | |
15 | @Mapping(target = "layoutId", ignore = true) | |
16 | @Mapping(target = "sectionId", ignore = true) | |
17 | TemplateUpdatableFields toRestBuiltinPage(CmsBuiltinPage builtinPage); | |
18 | ||
19 | CmsBuiltinPartial fromRestBuiltinPartial(BuiltinPartial builtinPartial); | |
20 | ||
21 | @Mapping(target = "draft", ignore = true) | |
22 | @Mapping(target = "layoutId", ignore = true) | |
23 | @Mapping(target = "layoutName", ignore = true) | |
24 | @Mapping(target = "path", ignore = true) | |
25 | @Mapping(target = "sectionId", ignore = true) | |
26 | @Mapping(target = "title", ignore = true) | |
27 | TemplateUpdatableFields toRestBuiltinPartial(CmsBuiltinPartial builtinPartial); | |
28 | ||
29 | @Mapping(target = "draftContent", source = "draft") | |
30 | @Mapping(target = "publishedContent", source = "published") | |
31 | CmsLayout fromRestLayout(Layout layout); | |
32 | ||
33 | @Mapping(target = "type", constant = "LAYOUT") | |
34 | @Mapping(target = "contentType", ignore = true) | |
35 | @Mapping(target = "draft", ignore = true) | |
36 | @Mapping(target = "layoutId", ignore = true) | |
37 | @Mapping(target = "layoutName", ignore = true) | |
38 | @Mapping(target = "path", ignore = true) | |
39 | @Mapping(target = "sectionId", ignore = true) | |
40 | TemplateCreationRequest toRestLayoutCreation(CmsLayout layout); | |
41 | ||
42 | @Mapping(target = "contentType", ignore = true) | |
43 | @Mapping(target = "draft", ignore = true) | |
44 | @Mapping(target = "layoutId", ignore = true) | |
45 | @Mapping(target = "layoutName", ignore = true) | |
46 | @Mapping(target = "path", ignore = true) | |
47 | @Mapping(target = "sectionId", ignore = true) | |
48 | TemplateUpdatableFields toRestLayoutUpdate(CmsLayout layout); | |
49 | ||
50 | @Mapping(target = "sectionId", ignore = true) | |
51 | CmsPage fromRestPage(Page page); | |
52 | ||
53 | @Mapping(target = "type", constant = "PAGE") | |
54 | @Mapping(target = "layoutName", source = "layout") | |
55 | @Mapping(target = "draft", ignore = true) | |
56 | @Mapping(target = "layoutId", ignore = true) | |
57 | @Mapping(target = "systemName", ignore = true) | |
58 | TemplateCreationRequest toRestPageCreation(CmsPage page); | |
59 | ||
60 | @Mapping(target = "layoutName", source = "layout") | |
61 | @Mapping(target = "draft", ignore = true) | |
62 | @Mapping(target = "layoutId", ignore = true) | |
63 | @Mapping(target = "systemName", ignore = true) | |
64 | TemplateUpdatableFields toRestPageUpdate(CmsPage page); | |
65 | ||
66 | CmsPartial fromRestPartial(Partial partial); | |
67 | ||
68 | @Mapping(target = "type", constant = "PARTIAL") | |
69 | @Mapping(target = "draft", ignore = true) | |
70 | @Mapping(target = "layoutId", ignore = true) | |
71 | @Mapping(target = "layoutName", ignore = true) | |
72 | @Mapping(target = "path", ignore = true) | |
73 | @Mapping(target = "sectionId", ignore = true) | |
74 | @Mapping(target = "title", ignore = true) | |
75 | TemplateCreationRequest toRestPartialCreation(CmsPartial partial); | |
76 | ||
77 | @Mapping(target = "draft", ignore = true) | |
78 | @Mapping(target = "layoutId", ignore = true) | |
79 | @Mapping(target = "layoutName", ignore = true) | |
80 | @Mapping(target = "path", ignore = true) | |
81 | @Mapping(target = "sectionId", ignore = true) | |
82 | @Mapping(target = "title", ignore = true) | |
83 | TemplateUpdatableFields toRestPartialUpdate(CmsPartial partial); | |
84 | ||
85 | default CmsTemplate fromRest(Template template) { | |
86 | /* When upgraded to JDK21: | |
87 | return switch (template) { | |
88 | case null -> null; | |
89 | ||
90 | case BuiltinPage builtinPage -> fromRestBuiltinPage(builtinPage); | |
91 | case BuiltinPartial builtinPartial -> fromRestBuiltinPartial(builtinPartial); | |
92 | case Layout layout -> fromRestLayout(layout); | |
93 | case Page page -> fromRestPage(page); | |
94 | case Partial partial -> fromRestPartial(partial); | |
95 | ||
96 | default -> throw new UnsupportedOperationException("Unknown template type: " + template.getClass().getName()); | |
97 | }; | |
98 | */ | |
99 |
2
1. fromRest : removed conditional - replaced equality check with false → SURVIVED 2. fromRest : removed conditional - replaced equality check with true → KILLED |
if (template == null) { |
100 | return null; | |
101 |
2
1. fromRest : removed conditional - replaced equality check with false → KILLED 2. fromRest : removed conditional - replaced equality check with true → KILLED |
} else if (template instanceof BuiltinPage builtinPage) { |
102 |
1
1. fromRest : replaced return value with null for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::fromRest → KILLED |
return fromRestBuiltinPage(builtinPage); |
103 |
2
1. fromRest : removed conditional - replaced equality check with true → KILLED 2. fromRest : removed conditional - replaced equality check with false → KILLED |
} else if (template instanceof BuiltinPartial builtinPartial) { |
104 |
1
1. fromRest : replaced return value with null for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::fromRest → KILLED |
return fromRestBuiltinPartial(builtinPartial); |
105 |
2
1. fromRest : removed conditional - replaced equality check with true → KILLED 2. fromRest : removed conditional - replaced equality check with false → KILLED |
} else if (template instanceof Layout layout) { |
106 |
1
1. fromRest : replaced return value with null for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::fromRest → KILLED |
return fromRestLayout(layout); |
107 |
2
1. fromRest : removed conditional - replaced equality check with false → KILLED 2. fromRest : removed conditional - replaced equality check with true → KILLED |
} else if (template instanceof Page page) { |
108 |
1
1. fromRest : replaced return value with null for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::fromRest → KILLED |
return fromRestPage(page); |
109 |
2
1. fromRest : removed conditional - replaced equality check with true → SURVIVED 2. fromRest : removed conditional - replaced equality check with false → KILLED |
} else if (template instanceof Partial partial) { |
110 |
1
1. fromRest : replaced return value with null for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::fromRest → KILLED |
return fromRestPartial(partial); |
111 | } else { | |
112 | throw new UnsupportedOperationException("Unknown template type: " + template.getClass().getName()); | |
113 | } | |
114 | } | |
115 | ||
116 | default String mapHandlerFromRest(EnumHandler handler) { | |
117 |
4
1. mapHandlerFromRest : removed conditional - replaced equality check with true → KILLED 2. mapHandlerFromRest : removed conditional - replaced equality check with false → KILLED 3. mapHandlerFromRest : removed conditional - replaced equality check with true → KILLED 4. mapHandlerFromRest : removed conditional - replaced equality check with false → KILLED |
if (handler == null |
118 | || handler == EnumHandler.UNKNOWN_DEFAULT_OPEN_API) { | |
119 |
1
1. mapHandlerFromRest : replaced return value with "" for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::mapHandlerFromRest → KILLED |
return null; |
120 | } | |
121 | ||
122 |
1
1. mapHandlerFromRest : replaced return value with "" for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::mapHandlerFromRest → KILLED |
return handler.getValue(); |
123 | } | |
124 | ||
125 | default EnumHandler mapHandlerToRest(String handlerName) { | |
126 | EnumHandler enumHandler = EnumHandler.fromValue(handlerName); | |
127 | ||
128 |
2
1. mapHandlerToRest : removed conditional - replaced equality check with false → KILLED 2. mapHandlerToRest : removed conditional - replaced equality check with true → KILLED |
if (enumHandler == EnumHandler.UNKNOWN_DEFAULT_OPEN_API) { |
129 | return null; | |
130 | } | |
131 | ||
132 |
1
1. mapHandlerToRest : replaced return value with null for com/fwmotion/threescale/cms/mappers/CmsTemplateMapper::mapHandlerToRest → KILLED |
return enumHandler; |
133 | } | |
134 | ||
135 | } | |
Mutations | ||
99 |
1.1 2.2 |
|
101 |
1.1 2.2 |
|
102 |
1.1 |
|
103 |
1.1 2.2 |
|
104 |
1.1 |
|
105 |
1.1 2.2 |
|
106 |
1.1 |
|
107 |
1.1 2.2 |
|
108 |
1.1 |
|
109 |
1.1 2.2 |
|
110 |
1.1 |
|
117 |
1.1 2.2 3.3 4.4 |
|
119 |
1.1 |
|
122 |
1.1 |
|
128 |
1.1 2.2 |
|
132 |
1.1 |