diff --git a/src/main/java/ru/nbch/indicsearchservice/aggregator/FileAggregatorCommon.java b/src/main/java/ru/nbch/indicsearchservice/aggregator/FileAggregatorCommon.java index 2e062ae..27fc4c0 100644 --- a/src/main/java/ru/nbch/indicsearchservice/aggregator/FileAggregatorCommon.java +++ b/src/main/java/ru/nbch/indicsearchservice/aggregator/FileAggregatorCommon.java @@ -68,7 +68,7 @@ public class FileAggregatorCommon { String ruUidLine; while ((ruUidLine = ruUidFileReader.readLine()) != null) { - List lineList = Arrays.asList(ruUidLine.split(";")); + List lineList = Arrays.asList(ruUidLine.split("%%%")); Optional foundMemberCode = IndicSearchCommon.getRowValue(lineList, "MEMBER_CODE"); if (foundMemberCode.isPresent() && !foundMemberCode.get().startsWith(memberCode)) { @@ -94,7 +94,7 @@ public class FileAggregatorCommon { continue; } - List childLineList = Arrays.asList(childLine.split(";")); + List childLineList = Arrays.asList(childLine.split("%%%")); Optional foundChildAccSerialNum = IndicSearchCommon.getRowValue(childLineList, "ACC_SERIAL_NUM"); if (foundChildAccSerialNum.isEmpty()) { throw new RuntimeException("ACC_SERIAL_NUM was not found!"); @@ -103,7 +103,7 @@ public class FileAggregatorCommon { if (ruUidSerialNum > childAccSerialNum) { while ((childLine = childReader.nextLine()) != null) { - childLineList = Arrays.asList(childLine.split(";")); + childLineList = Arrays.asList(childLine.split("%%%")); foundChildAccSerialNum = IndicSearchCommon.getRowValue(childLineList, "ACC_SERIAL_NUM"); if (foundChildAccSerialNum.isEmpty()) { throw new RuntimeException("ACC_SERIAL_NUM was not found!"); @@ -134,7 +134,7 @@ public class FileAggregatorCommon { } while ((childLine = childReader.nextLine()) != null) { - childLineList = Arrays.asList(childLine.split(";")); + childLineList = Arrays.asList(childLine.split("%%%")); foundChildAccSerialNum = IndicSearchCommon.getRowValue(childLineList, "ACC_SERIAL_NUM"); if (foundChildAccSerialNum.isEmpty()) { throw new RuntimeException("ACC_SERIAL_NUM was not found!"); @@ -172,7 +172,7 @@ public class FileAggregatorCommon { MovableBufferedReader blocksFileReader = new MovableBufferedReader(Files.newBufferedReader(tableFileMap.get(parentTableName + "_BLOCKS")))) { String parentLine; while ((parentLine = parentFileReader.readLine()) != null) { - List parentLineList = Arrays.asList(parentLine.split(";")); + List parentLineList = Arrays.asList(parentLine.split("%%%")); Optional foundMemberCode = IndicSearchCommon.getRowValue(parentLineList, "MEMBER_CODE"); if (foundMemberCode.isPresent() && !foundMemberCode.get().startsWith(memberCode)) { @@ -194,7 +194,7 @@ public class FileAggregatorCommon { continue; } - List childLineList = Arrays.asList(blocksLine.split(";")); + List childLineList = Arrays.asList(blocksLine.split("%%%")); Optional foundChildParentSerialNum = IndicSearchCommon.getRowValue(childLineList, "PARENT_SERIAL_NUM"); if (foundChildParentSerialNum.isEmpty()) { throw new RuntimeException("PARENT_SERIAL_NUM was not found!"); @@ -203,7 +203,7 @@ public class FileAggregatorCommon { if (parentSerialNum > blocksParentSerialNum) { while ((blocksLine = blocksFileReader.nextLine()) != null) { - childLineList = Arrays.asList(blocksLine.split(";")); + childLineList = Arrays.asList(blocksLine.split("%%%")); foundChildParentSerialNum = IndicSearchCommon.getRowValue(childLineList, "PARENT_SERIAL_NUM"); if (foundChildParentSerialNum.isEmpty()) { throw new RuntimeException("PARENT_SERIAL_NUM was not found!"); @@ -226,7 +226,7 @@ public class FileAggregatorCommon { rowCounter.increment(); while ((blocksLine = blocksFileReader.nextLine()) != null) { - childLineList = Arrays.asList(blocksLine.split(";")); + childLineList = Arrays.asList(blocksLine.split("%%%")); foundChildParentSerialNum = IndicSearchCommon.getRowValue(childLineList, "PARENT_SERIAL_NUM"); if (foundChildParentSerialNum.isEmpty()) { throw new RuntimeException("PARENT_SERIAL_NUM was not found!"); diff --git a/src/main/java/ru/nbch/indicsearchservice/exporter/ExcelExporter.java b/src/main/java/ru/nbch/indicsearchservice/exporter/ExcelExporter.java index 49634f1..4f12630 100644 --- a/src/main/java/ru/nbch/indicsearchservice/exporter/ExcelExporter.java +++ b/src/main/java/ru/nbch/indicsearchservice/exporter/ExcelExporter.java @@ -62,12 +62,12 @@ public class ExcelExporter implements Exporter { List rows = new ArrayList<>(); while (iterator.hasNext()) { String line = iterator.next(); - List lineList = Arrays.asList(line.split(";")); + List lineList = Arrays.asList(line.split("%%%")); log.info("Processing row: {} / {}", count++, totalRows); if (!isFirst && (FIRST_LEVEL_TABLES.contains(lineList.getFirst()) || line.equals("EOF"))) { - lastTableName = rows.getFirst().split(";")[0]; + lastTableName = rows.getFirst().split("%%%")[0]; writeToExcel(workbook, rows, sheetRowCounter, sheetTableCounter, headerCellStyle, cellStyle); if (lastTableName != null && !lastTableName.equals(lineList.getFirst())) { sheetRowCounter.setValue(0L); @@ -96,10 +96,10 @@ public class ExcelExporter implements Exporter { return; } - String parentTableName = rows.getFirst().split(";")[0]; + String parentTableName = rows.getFirst().split("%%%")[0]; Sheet tableSheet; - int rowsApproximateSize = rows.stream().mapToInt(r -> r.split(";", -1).length).sum(); + int rowsApproximateSize = rows.stream().mapToInt(r -> r.split("%%%", -1).length).sum(); if (sheetRowCounter.longValue() + (rowsApproximateSize * 2L) >= EXCEL_SHEET_MAX_SIZE) { tableSheet = createSheet(workbook, parentTableName.toUpperCase() + "_" + sheetTableCounter.incrementAndGet()); sheetRowCounter.setValue(0L); @@ -108,7 +108,7 @@ public class ExcelExporter implements Exporter { } for (String row : rows) { - List rowList = Arrays.asList(row.split(";", -1)); + List rowList = Arrays.asList(row.split("%%%", -1)); String tableName = rowList.getFirst(); List rowSublist = rowList.subList(1, rowList.size()); diff --git a/src/main/java/ru/nbch/indicsearchservice/exporter/JsonExporter.java b/src/main/java/ru/nbch/indicsearchservice/exporter/JsonExporter.java index 8776d12..2736530 100644 --- a/src/main/java/ru/nbch/indicsearchservice/exporter/JsonExporter.java +++ b/src/main/java/ru/nbch/indicsearchservice/exporter/JsonExporter.java @@ -48,7 +48,7 @@ public class JsonExporter implements Exporter { continue; } - List lineList = Arrays.asList(line.split(";", -1)); + List lineList = Arrays.asList(line.split("%%%", -1)); String tableName = lineList.getFirst(); if (!isFirst && (FIRST_LEVEL_TABLES.contains(tableName) || line.equals("EOF"))) { @@ -90,7 +90,7 @@ public class JsonExporter implements Exporter { } private TableData parseSingleRow(String row) { - String[] parts = row.split(";", -1); + String[] parts = row.split("%%%", -1); if (parts.length == 0 || parts[0].isEmpty()) { return null; diff --git a/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchCommon.java b/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchCommon.java index b0beaf0..d16969f 100644 --- a/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchCommon.java +++ b/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchCommon.java @@ -6,7 +6,7 @@ import java.util.Optional; public class IndicSearchCommon { public static Optional getRowValue(String string, String key) { - return getRowValue(Arrays.asList(string.split(";", -1)), key); + return getRowValue(Arrays.asList(string.split("%%%", -1)), key); } public static Optional getRowValue(List stringValues, String key) { diff --git a/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java b/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java index f3934e6..8ee152c 100644 --- a/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java +++ b/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java @@ -35,18 +35,18 @@ public class IndicSearchUtils { Cursor> cursor = mapperFunc.apply(fids)) { for (LinkedHashMap row : cursor) { StringBuilder sb = new StringBuilder(); - sb.append(tableName).append(";"); + sb.append(tableName).append("%%%"); for (Map.Entry entry : row.entrySet()) { String columnName = entry.getKey(); Object columnValue = entry.getValue(); - sb.append(columnName.toUpperCase()).append(";"); + sb.append(columnName.toUpperCase()).append("%%%"); if (columnValue != null) { - sb.append(columnValue).append(";"); + sb.append(columnValue).append("%%%"); } else { - sb.append(";"); + sb.append("%%%"); } }