swt-importer улучшил логи, добавил юнит тест
This commit is contained in:
parent
21ec74df69
commit
9507dc10be
6 changed files with 70 additions and 7 deletions
|
|
@ -62,7 +62,7 @@ public class ImportToDB extends Stage {
|
|||
do {
|
||||
ValidationResult result = swtReader.readGroupRecords();
|
||||
if (!SUCSESS.equals(result)) {
|
||||
log.debug("reading error: {}.", result.message());
|
||||
log.warn("reading error: {}.", result.message());
|
||||
return StageResult.ERROR;
|
||||
}
|
||||
List<SWTRecord> records = swtReader.getGroupRecords();
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ public abstract class AbstractTemplate {
|
|||
protected Logger log = LoggerFactory.getLogger(getClass());
|
||||
protected Scanner scanner;
|
||||
protected boolean readEnded;
|
||||
protected long lineNumber;
|
||||
|
||||
protected abstract List<SWTRecord> getGroupRecords();
|
||||
|
||||
|
|
@ -31,6 +32,7 @@ public abstract class AbstractTemplate {
|
|||
public AbstractTemplate(Scanner scanner) {
|
||||
this.scanner = scanner;
|
||||
this.readEnded = false;
|
||||
this.lineNumber = 0;
|
||||
}
|
||||
|
||||
protected ValidationResult checkNotValue(String line, String errMes) {
|
||||
|
|
@ -44,10 +46,11 @@ public abstract class AbstractTemplate {
|
|||
|
||||
protected ValidationResult prepareNextLine(Consumer<String> lineSetter) {
|
||||
while (scanner.hasNextLine()) {
|
||||
lineNumber++;
|
||||
lineSetter.accept(scanner.nextLine());
|
||||
return SUCSESS;
|
||||
}
|
||||
return new ValidationResult("Bud file format.");
|
||||
return new ValidationResult("Line "+ lineNumber+" Bad file format. Unexpected EOF.");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ public class SDf20Template extends AbstractTemplate {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
result = checkNotValue(line, "required teg: " + currentPattern.name() + ", but was: ");
|
||||
result = checkNotValue(line, "Line " + lineNumber + "required teg: " + currentPattern.name() + ", but was: ");
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
result = prepareNextLine(this::setLine);
|
||||
if (!SUCSESS.equals(result)) {
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public class SDf21Template extends AbstractTemplate {
|
|||
result = prepareNextLine(this::setLine);
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
} else {
|
||||
result = checkNotValue(line, "required teg: " + currentPattern.name() + ", but was: ");
|
||||
result = checkNotValue(line, "Line " + lineNumber + " required teg: " + currentPattern.name() + ", but was: ");
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
result = prepareNextLine(this::setLine);
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
|
|
@ -105,7 +105,7 @@ public class SDf21Template extends AbstractTemplate {
|
|||
result = prepareNextLine(this::setLine);
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
} else {
|
||||
result = checkNotValue(line, "required teg: " + currentPattern.name() + ", but was: ");
|
||||
result = checkNotValue(line, "Line " + lineNumber + " required teg: " + currentPattern.name() + ", but was: ");
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
result = prepareNextLine(this::setLine);
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
|
|
@ -126,7 +126,7 @@ public class SDf21Template extends AbstractTemplate {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
result = checkNotValue(line, "required teg: " + currentPattern.name() + ", but was: ");
|
||||
result = checkNotValue(line, "Line " + lineNumber + " required teg: " + currentPattern.name() + ", but was: ");
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
result = prepareNextLine(this::setLine);
|
||||
if (!SUCSESS.equals(result)) return result;
|
||||
|
|
|
|||
|
|
@ -100,7 +100,22 @@ class ImportToDBTest {
|
|||
importToDB.process(resultContainer);
|
||||
Imdg<SDf21> df21Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf21, SDf21.class);
|
||||
Collection<SDf21> values = df21Imdg.getAllValues();
|
||||
Assertions.assertEquals(7, values.size());
|
||||
Assertions.assertEquals(13, values.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_21_2() throws IOException {
|
||||
ETable eTable = ETable.S_DF_21;
|
||||
{
|
||||
File swtFile = new File("src/test/resources/input", "RDC_KS_DF-21_230912125920333.txt");
|
||||
ResultContainer resultContainer = createNewTask(eTable, swtFile);
|
||||
resultContainer.setSwtSource(Files.readAllBytes(Paths.get(swtFile.getAbsolutePath())));
|
||||
|
||||
importToDB.process(resultContainer);
|
||||
Imdg<SDf21> df21Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf21, SDf21.class);
|
||||
Collection<SDf21> values = df21Imdg.getAllValues();
|
||||
Assertions.assertEquals(3, values.size());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
To:SPCE
|
||||
From:CSO
|
||||
Type:572
|
||||
Date/Time:20230912/1259
|
||||
:20:SDC230912125920
|
||||
:21:NONREF
|
||||
:18A:2
|
||||
:35B:ISIN SU26238RMFS4:Ìèíôèí Ðîññèè:îáëèãàöèè
|
||||
:60A:SHS0,
|
||||
:83D:700988887ZT0:Áàíê Ðîññèè:òåõíè÷åñêèé ñ÷åò
|
||||
:18A:2
|
||||
:20C:Ïîðó÷. SPCEX_20230912_1
|
||||
:35A:SHS230,
|
||||
:23:253
|
||||
:66A:RECFREE
|
||||
:87D:
|
||||
:30:20230912
|
||||
1
|
||||
2
|
||||
:20C:Ïîðó÷åíèå 6520536 îò 2023-09-12
|
||||
:35A:SHS120,
|
||||
:23:255
|
||||
:66A:DELFREE
|
||||
:87D:747200000AT0
|
||||
:30:20230912
|
||||
2
|
||||
2
|
||||
:62A:SHS110,
|
||||
1
|
||||
2
|
||||
:35B:ISIN SU26238RMFS4:Ìèíôèí Ðîññèè:îáëèãàöèè
|
||||
:60A:SHS0,
|
||||
:83D:747200000AT0:ÏÀÎ "Ïðîìñâÿçüáàíê":ðàçäåë îñíîâíîé äëÿ ðàñ÷åòîâ (êëèåíòñêèå ÖÁ)
|
||||
:18A:1
|
||||
:20C:Ïîðó÷åíèå 6520536 îò 2023-09-12
|
||||
:35A:SHS120,
|
||||
:23:255
|
||||
:66A:RECFREE
|
||||
:87D:700988887ZT0
|
||||
:30:20230912
|
||||
1
|
||||
1
|
||||
:62A:SHS120,
|
||||
2
|
||||
2
|
||||
Loading…
Add table
Reference in a new issue