1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
package org.kuali.student.lum.lo.service.impl; |
17 |
|
|
18 |
|
import java.util.ArrayList; |
19 |
|
import java.util.List; |
20 |
|
|
21 |
|
import org.kuali.student.common.dao.CrudDao; |
22 |
|
import org.kuali.student.common.exceptions.DoesNotExistException; |
23 |
|
import org.kuali.student.common.exceptions.InvalidParameterException; |
24 |
|
import org.kuali.student.common.exceptions.VersionMismatchException; |
25 |
|
import org.kuali.student.common.service.impl.BaseAssembler; |
26 |
|
import org.kuali.student.lum.lo.dao.LoDao; |
27 |
|
import org.kuali.student.lum.lo.dto.LoCategoryInfo; |
28 |
|
import org.kuali.student.lum.lo.dto.LoCategoryTypeInfo; |
29 |
|
import org.kuali.student.lum.lo.dto.LoInfo; |
30 |
|
import org.kuali.student.lum.lo.dto.LoLoRelationInfo; |
31 |
|
import org.kuali.student.lum.lo.dto.LoLoRelationTypeInfo; |
32 |
|
import org.kuali.student.lum.lo.dto.LoRepositoryInfo; |
33 |
|
import org.kuali.student.lum.lo.dto.LoTypeInfo; |
34 |
|
import org.kuali.student.lum.lo.entity.Lo; |
35 |
|
import org.kuali.student.lum.lo.entity.LoAttribute; |
36 |
|
import org.kuali.student.lum.lo.entity.LoCategory; |
37 |
|
import org.kuali.student.lum.lo.entity.LoCategoryAttribute; |
38 |
|
import org.kuali.student.lum.lo.entity.LoCategoryType; |
39 |
|
import org.kuali.student.lum.lo.entity.LoCategoryTypeAttribute; |
40 |
|
import org.kuali.student.lum.lo.entity.LoLoRelation; |
41 |
|
import org.kuali.student.lum.lo.entity.LoLoRelationAttribute; |
42 |
|
import org.kuali.student.lum.lo.entity.LoLoRelationType; |
43 |
|
import org.kuali.student.lum.lo.entity.LoRepository; |
44 |
|
import org.kuali.student.lum.lo.entity.LoRichText; |
45 |
|
import org.kuali.student.lum.lo.entity.LoType; |
46 |
|
import org.springframework.beans.BeanUtils; |
47 |
|
|
|
|
| 78.1% |
Uncovered Elements: 42 (192) |
Complexity: 39 |
Complexity Density: 0.28 |
|
48 |
|
public class LearningObjectiveServiceAssembler extends BaseAssembler { |
49 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
50 |
652
|
public static Lo toLo(boolean isUpdate, LoInfo dto, CrudDao dao) throws InvalidParameterException, DoesNotExistException, VersionMismatchException {... |
51 |
652
|
return toLo(isUpdate, new Lo(), dto, dao); |
52 |
|
} |
53 |
|
|
|
|
| 70.6% |
Uncovered Elements: 10 (34) |
Complexity: 7 |
Complexity Density: 0.32 |
|
54 |
674
|
public static Lo toLo(boolean isUpdate, Lo entity, LoInfo dto, CrudDao dao) throws InvalidParameterException, DoesNotExistException, VersionMismatchException {... |
55 |
674
|
if(null == dto) { |
56 |
0
|
return null; |
57 |
|
} |
58 |
674
|
Lo lo; |
59 |
|
|
60 |
674
|
if (isUpdate) { |
61 |
22
|
lo = dao.fetch(Lo.class, dto.getId()); |
62 |
22
|
if (lo == null) { |
63 |
0
|
throw new DoesNotExistException((new StringBuilder()).append("Lo does not exist for id: ").append(dto.getId()).toString()); |
64 |
|
} |
65 |
22
|
if ( ! String.valueOf(lo.getVersionNumber()).equals(dto.getMetaInfo().getVersionInd()) ) { |
66 |
0
|
throw new VersionMismatchException("Lo to be updated is not the current version"); |
67 |
|
} |
68 |
|
} else { |
69 |
652
|
lo = new Lo(); |
70 |
|
} |
71 |
|
|
72 |
674
|
BeanUtils.copyProperties(dto, lo, new String[] { "desc", "loRepository", "loType", "attributes", "metaInfo" }); |
73 |
|
|
74 |
674
|
lo.setAttributes(toGenericAttributes(LoAttribute.class, dto.getAttributes(), lo, dao)); |
75 |
674
|
lo.setDescr(toRichText(LoRichText.class, dto.getDesc())); |
76 |
|
|
77 |
674
|
LoRepository repository = dao.fetch(LoRepository.class, dto.getLoRepositoryKey()); |
78 |
674
|
if(null == repository) { |
79 |
0
|
throw new InvalidParameterException((new StringBuilder()).append("LoRepository does not exist for id: ").append(dto.getLoRepositoryKey()).toString()); |
80 |
|
} |
81 |
674
|
lo.setLoRepository(repository); |
82 |
|
|
83 |
674
|
LoType type = dao.fetch(LoType.class, dto.getType()); |
84 |
674
|
if(null == type) { |
85 |
0
|
throw new InvalidParameterException((new StringBuilder()).append("LoType does not exist for id: ").append(dto.getType()).toString()); |
86 |
|
} |
87 |
674
|
lo.setLoType(type); |
88 |
|
|
89 |
674
|
return lo; |
90 |
|
} |
91 |
|
|
|
|
| 90% |
Uncovered Elements: 1 (10) |
Complexity: 2 |
Complexity Density: 0.25 |
|
92 |
1073
|
public static LoInfo toLoInfo(Lo entity) {... |
93 |
1073
|
LoInfo dto = new LoInfo(); |
94 |
|
|
95 |
1073
|
BeanUtils.copyProperties(entity, dto, |
96 |
|
new String[] { "desc", "attributes", "type" }); |
97 |
1073
|
dto.setDesc(toRichTextInfo(entity.getDescr())); |
98 |
1073
|
dto.setMetaInfo(toMetaInfo(entity.getMeta(), entity.getVersionNumber())); |
99 |
1073
|
dto.setAttributes(toAttributeMap(entity.getAttributes())); |
100 |
1073
|
dto.setType(entity.getLoType().getId()); |
101 |
1073
|
dto.setLoRepositoryKey(entity.getLoRepository() == null? null: entity.getLoRepository().getId()); |
102 |
1073
|
return dto; |
103 |
|
} |
104 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
105 |
5
|
public static LoCategory toLoCategory(LoCategoryInfo dto, LoDao dao) throws InvalidParameterException, DoesNotExistException {... |
106 |
5
|
return toLoCategory(new LoCategory(), dto, dao); |
107 |
|
} |
108 |
|
|
|
|
| 80% |
Uncovered Elements: 2 (10) |
Complexity: 2 |
Complexity Density: 0.25 |
|
109 |
5
|
public static LoCategory toLoCategory(LoCategory entity, LoCategoryInfo dto, LoDao dao) throws InvalidParameterException, DoesNotExistException {... |
110 |
5
|
if(entity == null) |
111 |
0
|
entity = new LoCategory(); |
112 |
5
|
BeanUtils.copyProperties(dto, entity, |
113 |
|
new String[] { "desc", "attributes", "metaInfo", "loRepository", "type", "id"}); |
114 |
5
|
entity.setDesc(toRichText(LoRichText.class, dto.getDesc())); |
115 |
5
|
entity.setAttributes(toGenericAttributes(LoCategoryAttribute.class, dto.getAttributes(), entity, dao)); |
116 |
5
|
entity.setLoRepository(dao.fetch(LoRepository.class, dto.getLoRepository())); |
117 |
5
|
entity.setLoCategoryType(dao.fetch(LoCategoryType.class, dto.getType())); |
118 |
5
|
return entity; |
119 |
|
} |
120 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
|
121 |
800
|
public static LoCategoryInfo toLoCategoryInfo(LoCategory entity) {... |
122 |
800
|
LoCategoryInfo dto = new LoCategoryInfo(); |
123 |
|
|
124 |
800
|
BeanUtils.copyProperties(entity, dto, |
125 |
|
new String[] { "desc", "attributes", "loRepository", "loCategoryType" }); |
126 |
800
|
dto.setDesc(toRichTextInfo(entity.getDescr())); |
127 |
800
|
dto.setMetaInfo(toMetaInfo(entity.getMeta(), entity.getVersionNumber())); |
128 |
800
|
dto.setAttributes(toAttributeMap(entity.getAttributes())); |
129 |
800
|
dto.setLoRepository(entity.getLoRepository().getId()); |
130 |
800
|
dto.setType(entity.getLoCategoryType().getId()); |
131 |
|
|
132 |
800
|
return dto; |
133 |
|
} |
134 |
|
|
|
|
| 88.9% |
Uncovered Elements: 1 (9) |
Complexity: 2 |
Complexity Density: 0.29 |
|
135 |
4
|
public static LoRepositoryInfo toLoRepositoryInfo(LoRepository entity) {... |
136 |
4
|
LoRepositoryInfo dto = new LoRepositoryInfo(); |
137 |
|
|
138 |
4
|
BeanUtils.copyProperties(entity, dto, |
139 |
|
new String[] { "desc", "attributes", "rootLo" }); |
140 |
4
|
dto.setDesc(toRichTextInfo(entity.getDescr())); |
141 |
4
|
dto.setMetaInfo(toMetaInfo(entity.getMeta(), entity.getVersionNumber())); |
142 |
4
|
dto.setAttributes(toAttributeMap(entity.getAttributes())); |
143 |
4
|
dto.setRootLoId(entity.getRootLo() == null? null :entity.getRootLo().getId()); |
144 |
4
|
return dto; |
145 |
|
} |
146 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
147 |
4
|
public static LoTypeInfo toLoTypeInfo(LoType entity) {... |
148 |
4
|
LoTypeInfo dto = new LoTypeInfo(); |
149 |
|
|
150 |
4
|
BeanUtils.copyProperties(entity, dto, |
151 |
|
new String[] { "attributes" }); |
152 |
4
|
dto.setAttributes(toAttributeMap(entity.getAttributes())); |
153 |
4
|
return dto; |
154 |
|
} |
155 |
|
|
156 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
157 |
394
|
public static List<LoInfo> toLoInfos(List<Lo> los) {... |
158 |
394
|
List<LoInfo> list = new ArrayList<LoInfo>(); |
159 |
394
|
for (Lo lo : los) { |
160 |
314
|
list.add(toLoInfo(lo)); |
161 |
|
} |
162 |
394
|
return list; |
163 |
|
} |
164 |
|
|
|
|
| 75% |
Uncovered Elements: 2 (8) |
Complexity: 2 |
Complexity Density: 0.33 |
|
165 |
449
|
public static List<LoCategoryInfo> toLoCategoryInfos(List<LoCategory> categories) {... |
166 |
449
|
if (null == categories) { |
167 |
0
|
return new ArrayList<LoCategoryInfo>(0); |
168 |
|
} |
169 |
449
|
List<LoCategoryInfo> list = new ArrayList<LoCategoryInfo>(categories.size()); |
170 |
449
|
for (LoCategory loCategory : categories) { |
171 |
791
|
list.add(toLoCategoryInfo(loCategory)); |
172 |
|
} |
173 |
449
|
return list; |
174 |
|
} |
175 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
176 |
1
|
public static List<LoRepositoryInfo> toLoRepositoryInfos(List<LoRepository> repositories) {... |
177 |
1
|
List<LoRepositoryInfo> list = new ArrayList<LoRepositoryInfo>(); |
178 |
1
|
for (LoRepository loRepository : repositories) { |
179 |
3
|
list.add(toLoRepositoryInfo(loRepository)); |
180 |
|
} |
181 |
1
|
return list; |
182 |
|
} |
183 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
184 |
1
|
public static List<LoTypeInfo> toLoTypeInfos(List<LoType> find) {... |
185 |
1
|
List<LoTypeInfo> list = new ArrayList<LoTypeInfo>(); |
186 |
1
|
for (LoType loType : find) { |
187 |
2
|
list.add(toLoTypeInfo(loType)); |
188 |
|
} |
189 |
1
|
return list; |
190 |
|
} |
191 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
192 |
1
|
public static List<LoLoRelationTypeInfo> toLoLoRelationTypeInfos(List<LoLoRelationType> find) {... |
193 |
1
|
List<LoLoRelationTypeInfo> list = new ArrayList<LoLoRelationTypeInfo>(); |
194 |
1
|
for (LoLoRelationType loType : find) { |
195 |
2
|
list.add(toLoLoRelationTypeInfo(loType)); |
196 |
|
} |
197 |
1
|
return list; |
198 |
|
} |
199 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
200 |
3
|
public static LoLoRelationTypeInfo toLoLoRelationTypeInfo(LoLoRelationType loLoRelType) {... |
201 |
3
|
LoLoRelationTypeInfo dto = new LoLoRelationTypeInfo(); |
202 |
3
|
BeanUtils.copyProperties(loLoRelType, dto, |
203 |
|
new String[] { "attributes" }); |
204 |
3
|
dto.setAttributes(toAttributeMap(loLoRelType.getAttributes())); |
205 |
3
|
return dto; |
206 |
|
} |
207 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
208 |
554
|
public static LoLoRelation toLoLoRelation(boolean isUpdate, LoLoRelationInfo dto, CrudDao dao) throws DoesNotExistException, VersionMismatchException, InvalidParameterException {... |
209 |
554
|
return toLoLoRelation(isUpdate, null, dto, dao); |
210 |
|
} |
211 |
|
|
|
|
| 52.8% |
Uncovered Elements: 17 (36) |
Complexity: 8 |
Complexity Density: 0.33 |
|
212 |
554
|
public static LoLoRelation toLoLoRelation(boolean isUpdate, LoLoRelation entity, LoLoRelationInfo dto, CrudDao dao) throws DoesNotExistException, VersionMismatchException, InvalidParameterException {... |
213 |
554
|
if(null == dto) { |
214 |
0
|
return null; |
215 |
|
} |
216 |
554
|
LoLoRelation llRelation; |
217 |
|
|
218 |
554
|
if (isUpdate) { |
219 |
0
|
llRelation = dao.fetch(LoLoRelation.class, dto.getId()); |
220 |
0
|
if (llRelation == null) { |
221 |
0
|
throw new DoesNotExistException((new StringBuilder()).append("LoLoRelation does not exist for id: ").append(dto.getId()).toString()); |
222 |
|
} |
223 |
0
|
if ( ! String.valueOf(llRelation.getVersionNumber()).equals(dto.getMetaInfo().getVersionInd()) ) { |
224 |
0
|
throw new VersionMismatchException("LoLoRelation to be updated is not the current version"); |
225 |
|
} |
226 |
|
} else { |
227 |
554
|
llRelation = new LoLoRelation(); |
228 |
|
} |
229 |
|
|
230 |
554
|
BeanUtils.copyProperties(dto, llRelation, new String[] { "lo", "relatedLo", "attributes", "metaInfo" }); |
231 |
|
|
232 |
554
|
llRelation.setAttributes(toGenericAttributes(LoLoRelationAttribute.class, dto.getAttributes(), llRelation, dao)); |
233 |
|
|
234 |
554
|
Lo lo = null; |
235 |
554
|
Lo relatedLo = null; |
236 |
554
|
LoLoRelationType relationType = null; |
237 |
554
|
try { |
238 |
554
|
lo = dao.fetch(Lo.class, dto.getLoId()); |
239 |
554
|
relatedLo = dao.fetch(Lo.class, dto.getRelatedLoId()); |
240 |
554
|
relationType = dao.fetch(LoLoRelationType.class, dto.getType()); |
241 |
|
} catch (DoesNotExistException dnee) { |
242 |
0
|
throw new DoesNotExistException((null == lo ? "Lo" : (null == relatedLo ? "Related Lo" : "Lo-Lo relation type")) + |
243 |
|
" does not exist when creating LoLoRelation", dnee); |
244 |
|
} |
245 |
|
|
246 |
554
|
llRelation.setLo(lo); |
247 |
554
|
llRelation.setRelatedLo(relatedLo); |
248 |
554
|
llRelation.setLoLoRelationType(relationType); |
249 |
|
|
250 |
554
|
return llRelation; |
251 |
|
} |
252 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
|
253 |
623
|
public static LoLoRelationInfo toLoLoRelationInfo(LoLoRelation entity) {... |
254 |
623
|
LoLoRelationInfo dto = new LoLoRelationInfo(); |
255 |
|
|
256 |
623
|
BeanUtils.copyProperties(entity, dto, |
257 |
|
new String[] { "lo", "relatedLo", "type", "attributes" }); |
258 |
623
|
dto.setLoId(entity.getLo().getId()); |
259 |
623
|
dto.setRelatedLoId(entity.getRelatedLo().getId()); |
260 |
623
|
dto.setType(entity.getLoLoRelationType().getId()); |
261 |
623
|
dto.setMetaInfo(toMetaInfo(entity.getMeta(), entity.getVersionNumber())); |
262 |
623
|
dto.setAttributes(toAttributeMap(entity.getAttributes())); |
263 |
623
|
return dto; |
264 |
|
} |
265 |
|
|
|
|
| 0% |
Uncovered Elements: 8 (8) |
Complexity: 2 |
Complexity Density: 0.33 |
|
266 |
0
|
public static LoCategoryType toLoCategoryType(LoCategoryType entity, LoCategoryTypeInfo dto, LoDao dao) throws InvalidParameterException {... |
267 |
0
|
if(entity == null) |
268 |
0
|
entity = new LoCategoryType(); |
269 |
0
|
BeanUtils.copyProperties(dto, entity, |
270 |
|
new String[] { "attributes", "metaInfo" }); |
271 |
0
|
entity.setAttributes(toGenericAttributes(LoCategoryTypeAttribute.class, dto.getAttributes(), entity, dao)); |
272 |
0
|
entity.setDescr(dto.getDesc()); |
273 |
0
|
return entity; |
274 |
|
} |
275 |
|
|
276 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
277 |
3
|
public static LoCategoryTypeInfo toLoCategoryTypeInfo( LoCategoryType loCatType) {... |
278 |
3
|
LoCategoryTypeInfo dto = new LoCategoryTypeInfo(); |
279 |
3
|
BeanUtils.copyProperties(loCatType, dto, new String[] { "attributes" }); |
280 |
3
|
dto.setAttributes(toAttributeMap(loCatType.getAttributes())); |
281 |
3
|
dto.setDesc(loCatType.getDescr()); |
282 |
3
|
return dto; |
283 |
|
} |
284 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
285 |
1
|
public static List<LoCategoryTypeInfo> toLoCategoryTypeInfos(List<LoCategoryType> categoryTypes) {... |
286 |
1
|
ArrayList<LoCategoryTypeInfo> list = new ArrayList<LoCategoryTypeInfo>(); |
287 |
1
|
for (LoCategoryType catType : categoryTypes) { |
288 |
3
|
list.add(toLoCategoryTypeInfo(catType)); |
289 |
|
} |
290 |
1
|
return list; |
291 |
|
} |
292 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
293 |
52
|
public static List<LoLoRelationInfo> toLoLoRelationInfos( List<LoLoRelation> llRelations) {... |
294 |
52
|
List<LoLoRelationInfo> llRelInfos = new ArrayList<LoLoRelationInfo>(); |
295 |
52
|
for (LoLoRelation llRelation : llRelations) { |
296 |
66
|
llRelInfos.add(toLoLoRelationInfo(llRelation)); |
297 |
|
} |
298 |
52
|
return llRelInfos; |
299 |
|
} |
300 |
|
} |