1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.kuali.student.lum.lrc.service.util;
18
19 import org.kuali.student.common.test.mock.data.AbstractMockServicesAwareDataLoader;
20 import org.kuali.student.r2.common.dto.ContextInfo;
21 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
22 import org.kuali.student.r2.common.util.RichTextHelper;
23 import org.kuali.student.r2.lum.lrc.dto.ResultValueInfo;
24 import org.kuali.student.r2.lum.lrc.dto.ResultValueRangeInfo;
25 import org.kuali.student.r2.lum.lrc.dto.ResultValuesGroupInfo;
26 import org.kuali.student.r2.lum.lrc.infc.ResultValueRange;
27 import org.kuali.student.r2.lum.lrc.service.LRCService;
28
29 import java.text.DateFormat;
30 import java.text.ParseException;
31 import java.text.SimpleDateFormat;
32 import java.util.Date;
33
34
35
36
37
38
39 public class MockLrcTestDataLoader {
40
41 private LRCService lrcService;
42 private static String principalId = MockLrcTestDataLoader.class.getSimpleName();
43
44 public LRCService getLrcService() {
45 return lrcService;
46 }
47
48 public void setLrcService(LRCService lrcService) {
49 this.lrcService = lrcService;
50 }
51
52 public MockLrcTestDataLoader(LRCService lrcService) {
53 this.lrcService = lrcService;
54 }
55
56 public void loadData() {
57 loadResultValueInfo("kuali.result.value.grade.completed.c", "Completed", "Completed", "kuali.result.scale.grade.completed", "2");
58 loadResultValueInfo("kuali.result.value.grade.completed.ip", "In-Progress", "In-Progress", "kuali.result.scale.grade.completed", "1");
59 loadResultValueInfo("kuali.result.value.grade.completed.nc", "Not-Completed", "Not-Completed", "kuali.result.scale.grade.completed", "0");
60
61 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.a+", "A+", "A+", "kuali.result.scale.grade.letter.plus.minus", "12");
62 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.a", "A", "A", "kuali.result.scale.grade.letter.plus.minus", "11");
63 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.a-", "A-", "A-", "kuali.result.scale.grade.letter.plus.minus", "10");
64 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.b+", "B+", "B+", "kuali.result.scale.grade.letter.plus.minus", "9");
65 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.b", "B", "B", "kuali.result.scale.grade.letter.plus.minus", "8");
66 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.b-", "B-", "B-", "kuali.result.scale.grade.letter.plus.minus", "7");
67 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.c+", "C+", "C+", "kuali.result.scale.grade.letter.plus.minus", "6");
68 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.c", "C", "C", "kuali.result.scale.grade.letter.plus.minus", "5");
69 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.c-", "C-", "C-", "kuali.result.scale.grade.letter.plus.minus", "4");
70 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.d+", "D+", "D+", "kuali.result.scale.grade.letter.plus.minus", "3");
71 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.d", "D", "D", "kuali.result.scale.grade.letter.plus.minus", "2");
72 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.d-", "D-", "D-", "kuali.result.scale.grade.letter.plus.minus", "1");
73 loadResultValueInfo("kuali.result.value.grade.letter.plus.minus.f", "F", "F", "kuali.result.scale.grade.letter.plus.minus", "0");
74
75 loadResultValuesGroupInfo("kuali.creditType.credit.degree.1.0", "kuali.result.values.group.type.fixed", "kuali.result.values.group.state.approved", "1 Credit", "1 Academic Credit", "kuali.result.scale.credit.degree", "1", "1");
76 loadResultValuesGroupInfo("kuali.creditType.credit.degree.2.0", "kuali.result.values.group.type.fixed", "kuali.result.values.group.state.approved", "1 Credit", "1 Academic Credit", "kuali.result.scale.credit.degree", "1", "1");
77 }
78
79 public void loadResultValuesGroupInfo(String id, String type, String state, String name, String description, String resultScaleKey, String maxValue, String minValue) {
80
81 ResultValuesGroupInfo info = new ResultValuesGroupInfo();
82 ResultValueRangeInfo resultValueRange = new ResultValueRangeInfo();
83 ContextInfo context = new ContextInfo();
84 context.setPrincipalId(principalId);
85 context.setCurrentDate(new Date());
86 info.setKey(id);
87 info.setTypeKey(type);
88 info.setStateKey(state);
89 info.setName(name);
90 info.setDescr(new RichTextHelper().fromPlain(description));
91 info.setResultScaleKey(resultScaleKey);
92 resultValueRange.setMaxValue(maxValue);
93 resultValueRange.setMinValue(minValue);
94 info.setResultValueRange(resultValueRange);
95 boolean dataExists = true;
96 try {
97 lrcService.deleteResultValuesGroup(id,context);
98
99 } catch (Exception e) {
100 dataExists = true;
101 }
102 try {
103 if (dataExists) {
104 lrcService.createResultValuesGroup(resultScaleKey, id, info, context);
105 }
106 } catch (Exception e) {
107 throw new RuntimeException("error assigning to services: "+e);
108 }
109 }
110
111 public void loadResultValueInfo(String id, String name, String description, String resultScaleKey, String numericValue){
112 loadResultValueInfo(id, "kuali.result.value.type.value", "kuali.result.value.state.approved", name, description, resultScaleKey, numericValue);
113 }
114
115 public void loadResultValueInfo(String id, String type, String state, String name, String description, String resultScaleKey, String numericValue) {
116 ContextInfo context = new ContextInfo();
117 context.setPrincipalId(principalId);
118 context.setCurrentDate(new Date());
119
120 try {
121 try {
122 lrcService.getResultValue(id, context);
123 } catch (DoesNotExistException dne) {
124
125 ResultValueInfo info = new ResultValueInfo();
126 info.setKey(id);
127 info.setTypeKey(type);
128 info.setStateKey(state);
129 info.setName(name);
130 info.setDescr(new RichTextHelper().fromPlain(description));
131 info.setResultScaleKey(resultScaleKey);
132 info.setNumericValue(numericValue);
133
134 lrcService.createResultValue(resultScaleKey, id, info, context);
135
136 }
137
138 } catch (Exception e) {
139 throw new RuntimeException("error assigning to services: "+e);
140 }
141 }
142
143 }