Skip to content

Package: MultilingualStringInstanceBuilder

MultilingualStringInstanceBuilder

nameinstructionbranchcomplexitylinemethod
MultilingualStringInstanceBuilder(CloneBuilderImpl, UnitOfWorkImpl)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
buildClone(Object, Field, Object, CloneConfiguration)
M: 4 C: 31
89%
M: 1 C: 5
83%
M: 1 C: 3
75%
M: 0 C: 7
100%
M: 0 C: 1
100%
mergeChanges(Field, Object, Object, Object)
M: 0 C: 23
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
populatesAttributes()
M: 0 C: 2
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
static {...}
M: 0 C: 1
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package cz.cvut.kbss.jopa.sessions;
2:
3: import cz.cvut.kbss.jopa.adapters.IndirectMultilingualString;
4: import cz.cvut.kbss.jopa.model.MultilingualString;
5: import cz.cvut.kbss.jopa.utils.EntityPropertiesUtils;
6:
7: import java.lang.reflect.Field;
8:
9: class MultilingualStringInstanceBuilder extends AbstractInstanceBuilder {
10:
11: MultilingualStringInstanceBuilder(CloneBuilderImpl builder, UnitOfWorkImpl uow) {
12: super(builder, uow);
13: }
14:
15: @Override
16: Object buildClone(Object cloneOwner, Field field, Object original, CloneConfiguration cloneConfiguration) {
17:• if (original == null) {
18: return null;
19: }
20:• assert original instanceof MultilingualString;
21: MultilingualString orig = (MultilingualString) original;
22:• if (orig instanceof IndirectMultilingualString) {
23: orig = ((IndirectMultilingualString) orig).unwrap();
24: }
25: return new IndirectMultilingualString(cloneOwner, field, uow, new MultilingualString(orig.getValue()));
26: }
27:
28: @Override
29: void mergeChanges(Field field, Object target, Object originalValue, Object cloneValue) {
30: MultilingualString clone = (MultilingualString) cloneValue;
31:• if (clone instanceof IndirectMultilingualString) {
32: clone = ((IndirectMultilingualString) clone).unwrap();
33: }
34:• EntityPropertiesUtils
35: .setFieldValue(field, target, clone != null ? new MultilingualString(clone.getValue()) : null);
36: }
37:
38: @Override
39: boolean populatesAttributes() {
40: return true;
41: }
42: }