Newer
Older
import org.apache.poi.ss.usermodel.Color;
import org.apache.poi.xssf.usermodel.XSSFColor;
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class LihControlParser extends SubjectParser {
@Override
protected String parseScreeningNumber(Row row) {
String number = getString(row.getCell(0));
if (number.trim().isEmpty()) {
return "";
} else {
return "L-" + number;
}
}
@Override
protected String parseName(Row row) {
return getString(row.getCell(2));
}
@Override
protected String parseSurname(Row row) {
return getString(row.getCell(1));
}
@Override
protected String parseNdNumber(Row row) {
return "";
}
@Override
protected String getSheetName() {
return "Screening log";
}
@Override
protected int getInitRow() {
return 1;
}
@Override
protected String parseBirthDate(Row row) {
}
@Override
protected String parsemPowerId(Row row) {
return "";
}
private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd");
@Override
protected String parseAddDate(Row row) {
return DATE_FORMATTER.format(Calendar.getInstance().getTime());
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
}
@Override
protected String parseReferal(Row row) {
return "";
}
@Override
protected String parseDiagnosisYear(Row row) {
return "";
}
@Override
protected String parseMail(Row row) {
return getString(row.getCell(8));
}
@Override
protected String parsePhone3(Row row) {
return "";
}
@Override
protected String parsePhone2(Row row) {
return getString(row.getCell(7));
}
@Override
protected String parsePhone1(Row row) {
return getString(row.getCell(6));
}
@Override
protected String parseCity(Row row) {
return getString(row.getCell(12));
}
@Override
protected String parseCountry(Row row) {
String zipCode = parseZipCode(row);
if (zipCode!=null) {
if (zipCode.startsWith("L")) {
return "Luxembourg";
} else if (zipCode.startsWith("D")){
} else if (zipCode.startsWith("F")){
return "France";
} else if (zipCode.startsWith("B")){
return "Belgium";
}
}
return "";
}
@Override
protected String parseZipCode(Row row) {
return getString(row.getCell(11));
}
@Override
protected String parseAddress(Row row) {
return getString(row.getCell(9)) + ", " + getString(row.getCell(10));
}
@Override
protected String parseRemarks(Row row) {
List<String> remarks = new ArrayList<>();
String info = getString(row.getCell(4));
if (!info.trim().isEmpty()) {
remarks.add("PD family relation=" + info);
}
remarks.add(getString(row.getCell(13)));
remarks.add(getComments(row.getCell(14)));
remarks.add(getComments(row.getCell(15)));
remarks.add(getComments(row.getCell(16)));
remarks.add("Inclusion="+getString(row.getCell(17)));
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
remarks.add(getString(row.getCell(18)));
remarks.add(getString(row.getCell(19)));
String result = "";
for (String string : remarks) {
if (!string.trim().isEmpty()) {
result += string.trim() + "\n";
}
}
return result;
}
@Override
protected String parseDiagnosis(Row row) {
return "";
}
@Override
protected SubjectType parseType(Row row) {
return SubjectType.CONTROL;
}
@Override
protected List<String> parseLanguages(Row row) {
List<String> result = new ArrayList<>();
String languages = getString(row.getCell(3));
String langAbbreviations[] = new String[] {};
if (languages.indexOf(",") >= 0) {
langAbbreviations = languages.split(",");
} else {
langAbbreviations = languages.split("/");
}
for (String string : langAbbreviations) {
if (!string.trim().isEmpty()) {
result.add(getMappedLanguage(string.trim()));
}
}
return result;
}
protected String getMappedLanguage(String abbreviation) {
switch (abbreviation.toUpperCase()) {
case ("F"):
return "French";
case ("D"):
return "German";
case ("A"):
return "German";
case ("E"):
return "Spanish";
case ("ALL"):
return "German";
case ("GB"):
return "English";
case ("P"):
return "Portuguese";
case ("FR"):
return "French";
case ("L"):
return "Luxembourgish";
case ("LUX"):
return "Luxembourgish";
}
logger.warn("Unknown language abbreviation: " + abbreviation);
return "";
}
@Override
protected String parseToBeSeenAt(Row row) {
return "L";
}
@Override
protected boolean parseDead(Row row) {
return false;
}
@Override
protected boolean parsePostponed(Row row) {
Color color = row.getCell(0).getCellStyle().getFillForegroundColorColor();
if (color == null) {
return false;
}
XSSFColor c = (XSSFColor) color;
String colorString = c.getARGBHex().substring(2);
switch (colorString) {
case ("FFC000"):// orange
return false;
case ("FFFF00"):// yellow
return false;
case ("FF0000"):// red
return false;
case ("FF3399"):// pink
return true;
case ("00B050"):// green
return false;
}
throw new RuntimeException(parseName(row) + " " + parseSurname(row) + ": Unknown color: " + colorString);
}
@Override
protected boolean parseResigned(Row row) {
Color color = row.getCell(0).getCellStyle().getFillForegroundColorColor();
if (color == null) {
return false;
}
XSSFColor c = (XSSFColor) color;
String colorString = c.getARGBHex().substring(2);
switch (colorString) {
case ("FFC000"):// orange
return false;
case ("FFFF00"):// yellow
return false;
case ("FF0000"):// red
return true;
case ("FF3399"):// pink
return false;
case ("00B050"):// green
return false;
}
throw new RuntimeException(parseName(row) + " " + parseSurname(row) + ": Unknown color: " + colorString);